AI 駆動(アーティファクト駆動)でプロジェクトを進めるためのテンプレート。agent/ と work/ で作業の型を提供し、コードスタックは後から選びます(現在は python テンプレを同梱)。
- テンプレートからリポを作成
GitHub の「Use this template」またはgh repo create --template ... - クローン
git clone <your-repo> - スタックを選択して適用
- 現在の提供スタック:
python - 適用コマンド:
./scripts/init-stack.sh python - 追加スタックは
templates/<stack>/に置き、同じコマンドで適用
- 現在の提供スタック:
- AI の作業スペースを使う
- 役割定義は
agent/、作業ログ・生成物はwork/に記録
- 役割定義は
- スタック固有のセットアップ
- python スタックを適用した場合:
make setup # venv 作成 + 依存インストール make test # pytest 実行
.
├─ src/ # ※スタック適用後に配置されるコード
├─ tests/ # ※スタック適用後に配置されるテスト
├─ docs/ # 仕様・評価・用語など
│ └─ ARCHITECTURE.md # 1行アーキ図など
├─ agent/ # AI エージェント用の状態(planner/implementer/reviewer など)
│ ├─ planner.md # ゴールとステップ計画
│ ├─ implementer.md # 実行中ステップと生成物ログ
│ ├─ reviewer.md # 指摘・質問・判定
│ ├─ decisions.md # 判断ログ
│ ├─ prompts/ # system/user プロンプト
│ └─ context/ # 調査メモなど
├─ work/ # 生成物・一時成果物 (テンプレあり、gitignore 済)
│ ├─ goal.md # 目的とスコープ
│ ├─ plan.md # ステップ計画
│ ├─ task.md # 実行中タスクの詳細
│ ├─ log.md # 実行ログ
│ └─ review.md # レビュー結果
├─ scripts/init-stack.sh # スタックをテンプレートから適用するスクリプト
├─ templates/ # 言語/スタック別テンプレ(python 同梱)
├─ .github/workflows/ci.yml # プレースホルダ CI(スタック適用後に差し替え)
├─ Makefile # スタック未選択時は no-op(適用後に差し替え)
└─ README.md
スタック未選択時は no-op です。テンプレ適用後はスタックごとの Makefile が有効になります。
python スタック適用後の例:
| コマンド | 説明 |
|---|---|
make setup |
venv 作成 + 依存インストール |
make run |
yourpkg を起動(__main__.py) |
make test |
pytest -q を実行 |
make fmt |
black + isort で整形 |
make lint |
flake8 で静的解析 |
make typecheck |
mypy で型チェック |
make clean |
キャッシュ掃除 |
アーティファクト駆動で回すための最低限の作法を同梱しています。
- 役割別に記録: 計画は
agent/planner.md、実装ログはagent/implementer.md、レビューはagent/reviewer.md - 仕様解釈・スコープ変更は
agent/decisions.mdに追記 - LLM に渡すプロンプトは
agent/prompts/に保存 - 作業ノートは
work/goal.md,plan.md,task.md,log.md,review.mdをベースに回す - 生成物・ログは
work/<session>/配下に置く(work/は gitignore 済)
セッション例:
SESSION=work/$(date +%Y%m%d-%H%M)
mkdir -p "$SESSION"/{artifacts,logs}
echo "# Session $SESSION" > "$SESSION/README.md"状態(plan/decisions/prompts)は常に /agent に集約し、/work は自由に掃除できる一時領域として使うと回しやすいです。
make run
# => hello from yourpkgmake testbrew install gh
gh auth logingit checkout -b feat/change-samplemake run
make test
make lint
make typecheckgit add -A
git commit -m "feat: short description of the change"git push -u origin feat/change-sampleブラウザから「Compare & pull request」 または CLI:
gh pr create --title "feat: short description" \
--body "変更概要/受け入れ基準/テスト観点/影響範囲"- CI が green かを確認
- コメントがあれば解消(Resolve)
- Squash and merge 推奨
git checkout main
git pull
git branch -d feat/change-sample