| name | backend-codebase-explorer |
| description | 未知のコードベースを最短で把握するための構造化探索を行う。言語・ビルドツール・アーキテクチャ・テスト方針・主要なエントリポイントを短時間でレポート化する。「このプロジェクト教えて」「コードベース調べて」「初見で入ったから概要ほしい」などで起動。 |
Codebase Explorer
未知のプロジェクトに入ったとき、最初の 5 分で把握すべきこと を機械的に揃える。
いつ使うか
- 新しいプロジェクトに参加した直後
- 他人のリポジトリをレビュー・調査する必要があるとき
- 長期間触っていないプロジェクトに戻るとき
やること
以下を 並列で 調査し、短いレポートにまとめる。長大なファイルを全読みするのではなく、存在と構造を確認する ことを優先する。
1. 言語・ツール
- プロジェクトルートの設定ファイルを確認
package.json, go.mod, Cargo.toml, pyproject.toml, Gemfile, pom.xml, build.gradle, .tool-versions, .python-version, .nvmrc など
- 主要言語とバージョン、ビルド・タスクランナー(make / npm scripts / just など)を特定
2. ディレクトリ構造
- トップレベルのディレクトリのみ
ls で確認(深追いしない)
src/, pkg/, cmd/, app/, lib/, test/ などの有無から構造スタイルを推定
- モノレポか単一パッケージか
3. アーキテクチャ・設計文書
README.md, CONTRIBUTING.md, AGENTS.md, CLAUDE.md, docs/ を確認
- 存在する場合は概要セクションのみを読む
- 独自のコード生成(protoc, codegen, openapi など)が使われているか
4. エントリポイント
main.*, index.*, app.*, cmd/*/main.go を特定
- 複数のバイナリ・サービスがある場合はそれぞれリストアップ
5. テスト
- テストディレクトリの配置(
__tests__/, *_test.go, tests/ など)
- テストランナー(jest / vitest / go test / pytest など)
- テスト実行コマンド(Makefile, scripts, package.json から)
6. CI・品質ゲート
.github/workflows/, .gitlab-ci.yml, .circleci/ の有無
- lint / format / typecheck コマンド
- pre-commit 設定の有無
レポート形式
以下のテンプレで出力する(見出しは固定、該当なしは「なし」と明記)。
## 言語・ツール
- 主要言語: <lang> <version>
- パッケージ管理: <pm>
- タスクランナー: <tool>(主要コマンド: ...)
## 構造
- スタイル: <モノレポ / 単一 / レイヤードDDD / ...>
- 主要ディレクトリ: <dir>(役割), ...
## エントリポイント
- <path>(<役割>)
## テスト
- ランナー: <tool>
- 配置: <pattern>
- 実行: <command>
## CI / 品質
- CI: <tool or なし>
- lint: <command or なし>
- format: <command or なし>
## 次の一歩(読むとよいファイル)
1. <path> — <理由>
2. ...
原則
- ファイル全読みしない。存在確認と冒頭 20-50 行で十分
- 推測と事実を分けて書く。構造スタイルは推定なので「推定: ...」と添える
- 分からないことは正直に書く。無理に埋めない
- ユーザーの目的を先に聞く。漠然と調べるのではなく「何のために知りたいのか」で深さを調整する