MCPInstall

setup-codemap-cli

Guide for setup Codemap CLI for intelligent codebase visualization and navigation

Installs
1.2K
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/neolabhq/context-engineering-kit --skill setup-codemap-cli
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads setup-codemap-cli automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

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

FAQ

What does the setup-codemap-cli skill do?

Guide for setup Codemap CLI for intelligent codebase visualization and navigation

How do I install setup-codemap-cli?

Run npx skills add https://github.com/neolabhq/context-engineering-kit --skill setup-codemap-cli in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/setup-codemap-cli/ (personal) or .claude/skills/setup-codemap-cli/ (project).

Which AI agents can use setup-codemap-cli?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is setup-codemap-cli safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains setup-codemap-cli?

It is published by neolabhq in neolabhq/context-engineering-kit. It has 1,158 recorded installs.

More from neolabhq/context-engineering-kit

View all →

prompt-engineering

neolabhq/context-engineering-kit

Use this skill when you writing commands, hooks, skills for Agent, or prompts for sub agents or any other LLM interaction, including optimizing prompts, improving LLM outputs, or designing production prompt templates.

AI & Agents1.4K installs

thought-based-reasoning

neolabhq/context-engineering-kit

Use when tackling complex reasoning tasks requiring step-by-step logic, multi-step arithmetic, commonsense reasoning, symbolic manipulation, or problems where simple prompting fails - provides comprehensive guide to Chain-of-Thought and related prompting techniques (Zero-shot CoT, Self-Consistency, Tree of Thoughts, Least-to-Most, ReAct, PAL, Reflexion) with templates, decision matrices, and research-backed patterns

Frontend & Design1.4K installs

context-engineering

neolabhq/context-engineering-kit

Understand the components, mechanics, and constraints of context in agent systems. Use when writing, editing, or optimizing commands, skills, or sub-agents prompts.

AI & Agents1.4K installs

reflect

neolabhq/context-engineering-kit

Reflect on previus response and output, based on Self-refinement framework for iterative improvement with complexity triage and verification

1.4K installs

write-concisely

neolabhq/context-engineering-kit

Apply writing rules to any documentation that humans will read. Makes your writing clearer, stronger, and more professional.

Docs & Writing1.3K installs

kaizen

neolabhq/context-engineering-kit

Use when Code implementation and refactoring, architecturing or designing systems, process and workflow improvements, error handling and validation. Provide tehniquest to avoid over-engineering and apply iterative improvements.

Popular code quality & workflow skills

View category →

grill-me

mattpocock/skills

A relentless interview to sharpen a plan or design.

Scan a codebase for deepening opportunities, present them as a visual HTML report, then grill through whichever one you pick.

handoff

mattpocock/skills

Compact the current conversation into a handoff document for another agent to pick up.

domain-modeling

mattpocock/skills

Build and sharpen a project's domain model. Use when discussing codebase terminology, writing or editing a GLOSSARY.md, or recording or editing an ADR.

codebase-design

mattpocock/skills

Shared vocabulary for designing deep modules. Use when the user wants to design or improve a module's interface, find deepening opportunities, decide where a seam goes, make code more testable or AI-navigable, or when another skill needs the deep-module vocabulary.

diagnosing-bugs

mattpocock/skills

Diagnosis loop for hard bugs and performance regressions. Use when the user says "diagnose"/"debug this", or reports something broken/throwing/failing/slow.