Communityコーディング&開発github.com

codemap - プロジェクトファイルマッパー

指定した拡張子のファイルをディレクトリごとにグループ化して一度にマッピングします。オプションで各ファイルのクラス・関数・エクスポートも表示可能。ファイルを読む前に全ファイルの俯瞰やディレクトリの定義概要を得るのに最適です。

codemap - プロジェクトファイルマッパー とは?

codemap は、プロジェクト内の特定の拡張子を持つすべてのファイルを一度にスキャンし、コンパクトでソートされたマップを出力する AI エージェントスキルです。開発者が「すべての PHP コントローラ」「すべての CSS/SCSS ソース」など、該当ファイルの位置を事前に知らなくても、一覧して内容を把握できます。--symbols オプションを使うと、各ファイルのトップレベルクラス、関数、エクスポートを抽出し、テーブルオブコンテンツとして表示。これにより、本当に読むべきファイルだけを選んで読み込む効率的なワークフローが実現します。ripgrep または git が利用可能な環境で動作し、.gitignore や vendor、node_modules などのビルド出力は自動スキップされます。Claude Code、Cursor、Codex などの AI エージェントプラットフォームで使用でき、特にサブエージェントが未知のディレクトリを探索する際に、ゼロから検索させる代わりに codemap の出力を渡すことで効率を大幅に向上させます。出力行数はデフォルト300行ですが、--max オプションで調整可能。また、--exclude で正規表現による除外も可能なため、大規模プロジェクトでも柔軟に使えます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Borcioo/claude-skills/tree/HEAD/experiments/codemap/skills/codemap

Installed? Explore more コーディング&開発 skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

codemap

バンドルされたスクリプトを実行します。呼び出すたびにワーキングツリーを新鮮に読み取り、コンパクトでソートされたマップを出力します。何も書き込みません。

${CLAUDE_SKILL_DIR}/scripts/codemap --ext php,blade.php --dir app
${CLAUDE_SKILL_DIR}/scripts/codemap --ext css,scss --symbols
${CLAUDE_SKILL_DIR}/scripts/codemap --ext ts,tsx --dir src --symbols --max 150

オプション: --ext(カンマ区切り、ドット不要)、--dir、--symbols、--max(出力行上限、デフォルト300)、--exclude REGEX(繰り返し可能)。

出力例:

# codemap: 12 files in 3 dirs (dir: app, ext: php, via rg)
Http/Controllers/
  UserController.php: class UserController, fn index, fn store

いつ使うか

  • 1つ以上のタイプの全ファイルが必要だが、それらがどこにあるか分からない場合。
  • 複数のファイルを読もうとしているが、実際に何を定義しているか知るためだけに読むのは避けたい場合: まず --symbols で実行し、必要なファイルだけを読んでください。
  • サブエージェントが不慣れな領域で作業を開始する場合: そのディレクトリの codemap を渡すことで、ゼロから検索させる代わりに効率的に進められます。

いつ使わないか

  • ファイル名や正確なパターンが分かっている場合: Glob を使用してください。
  • ファイル内のテキストが必要な場合: Grep を使用してください。
  • シンボルの定義や参照が必要で、LSP プラグインが有効な場合: LSP ツールを使用してください。

注意点

  • ripgrep または git が利用可能な場合、.gitignore が尊重されます。vendor/、node_modules/、ビルド出力、minify されたファイル、ソースマップは常にスキップされます。
  • シンボルはパーサーではなく行ベースのパターンから取得されます: PHP のトップレベルクラス/関数、JS/TS の export、Python のトップレベル class/def、Go の type/func、CSS カスタムプロパティ(カウントとして)、SCSS/Less ミックスイン。これらを目次として扱い、その後で実際のファイルを読んでください。
  • 出力が # ... truncated で終わる場合は、--max を大幅に上げるのではなく、--dir、--ext、--exclude で絞り込んでください。

関連スキル