Skip to content
Development
Skill

/setup-codemap-cli

Guide for setup Codemap CLI for intelligent codebase visualization and navigation

From plugin
context-engineering-kit
1.8k68 skills21 agents1 command

Claude Code

$ npx -y skills add NeoLabHQ/context-engineering-kit --skill setup-codemap-cli --agent claude-code

SKILL.md

setup-codemap-cli.SKILL.md
name: setup-codemap-cli
description: Guide for setup Codemap CLI for intelligent codebase visualization and navigation

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:

  • 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 | |------|-------------| | `--depth, -d <n>` | Limit tree depth (0 = unlimited) | | `--only <exts>` | Only show files with these extensions | | `--exclude <patterns>` | Exclude files matching patterns | | `--diff` | Show files changed vs main branch | | `--ref <branch>` | Branch to compare against (with --diff) | | `--deps` | Dependency flow mode | | `--importers <file>` | Check who imports a file | | `--skyline` | City skyline visualization | | `--json` | Output 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

| Command | Trigger | Description | |---------|---------|-------------| | `codemap hook session-start` | SessionStart | Full tree, hubs, branch diff, last session context | | `codemap hook pre-edit` | PreToolUse (Edit\|Write) | Who imports file + what hubs it imports | | `codemap hook post-edit` | PostToolUse (Edit\|Write) | Impact of changes (same as pre-edit) | | `codemap hook prompt-submit` | UserPromptSubmit | Hub context for mentioned files + session progress | | `codemap hook pre-compact` | PreCompact | Saves hub state to .codemap/hubs.txt | | `codemap hook session-stop` | 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"
          }
        ]
      }
    ],
    "PreCompa
Read more
@neolabhq
Ships withcontext-engineering-kit

A hand-crafted collection of advanced context engineering techniques and patterns with minimal token footprint, focused on improving agent result quality and predictability.

1.8k68 skills21 agents
Get the whole plugin

Stars on GitHub

Momentum

stars in total
1.8k
Star history of NeoLabHQ/context-engineering-kit on GitHub, a chart by star-history.com

Other skills on context-engineering-kit.

More skills from other plugins.

brainstorming
Auto-invoked

brainstorming

You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…

@obra@obraInstall Skill
ask-matt

ask-matt

Ask which skill or flow fits your situation. A router over the skills in this repo.

skills12d309k
@mattpocock@mattpocockInstall Skill
accessibility
Auto-invoked

accessibility

Design, implement, and audit accessible UI to WCAG 2.2 Level AA across Web, iOS, and Android — semantic ARIA roles and labels,…

ecc2w293k
@affaan-m@affaan-mInstall Skill
compiler-commit

compiler-commit

Use when you want to verify compiler changes and commit with the correct convention. Runs tests, lint, and format, then commits…

react3d252k
@facebook@facebookInstall Skill

Questions about setup-codemap-cli.

Which coding agents can use setup-codemap-cli?
setup-codemap-cli installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.