Plan Stack
このレッスンで学ぶこと
Plan StackはAI支援開発の方法論です:まず計画を立て、次に実装し、常にレビューする。この構造が無駄な作業を防ぎ、コード品質を向上させます。
コアサイクル
- 計画 — コードを触る前に何を作るか書き出す
- 実装 — Claudeの助けを借りて計画を実行
- レビュー — 結果を計画と照らし合わせて確認
これは官僚主義ではありません—作業のやり直しを避け、早期にミスを発見する方法です。
計画を書く
開始前に計画ファイル(例:docs/plans/20240115_add_auth.md)を作成します:
# ユーザー認証の追加
## 目標
ユーザーがメール/パスワードでログインでき、ログイン状態を維持できる。
## アプローチ
- httpOnly cookieに保存するJWTトークンを使用
- /api/auth/login と /api/auth/logout エンドポイントを追加
- 保護されたルート用のauthミドルウェアを作成
## 変更するファイル
- src/api/auth.ts(新規)
- src/middleware/auth.ts(新規)
- src/api/user.ts(修正)
## 成功基準
- 有効な認証情報でログインするとトークンを返す
- 保護されたルートは有効なトークンなしのリクエストを拒否
- テストがパスする
なぜ書き出すのか?計画はClaudeへのコンテキストであり、将来の自分へのドキュメントです。スコープクリープも防げます。
Claudeと計画を使う
セッション開始時に計画を共有します:
> ユーザー認証を実装している。計画はこれ:
> [計画を貼り付け]
> まずログインエンドポイントから始めよう。
Claudeは全体のスコープを理解し、ファイル間で一貫した判断ができます。
コミットに計画を含める
コミットを計画にリンクします:
git commit -m "ログインエンドポイントを追加
実装: docs/plans/20240115_add_auth.md (ステップ1)"
これにより、決定と実装の追跡可能な履歴が作られます。
計画は契約ではない:実装中に計画が間違っていることがわかったら、更新しましょう。ポイントは明確さであり、硬直性ではありません。
まとめ
- 計画→実装→レビューのサイクルで無駄を防ぐ
- 書かれた計画はClaudeへのコンテキストであり自分へのドキュメント
- セッション開始時にClaudeと計画を共有
- 追跡可能性のためにコミットを計画にリンク