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 行で十分
- 推測と事実を分けて書く。構造スタイルは推定なので「推定: ...」と添える
- 分からないことは正直に書く。無理に埋めない
- ユーザーの目的を先に聞く。漠然と調べるのではなく「何のために知りたいのか」で深さを調整する