Initial commit

This commit is contained in:
Zhongwei Li
2025-11-30 08:41:34 +08:00
commit 62d7017383
6 changed files with 376 additions and 0 deletions

57
commands/spec.md Normal file
View File

@@ -0,0 +1,57 @@
---
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`, ..)
- `implementation-plan`には以下の内容を含める:
- **PR と commit の単位を意識した実装の流れ**
- PR の単位は重要:レビュー可能な単位で分割する
- commit は参考程度:実装中に適宜調整可能
- **チェックボックス形式の進捗管理**
- 各タスクにチェックボックスを用意し、進捗が瞬時にわかるようにする
- **大まかな実装の流れ**
- 具体的な設計は`design.md`に記載されているため、実装計画では大まかな流れのみを記述
- 実装順序の基本方針:
1. ドメインロジックdomain 層)から実装
2. ユースケース層use-cases 層)を実装
3. 既存のバックエンドGraphQL、REST API 等)と接続
4. フロントエンドと接続
- Claude Code がユーザーに対して`implementation-plan`を提示し、問題がないかを尋ねる
- ユーザーが`implementation-plan`を確認し、問題があれば Claude Code に対してフィードバックする
- ユーザーが`implementation-plan`を確認し、問題がないと答えるまで`implementation-plan`に対して修正を繰り返す
### 5. 実装フェーズ
- Claude Code は、`implementation-plan.md`に基づいて実装を開始する
- 実装するときは`requirements.md`,`design.md`に記載されている内容を守りながら実装すること