Files
gh-mrsekut-mrsekut-cc-marke…/commands/spec.md
2025-11-30 08:41:34 +08:00

3.4 KiB
Raw Blame History

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, ..)
  • 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に記載されている内容を守りながら実装すること