> mcp:setup-codemap-cli

Guide for setup Codemap CLI for intelligent codebase visualization and navigation

fetch
$curl "https://skillshub.wtf/NeoLabHQ/context-engineering-kit/setup-codemap-cli?format=md"
SKILL.mdmcp:setup-codemap-cli

User Input:

$ARGUMENTS

Guide for setup Codemap CLI

1. Determine setup context

Ask the user where they want to store the configuration:

Options:

  1. Project level (shared via git) - Configuration tracked in version control, shared with team

    • CLAUDE.md updates go to: ./CLAUDE.md
    • Hook settings go to: ./.claude/settings.json
  2. Project level (personal preferences) - Configuration stays local, not tracked in git

    • CLAUDE.md updates go to: ./CLAUDE.local.md
    • Hook settings go to: ./.claude/settings.local.json
    • Verify these files are listed in .gitignore, add them if not
  3. User level (global) - Configuration applies to all projects for this user

    • CLAUDE.md updates go to: ~/.claude/CLAUDE.md
    • Hook settings go to: ~/.claude/settings.json

Store the user's choice and use the appropriate paths in subsequent steps.

2. Check if Codemap is already installed

Check whether codemap is installed by running codemap -help.

If not installed, proceed with setup.

3. Load Codemap documentation

Read the following documentation to understand Codemap's capabilities:

4. Guide user through installation

macOS/Linux (Homebrew)

brew tap JordanCoin/tap && brew install codemap

Windows (Scoop)

scoop bucket add codemap https://github.com/JordanCoin/scoop-codemap
scoop install codemap

5. Verify installation

After installation, verify codemap works:

codemap .

6. Update CLAUDE.md file

Use the path determined in step 1. Once Codemap is successfully installed, update the appropriate CLAUDE.md file with the following content:

## Use Codemap CLI for Codebase Navigation

Codemap CLI is available for intelligent codebase visualization and navigation.

**Required Usage** - You MUST use `codemap --diff --ref master` to research changes different from default branch, and `git diff` + `git status` to research current working state.

### Quick Start

```bash
codemap .                    # Project tree
codemap --only swift .       # Just Swift files
codemap --exclude .xcassets,Fonts,.png .  # Hide assets
codemap --depth 2 .          # Limit depth
codemap --diff               # What changed vs main
codemap --deps .             # Dependency flow

Options

FlagDescription
--depth, -d <n>Limit tree depth (0 = unlimited)
--only <exts>Only show files with these extensions
--exclude <patterns>Exclude files matching patterns
--diffShow files changed vs main branch
--ref <branch>Branch to compare against (with --diff)
--depsDependency flow mode
--importers <file>Check who imports a file
--skylineCity skyline visualization
--jsonOutput JSON

Smart pattern matching - no quotes needed:

  • .png - any .png file
  • Fonts - any /Fonts/ directory
  • *Test* - glob pattern

Diff Mode

See what you're working on:

codemap --diff
codemap --diff --ref develop

if the default branch is not `main`, but instead `master` (or something else) update content accordingly:
 - use `codemap --diff --ref master` instead of regular `codemap --diff`


## 7. Update .gitignore file

Update .gitignore file to include `.codemap/` directory:

```text
.codemap/

8. Test Codemap

Run a quick test to verify everything works:

codemap .
codemap --diff

9. Add hooks to settings file

  • Use the settings path determined in step 1. Create the settings file if it doesn't exist and add the following content:

    {
        "hooks": {
            "session-start": "codemap hook session-start && echo 'git diff:' && git diff --stat && echo 'git status:' && git status"
        }
    }
    

    if default branch is not main, but instead master (or something else) update content accordingly:

    • use codemap hook session-start --ref=master instead of regular codemap hook session-start
    • For rest of commands also add --ref=master flag.
  • Ask user whether he want to add any other hooks and provide list of options with descriptions. Add hooks that he asks for.

Available Hooks

CommandTriggerDescription
codemap hook session-startSessionStartFull tree, hubs, branch diff, last session context
codemap hook pre-editPreToolUse (Edit|Write)Who imports file + what hubs it imports
codemap hook post-editPostToolUse (Edit|Write)Impact of changes (same as pre-edit)
codemap hook prompt-submitUserPromptSubmitHub context for mentioned files + session progress
codemap hook pre-compactPreCompactSaves hub state to .codemap/hubs.txt
codemap hook session-stopSessionEndEdit timeline with line counts and stats

Example of file with full hooks configuration

{
  "hooks": {
    "SessionStart": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "codemap hook session-start"
          }
        ]
      }
    ],
    "PreToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "codemap hook pre-edit"
          }
        ]
      }
    ],
    "PostToolUse": [
      {
        "matcher": "Edit|Write",
        "hooks": [
          {
            "type": "command",
            "command": "codemap hook post-edit"
          }
        ]
      }
    ],
    "UserPromptSubmit": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "codemap hook prompt-submit"
          }
        ]
      }
    ],
    "PreCompact": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "codemap hook pre-compact"
          }
        ]
      }
    ],
    "SessionEnd": [
      {
        "hooks": [
          {
            "type": "command",
            "command": "codemap hook session-stop"
          }
        ]
      }
    ]
  }
}

┌ stats

installs/wk0
░░░░░░░░░░
github stars695
██████████
first seenMar 23, 2026
└────────────

┌ repo

NeoLabHQ/context-engineering-kit
by NeoLabHQ
└────────────