実践 レッスン 2 / 3

Plan Stack

このレッスンで学ぶこと

Plan StackはAI支援開発の方法論です:まず計画を立て、次に実装し、常にレビューする。この構造が無駄な作業を防ぎ、コード品質を向上させます。

コアサイクル

  1. 計画 — コードを触る前に何を作るか書き出す
  2. 実装 — Claudeの助けを借りて計画を実行
  3. レビュー — 結果を計画と照らし合わせて確認

これは官僚主義ではありません—作業のやり直しを避け、早期にミスを発見する方法です。

計画を書く

開始前に計画ファイル(例: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と計画を共有
  • 追跡可能性のためにコミットを計画にリンク