Context-engineering-kit mcp:setup-codemap-cli
Guide for setup Codemap CLI for intelligent codebase visualization and navigation
git clone https://github.com/NeoLabHQ/context-engineering-kit
T=$(mktemp -d) && git clone --depth=1 https://github.com/NeoLabHQ/context-engineering-kit "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/mcp/skills/setup-codemap-cli" ~/.claude/skills/neolabhq-context-engineering-kit-mcp-setup-codemap-cli && rm -rf "$T"
plugins/mcp/skills/setup-codemap-cli/SKILL.mdUser Input:
$ARGUMENTS
Guide for setup Codemap CLI
1. Determine setup context
Ask the user where they want to store the configuration:
Options:
-
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
- CLAUDE.md updates go to:
-
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
, add them if not.gitignore
- CLAUDE.md updates go to:
-
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
- CLAUDE.md updates go to:
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:
- Load https://raw.githubusercontent.com/JordanCoin/codemap/refs/heads/main/README.md to understand what Codemap is and its 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
| Flag | Description |
|---|---|
| Limit tree depth (0 = unlimited) |
| Only show files with these extensions |
| Exclude files matching patterns |
| Show files changed vs main branch |
| Branch to compare against (with --diff) |
| Dependency flow mode |
| Check who imports a file |
| City skyline visualization |
| Output JSON |
Smart pattern matching - no quotes needed:
- any.png
file.png
- anyFonts
directory/Fonts/
- glob pattern*Test*
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
, but insteadmain
(or something else) update content accordingly:master- use
instead of regularcodemap hook session-start --ref=mastercodemap hook session-start - For rest of commands also add
flag.--ref=master
- use
-
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
| Command | Trigger | Description |
|---|---|---|
| SessionStart | Full tree, hubs, branch diff, last session context |
| PreToolUse (Edit|Write) | Who imports file + what hubs it imports |
| PostToolUse (Edit|Write) | Impact of changes (same as pre-edit) |
| UserPromptSubmit | Hub context for mentioned files + session progress |
| PreCompact | Saves hub state to .codemap/hubs.txt |
| SessionEnd | Edit 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" } ] } ] } }