複数エージェント(Claude Code / Codex 等)で開発する個人プロジェクトの運用・管理ルールの標準テンプレート。 MatchFav(wc-tournament-tracker)で確立した運用を、新規プロジェクトへそのまま持ち込めるよう一般化したもの。
思想: 人間は「何を(WHAT)」だけ渡す。「やり方(HOW)」はこのテンプレに従う。
- マルチエージェント開発フロー — 1 エージェント = 1 worktree = 1 ブランチ。本体 repo は統合+デプロイ専用。
- サーモス・ゲート — 実装後に Thermos(bug/security + code-quality)を通す。
/ai-reviewは使わない。 - PR ベース —
main直 push 禁止。自分の PR は必須 CI 成功後に squash マージしてよい(--adminは使わない)。 - git 駆動デプロイ — feature push = Preview 自動/main マージ = Production 自動(手動デプロイ原則禁止)。
- 「GitHub が正本」 — PR 状態・タスク状態は記憶や伝聞でなく GitHub を正とする。
- タスク管理は GitHub Issue / Project — 単一巨大 Markdown の並行編集クロバーを構造的に回避。
- 供給網デフォルト — lockfile コミット/CI は
npm ci/npm audit/Dependabot/.npmrcignore-scripts。
.github/workflows/ci.yml(Node/npm 前提)と、AGENTS.md / notes 内の Vercel・Next.js 前提の記述。
別 stack のときは「デプロイ=git 駆動・Preview/Production 自動」という原則は維持し、コマンド/プラットフォーム名だけ差し替える。
AGENTS.md # 薄型:プロジェクト固有値+notes/へのポインタ(挙動は再説明しない)
CLAUDE.md # Claude 用の薄い入口(AGENTS.md を参照)
.npmrc # ignore-scripts / audit-level / save-exact
.github/
workflows/ci.yml # typecheck / lint / test / build / audit
ISSUE_TEMPLATE/task.yml # タスク Issue フォーム(T-N)
dependabot.yml # npm weekly
notes/
dev-workflow-multiagent.md # worktree / main 専用 / デプロイ規律(挙動の正本・travel する)
task-management-issue-workflow.md # Issue/Project タスク運用(挙動の正本・travel する)
apply-to-existing-project.md # 既存(運用中)PJ への後付け適用ガイド
scripts/
fill-placeholders.sh # {{PLACEHOLDER}} を一括置換する補助
挙動ルール(worktree/サーモス・ゲート/デプロイ規律/GitHub正本/Issue管理)は
~/.claudeグローバルにも既定として入れてあり、 自分の端末の全 PJ に自動適用される。リポ同梱のnotes/は、その挙動正本を repo と一緒に travel させるためのもの。 既存の運用中 PJ に当てるときはnotes/apply-to-existing-project.mdを参照(全コピー厳禁・追記で当てる)。
- このテンプレを新規 repo の土台にする(GitHub の「Use this template」、または手元で
cp -r)。 - プレースホルダを埋める: 下表の
{{...}}を実値へ。scripts/fill-placeholders.shで一括置換できる。 - GitHub 側の初期セットアップ(下の「GitHub セットアップ」)。
- AGENTS.md / CLAUDE.md を repo 直下に置いたまま開発開始。AI はこれを読んで HOW に従う。
| プレースホルダ | 意味 | 例 |
|---|---|---|
Gmail Kanban |
プロジェクト/ブランド名 | MatchFav |
gmail-kanban |
repo ディレクトリ名 | wc-tournament-tracker |
sinoda1114/gmail-kanban |
GitHub の owner/repo | sinoda1114/wc-tournament-tracker |
Vercel |
デプロイ基盤 | Vercel |
https://gmail-kanban.vercel.app |
本番 URL | https://example.vercel.app |
gmail-kanban.vercel.app |
独自ドメイン | example.com |
NEXT_PUBLIC_SITE_URL |
絶対 URL を持つ env 名 | NEXT_PUBLIC_SITE_URL |
Gmail Kanban Tasks |
Project 名(番号は GitHub で確定) | Gmail Kanban Tasks |
# 1) origin/HEAD を設定(ベース差分の基準)
git remote set-head origin -a
# 2) type:* ラベルを作成(状態は Project カラムで管理。status ラベルは作らない)
for t in bug feature content i18n legal billing data mobile ops; do \
gh label create "type:$t" --color ededed 2>/dev/null || true; done
# 3) GitHub Project(Board)を作成し、カラムを Inbox/Ready/Waiting/Doing/PR/Prod Check/Done に
# (gh project create か Web UI。番号を AGENTS.md の Gmail Kanban Tasks 近くに反映)
# 4) デプロイ基盤の Git 連携(Vercel 等): Production Branch = main、PR ごとに Preview 発行を有効化注: 適用範囲が「自分の端末の自分のプロジェクト中心」なら、
~/.claude/(グローバル)にも同じ 非依存ルールを置くと設定ゼロで効く。ただし他人の端末・CI には伝播しないため、リポ同梱(このテンプレ)が正。