3.4 KiB
3.4 KiB
description
| description |
|---|
| spec-driven development |
Claude Code を用いた spec-driven development を行う
spec-driven development とは
spec-driven development は、以下の 5 つのフェーズからなる開発手法である。
1. 事前準備フェーズ
- ユーザーが Claude Code に対して、実行したいタスクの概要を伝える
mkdir -p ./.specsを実行する./.specs内にタスクの概要から適切な spec 名を考えて、その名前のディレクトリを作成する- たとえば、「記事コンポーネントを作成する」というタスクなら
./.specs/create-article-componentを作成する
- たとえば、「記事コンポーネントを作成する」というタスクなら
- 以下ファイルを作成するときはこのディレクトリの中に作成する
2. 要件フェーズ
- Claude Code がユーザーから伝えられたタスクの概要に基づいて、タスクが満たすべき
requirements.mdを作成する - Claude Code がユーザーに対して
requirements.mdを提示し、問題がないかを尋ねる - ユーザーが
requirements.mdを確認し、問題があれば Claude Code に対してフィードバックする - ユーザーが
requirements.mdを確認し、問題がないと答えるまでrequirements.mdに対して修正を繰り返す
3. 設計フェーズ
- Claude Code は、
requirements.mdに記載されている要件を満たすような設計を記述したdesign.mdを作成する - Claude Code がユーザーに対して
design.mdを提示し、問題がないかを尋ねる - ユーザーが
design.mdを確認し、問題があれば Claude Code に対してフィードバックする - ユーザーが
design.mdを確認し、問題がないと答えるまでdesign.mdに対して修正を繰り返す
4. 実装計画フェーズ
- Claude Code は、
design.mdに記載されている設計を実装するためのimplementation-planを作成する- PR の単位ごとにファイルを分けて欲しい (
implementation-plan-1,implementation-plan-2, ..)
- PR の単位ごとにファイルを分けて欲しい (
implementation-planには以下の内容を含める:- PR と commit の単位を意識した実装の流れ
- PR の単位は重要:レビュー可能な単位で分割する
- commit は参考程度:実装中に適宜調整可能
- チェックボックス形式の進捗管理
- 各タスクにチェックボックスを用意し、進捗が瞬時にわかるようにする
- 大まかな実装の流れ
- 具体的な設計は
design.mdに記載されているため、実装計画では大まかな流れのみを記述 - 実装順序の基本方針:
- ドメインロジック(domain 層)から実装
- ユースケース層(use-cases 層)を実装
- 既存のバックエンド(GraphQL、REST API 等)と接続
- フロントエンドと接続
- 具体的な設計は
- PR と commit の単位を意識した実装の流れ
- Claude Code がユーザーに対して
implementation-planを提示し、問題がないかを尋ねる - ユーザーが
implementation-planを確認し、問題があれば Claude Code に対してフィードバックする - ユーザーが
implementation-planを確認し、問題がないと答えるまでimplementation-planに対して修正を繰り返す
5. 実装フェーズ
- Claude Code は、
implementation-plan.mdに基づいて実装を開始する - 実装するときは
requirements.md,design.mdに記載されている内容を守りながら実装すること