shuxueshuxue/Spexcode
Spec-driven orchestration for your coding agents.
何を解決するか
SpexCode は「仕様のずれ(spec drift)」という問題に対処します。AIコーディングエージェントがソースコードを変更する速度が、そのコードを記述するドキュメント(仕様)の更新速度を上回る状態です。これにより、ドキュメントがシステムの実際の振る舞いを正確に反映しなくなることがよくあります。
どう動くか
SpexCode は Git を基盤とするシステムで、仕様は .spec/ ディレクトリ内の Markdown ファイルとして保存されます。各仕様はコード内の特定のファイルや関数に「アンカー(anchor)」されています。Git コミットを分析することで、アンカー範囲内のコードが変更されたが対応する仕様が更新されていない場合、これを「アンカーずれ(anchor-drift)」として検出します。
ずれを修正するには、ユーザーが仕様をコードに合わせて更新するか、または明示的に(ack)実装の変更が既存の契約を満たしていると承認する必要があります。
このシステムは3つのレイヤーで構成されています:
- L0(仕様-コードグラフ):Git 上での仕様とコードのコア結合。
- L1(エージェントセッション):各エージェントごとに分離された worktree とブランチ。変更が追跡され、触れた仕様にリンクされるようになります。
- L2(ダッシュボード):セッションのレビューと仕様の管理を行う GUI。
対象ユーザー
Claude Code や Codex などの AI コーディングエージェントを使用し、技術仕様と実装の厳密な同期を維持したい開発者。
特徴
- 決定論的ずれ検出:Git の履歴を使って、仕様がコードを記述しなくなった正確なタイミングを計算。
- Gitネイティブ:別途データベースを保持せず、すべてのずれやバージョン管理データは Git コミットから導出。
- エージェントの分離:tmux を使ってエージェントを別々のブランチと worktree で実行し、干渉を防ぐ。
- 統合:Claude Code と Codex 用のプラグイン、CLI、専用ダッシュボードを提供。
- 強制:アンカーずれが検出された場合、Git フックでコミットをブロック可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト