setup-codemap-cli について
Codemap CLI の設定をプロジェクト単位またはユーザー単位で案内するスキルです。インストールと検証、CLAUDE.md の設定、除外ルール、Claude のフックを扱います。
主な機能
- 01共有・ローカル・グローバル設定の選択
- 02Codemap CLI の確認とインストール
- 03CLAUDE.md と .gitignore の更新
- 04Codemap セッションフックの設定
活用シーン
- 01新しいリポジトリで Codemap を設定
- 02Claude に Codemap の利用指針を追加
- 03コードナビゲーション用フックを導入
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ neolabhq/ context-engineering-kit --skill setup-codemap-cliインストール後、Claude Code で/setup-codemap-cliを入力して読み込まれたか確認します。
詳細
ユーザー入力:
$ARGUMENTS
Codemap CLI のセットアップガイド
1. セットアップのコンテキストを確認する
設定をどこに保存するか、ユーザーに尋ねます。
選択肢:
-
プロジェクトレベル(git 経由で共有) - バージョン管理で追跡され、チームと共有される設定です
- CLAUDE.md の更新先:
./CLAUDE.md - フック設定の保存先:
./.claude/settings.json
- CLAUDE.md の更新先:
-
プロジェクトレベル(個人設定) - 設定はローカルに保存され、git では追跡されません
- CLAUDE.md の更新先:
./CLAUDE.local.md - フック設定の保存先:
./.claude/settings.local.json - これらのファイルが
.gitignoreに記載されていることを確認し、記載されていなければ追加します
- CLAUDE.md の更新先:
-
ユーザーレベル(グローバル) - このユーザーのすべてのプロジェクトに適用される設定です
- CLAUDE.md の更新先:
~/.claude/CLAUDE.md - フック設定の保存先:
~/.claude/settings.json
- CLAUDE.md の更新先:
ユーザーの選択を保存し、以降の手順では適切なパスを使用します。
2. Codemap がすでにインストールされているか確認する
codemap -help を実行して、codemap がインストールされているか確認します。
インストールされていない場合は、セットアップに進みます。
3. Codemap のドキュメントを読み込む
Codemap の機能を理解するため、次のドキュメントを読みます。
- Codemap の概要と機能を理解するため、https://raw.githubusercontent.com/JordanCoin/codemap/refs/heads/main/README.md を読み込みます
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> | パターンに一致するファイルを除外します |
--diff | main ブランチとの差分があるファイルを表示します |
--ref <branch> | 比較対象のブランチ(--diff と併用) |
--deps | 依存関係フローモード |
--importers <file> | ファイルをインポートしている箇所を確認します |
--skyline | 都市のスカイライン形式で表示します |
--json | JSON を出力します |
スマートパターンマッチング - 引用符は不要です:
.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-start | SessionStart | ツリー全体、ハブ、ブランチの差分、前回のセッションのコンテキスト |
codemap hook pre-edit | PreToolUse (Edit|Write) | ファイルをインポートしている箇所と、そのファイルがインポートするハブ |
codemap hook post-edit | PostToolUse (Edit|Write) | 変更の影響(pre-edit と同じ) |
codemap hook prompt-submit | UserPromptSubmit | 言及されたファイルのハブコンテキストとセッションの進捗 |
codemap hook pre-compact | PreCompact | ハブの状態を .codemap/hubs.txt に保存します |
codemap hook session-stop | SessionEnd | 行数と統計を含む編集タイムライン |
すべてのフックを設定したファイルの例
{
"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"
}
]
}
]
}
}