mcpField
S
setup-codemap-cli

setup-codemap-cli

github.com/neolabhq開発1.8k1.2k 回インストール9 週間前に更新
リポジトリ

setup-codemap-cli について

Codemap CLI の設定をプロジェクト単位またはユーザー単位で案内するスキルです。インストールと検証、CLAUDE.md の設定、除外ルール、Claude のフックを扱います。

主な機能

  1. 01共有・ローカル・グローバル設定の選択
  2. 02Codemap CLI の確認とインストール
  3. 03CLAUDE.md と .gitignore の更新
  4. 04Codemap セッションフックの設定

活用シーン

  1. 01新しいリポジトリで Codemap を設定
  2. 02Claude に Codemap の利用指針を追加
  3. 03コードナビゲーション用フックを導入

インストール

コマンドをコピーしてターミナルで実行します。

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

インストール後、Claude Code で/setup-codemap-cliを入力して読み込まれたか確認します。

詳細

ユーザー入力:

$ARGUMENTS

Codemap CLI のセットアップガイド

1. セットアップのコンテキストを確認する

設定をどこに保存するか、ユーザーに尋ねます。

選択肢:

  1. プロジェクトレベル(git 経由で共有) - バージョン管理で追跡され、チームと共有される設定です

    • CLAUDE.md の更新先:./CLAUDE.md
    • フック設定の保存先:./.claude/settings.json
  2. プロジェクトレベル(個人設定) - 設定はローカルに保存され、git では追跡されません

    • CLAUDE.md の更新先:./CLAUDE.local.md
    • フック設定の保存先:./.claude/settings.local.json
    • これらのファイルが .gitignore に記載されていることを確認し、記載されていなければ追加します
  3. ユーザーレベル(グローバル) - このユーザーのすべてのプロジェクトに適用される設定です

    • CLAUDE.md の更新先:~/.claude/CLAUDE.md
    • フック設定の保存先:~/.claude/settings.json

ユーザーの選択を保存し、以降の手順では適切なパスを使用します。

2. Codemap がすでにインストールされているか確認する

codemap -help を実行して、codemap がインストールされているか確認します。

インストールされていない場合は、セットアップに進みます。

3. Codemap のドキュメントを読み込む

Codemap の機能を理解するため、次のドキュメントを読みます。

4. インストールを案内する

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. インストールを確認する

インストール後、codemap が動作することを確認します。

codemap .

6. CLAUDE.md ファイルを更新する

手順 1 で決定したパスを使用します。Codemap のインストールが正常に完了したら、該当する CLAUDE.md ファイルを次の内容で更新します。

## 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
オプション
フラグ説明
--depth, -d <n>ツリーの深さを制限します(0 = 無制限)
--only <exts>指定した拡張子のファイルのみを表示します
--exclude <patterns>パターンに一致するファイルを除外します
--diffmain ブランチとの差分があるファイルを表示します
--ref <branch>比較対象のブランチ(--diff と併用)
--deps依存関係フローモード
--importers <file>ファイルをインポートしている箇所を確認します
--skyline都市のスカイライン形式で表示します
--jsonJSON を出力します

スマートパターンマッチング - 引用符は不要です:

  • .png - 任意の .png ファイル
  • Fonts - 任意の /Fonts/ ディレクトリ
  • *Test* - glob パターン
Diff モード

作業内容を確認します。

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. Codemap をテストする

すべてが正常に動作することを確認するため、簡単なテストを実行します。

codemap .
codemap --diff

9. 設定ファイルにフックを追加する

  • 手順 1 で決定した設定パスを使用します。設定ファイルが存在しない場合は作成し、次の内容を追加します。

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

    デフォルトブランチが main ではなく、master(またはそれ以外)の場合は、内容を適宜更新します。

    • 通常の codemap hook session-start の代わりに codemap hook session-start --ref=master を使用します
    • ほかのコマンドにも --ref=master フラグを追加します
  • ほかに追加したいフックがあるかユーザーに尋ね、説明とともに選択肢を提示します。ユーザーが希望するフックを追加します。

使用可能なフック
コマンドトリガー説明
codemap hook session-startSessionStartツリー全体、ハブ、ブランチの差分、前回のセッションのコンテキスト
codemap hook pre-editPreToolUse (Edit|Write)ファイルをインポートしている箇所と、そのファイルがインポートするハブ
codemap hook post-editPostToolUse (Edit|Write)変更の影響(pre-edit と同じ)
codemap hook prompt-submitUserPromptSubmit言及されたファイルのハブコンテキストとセッションの進捗
codemap hook pre-compactPreCompactハブの状態を .codemap/hubs.txt に保存します
codemap hook session-stopSessionEnd行数と統計を含む編集タイムライン
すべてのフックを設定したファイルの例
{
  "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"
          }
        ]
      }
    ]
  }
}

コメント