Setup Codemap Cli

NeoLabHQ/context-engineering-kit/plugins/mcp/skills/setup-codemap-cli

by NeoLabHQ23e2428e809d77717f8acc9659c374a3a1fcb93eNo licenseListed Oct 9, 2026Updated Oct 9, 2026

Guide for setup Codemap CLI for intelligent codebase visualization and navigation

AI-generated overview

Guides installation and configuration of the Codemap CLI for codebase visualization and navigation.

What it does
This skill walks an agent through setting up the Codemap CLI, a tool for visualizing and navigating codebases. It helps choose where configuration lives, checks whether codemap is installed, loads Codemap documentation, and guides installation via Homebrew or Scoop. It then updates CLAUDE.md and .gitignore, verifies the tool runs, and adds optional session hooks to a settings file.
When to use it
Use it when a user wants to install or configure the Codemap CLI in a project or user-level environment. It suits requests to set up codebase navigation tooling, add Codemap hooks, or document Codemap usage for an agent.
Requirements
Requires the Codemap CLI (installed via Homebrew on macOS/Linux or Scoop on Windows), network access to fetch Codemap documentation, and permission to edit CLAUDE.md, .gitignore, and Claude settings files. It ships no scripts; it is instructions only.

User Input:

text
$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)

bash
brew tap JordanCoin/tap && brew install codemap

Windows (Scoop)

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

5. Verify installation

After installation, verify codemap works:

bash
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:

markdown
## 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
```bashcodemap .                    # Project treecodemap --only swift .       # Just Swift filescodemap --exclude .xcassets,Fonts,.png .  # Hide assetscodemap --depth 2 .          # Limit depthcodemap --diff               # What changed vs maincodemap --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:

bash
codemap --diffcodemap --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:

bash
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:

    json
    {    "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

json
{  "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"          }        ]      }    ]  }}

Source and attribution

Source:NeoLabHQ/context-engineering-kitinplugins/mcp/skills/setup-codemap-cliat commit23e2428

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal