AI Agentが要件定義からE2Eテスト完了まで、クオリティゲート付きで自動進行するオーケストレーションリポジトリです。
このリポジトリ自体が開発の司令塔として機能します。管理対象のプロジェクトリポジトリをこの中に clone し、claude を起動するだけでワークフローが利用可能になります。
git clone git@github.com:t2421/Claude-code-dev-workflow.git my-project
cd my-project管理対象のリポジトリを JSON 配列で定義します。
cat > repos.json << 'EOF'
[
{ "url": "git@github.com:org/frontend-v2.git", "role": "frontend" },
{ "url": "git@github.com:org/backend-api.git", "role": "backend" },
{ "url": "git@github.com:org/shared-contracts.git" },
{ "url": "git@github.com:org/design-docs.git", "role": "docs" }
]
EOF| role | 説明 | 自動検出 |
|---|---|---|
frontend |
Webフロントエンド(React, Vue, Next.js 等) | package.json の依存関係から検出 |
backend |
APIサーバー(Express, Go, Python 等) | package.json, go.mod 等から検出 |
shared |
共有型定義・ライブラリ | リポ名に shared/contract/common 等を含む場合 |
docs |
設計資料・仕様書・ドキュメント(コードなし) | コード関連ファイルが存在しない場合 |
role は省略可能(自動検出)。シンプルに URL 配列だけでも OK:
["git@github.com:org/fe.git", "git@github.com:org/be.git"]./setup.sh以下が全自動で実行されます:
- 全リポジトリの
git clone - 各リポの役割・技術スタックを自動検出
- 各リポに
CLAUDE.mdを自動生成(依存関係図・開発コマンド付き) scripts/repos.confを自動生成ECOSYSTEM.md(リポ間の関係マップ)を自動生成.gitignoreにプロジェクトリポを自動追加
既に clone 済みの場合:
./setup.sh --scan # 自動検出して repos.conf を生成claude # 直接起動
./scripts/claude-multi.sh # マルチリポ: 全リポ読み込みで起動
./scripts/claude-multi.sh frontend-v2 # マルチリポ: 特定リポをカレントに> ユーザー認証機能を実装したい
→ 自動的にワークフローが開始されます
this-repo/ ← ここで claude を起動する
├── CLAUDE.md # ワークフロー定義(自動読み込み)
├── .claude/ # 全設定
│ ├── settings.json # 権限・Agent Teams有効化
│ ├── agents/ # レビュアーエージェント定義
│ │ ├── requirements-reviewer.md
│ │ ├── backend-tech-lead.md
│ │ ├── frontend-tech-lead.md
│ │ └── security-tech-lead.md
│ └── skills/
│ └── dev-workflow/
│ └── SKILL.md # ワークフローオーケストレーター
├── setup.sh # リポ追加・設定生成
├── scripts/ # ユーティリティスクリプト
│ ├── claude-multi.sh # マルチリポ起動
│ ├── repos.conf # 管理対象リポ一覧(自動生成)
│ ├── check-downstream.sh # 下流一括チェック
│ └── detect-and-generate.sh # 自動検出・CLAUDE.md生成
├── templates/ # CLAUDE.md テンプレート(参考用)
├── docs/workflow/ # ワークフロー成果物の出力先
│ └── <task-id>/ # タスクごとに独立ディレクトリ
├── ECOSYSTEM.md # リポ間関係マップ(自動生成)
│
│ ── 管理対象のプロジェクトリポジトリ(.gitignore で除外) ──
├── frontend-v2/ # ← git clone されたリポ
├── backend-api/
└── shared-contracts/
ポイント: オーケストレーション設定(.claude/, CLAUDE.md, scripts/)はこのリポで Git 管理される。プロジェクトリポジトリはそれぞれ独立した Git リポとして .gitignore で除外される。
[
{ "url": "git@github.com:org/frontend.git", "role": "frontend" },
{ "url": "git@github.com:org/backend.git" },
{ "url": "git@github.com:org/shared.git" },
{ "url": "git@github.com:org/specs.git", "role": "docs" }
]| フィールド | 必須 | 説明 |
|---|---|---|
url |
Yes | Git リポジトリURL |
role |
No | frontend / backend / shared / docs(省略時は自動検出) |
自動検出される項目:
- 役割:
package.jsonの依存関係、ディレクトリ構成、リポ名から判定。コード関連ファイルがなければdocs - 技術スタック: React, Next.js, Express, Prisma, Go, Python 等
- パッケージマネージャ: npm, yarn, pnpm, bun, pip, go modules
各タスク(機能追加、バグ修正等)は docs/workflow/<task-id>/ に独立して保存されます。
# 新規タスク: 要望を伝えるだけ
> ユーザー認証機能を実装したい
# → docs/workflow/2026-03-21_user-auth/ が自動作成される
# 中断タスクの再開
> /dev-workflow --resume
# 全タスク一覧
> /dev-workflow --listflowchart LR
REQ["📋 要件定義"] --> QG1{🔍 QG}
QG1 -->|🟢 / 🟡| TD["📐 Tech Design"]
QG1 -->|🔴| REQ
TD --> QG2{🔍 QG}
QG2 -->|🟢 / 🟡| DD["📝 詳細設計"]
QG2 -->|🔴| TD
DD --> QG3{🔍 QG}
QG3 -->|🟢 / 🟡| IMPL["⚙️ 実装"]
QG3 -->|🔴| DD
IMPL --> QG4{🔍 QG}
QG4 -->|🟢 / 🟡| E2E["🧪 E2Eテスト"]
QG4 -->|🔴| IMPL
E2E --> DONE["✅ 完了"]
各フェーズ間にクオリティゲート(QG)があり、専門エージェントが Red/Yellow/Green で判定します。
| 対象 | 方法 |
|---|---|
| レビュアー追加 | .claude/agents/ にMarkdownファイルを追加 |
| QG判定基準変更 | 各エージェントの「判定基準」セクションを編集 |
| テストコマンド追加 | .claude/settings.json の permissions.allow に追加 |
| リポ追加 | repos.json に追記して ./setup.sh を再実行 |
- Agent Teams は実験的機能:
settings.jsonで有効化済み。セッション再開時にTeammateが失われることがある - コンテキストウィンドウ: 大規模実装では
/compactで圧縮するか、Agent Teams で並行化 - Red最大3回: 同一フェーズ3回超過でユーザーに判断を仰ぐ