Skip to content

アーキテクチャ概要

claude-forge はソフトウェア開発を隔離されたフェーズに分解し、各フェーズを専門のサブエージェントが実行します。メインエージェントは薄いオーケストレーターとして機能し — 作業のルーティング、サマリーの提示、状態の管理を行い — サブエージェントがすべてのコード読み書きを担当します。

コンポーネント図

コンポーネントの接続

SKILL.md (オーケストレーター)
  ├── mcp__forge-state__* MCPツールで状態遷移を呼び出し
  ├── Agent ツールでエージェントを名前で起動
  └── hooks/ が自動的に制約を強制
       ├── pre-tool-hook.sh  → Phase 1-2で書き込みブロック、
       │                        並列Phase 5でgit commitブロック、
       │                        main/masterへのcheckoutブロック
       ├── post-agent-hook.sh → 不正なエージェント出力を警告
       ├── post-bash-hook.sh  → summary.md + state.jsonの自動コミット(v1レガシー; v2はEngine execアクションを使用)
       └── stop-hook.sh       → 途中終了を防止

責任マトリクス

責任オーナー
フェーズの順序制御とフローSKILL.md(オーケストレーター)
状態遷移Go MCPサーバー(mcp__forge-state__* ツール)
制約の強制フックスクリプト(自動)
ドメイン専門知識(分析、設計、コード)Agent .md ファイル
ランタイムパラメータオーケストレーター → エージェントプロンプト

ディレクトリ構造

claude-forge/
├── CLAUDE.md              ← AIエージェントガイド(Claude Code が自動読み込み)
├── ARCHITECTURE.md        ← インデックス(詳細は docs/architecture/ を参照)
├── BACKLOG.md             ← 既知の問題・改善候補
├── README.md              ← プロジェクト概要とクイックスタート
├── .claude-plugin/
│   └── plugin.json        ← プラグインメタデータ(名前、バージョン)
├── .claude/
│   └── rules/             ← git.md、shell-script.md、docs.md
├── agents/                ← 10 の専門エージェント定義(.md ファイル)
├── docs/
│   ├── _partials/         ← SSOT コンテンツ断片(docs/ ファイルが組み込む)
│   └── architecture/      ← アーキテクチャドキュメント(13 ファイル)
├── hooks/
│   └── hooks.json         ← フック定義(Setup、SessionStart、PreToolUse、PostToolUse、Stop)
├── mcp-server/            ← Go MCPサーバーソース(forge-state バイナリ)
├── scripts/               ← フックスクリプト + テストスイート
│   ├── session-start-hook.sh ← セッション開始時にダッシュボードURLを表示
│   ├── pre-tool-hook.sh   ← 読み取り専用ガード、コミットブロック、チェックアウトブロック
│   ├── post-agent-hook.sh ← エージェント出力品質バリデーション
│   ├── stop-hook.sh       ← パイプライン完了ガード
│   └── test-hooks.sh      ← 自動フックテストスイート(62テスト)
└── skills/forge/SKILL.md  ← オーケストレーター命令(メインスキル)

Released under the MIT License.