1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【第3回】Cursor × SpecKitではじめる仕様駆動開発(Plan・Tasks編)~AIと一緒にTerraformの設計・タスク分解をしてみる~

1
Posted at

はじめに

前回は Specification(仕様書) を作成しました。

この時点ではまだ Terraform は1行も書いていません。

完成したのは、

  • Requirements
  • User Story
  • Acceptance Criteria

などを含む 仕様書(spec.md) です。

今回は、その仕様書をもとに

  • Plan(設計)
  • Tasks(タスク分解)
  • Analyze(整合性チェック)

を実施していきます。

ここからいよいよ

「どう作るか」

をAIと一緒に考えていきます。

Planとは?

最初は

Specification があるなら、そのまま Terraform を作ればいいのでは?

と思っていました。

しかし SpecKit では、

その間に

という工程があります。

つまり、

仕様から

設計書

を作る工程です。

Cursor Agentへ依頼

まずは Plan を作成します。

入力した内容はこちらです。

プロンプト
/speckit-plan

specs/001-aws-waf-alb/spec.md の仕様に基づいて、
Terraform実装計画を作成してください。

方針:
- まだ実装はしない
- Terraform module構成を設計する
- variables / tfvars による環境差分管理
- CloudWatch Logs設計
- ALB関連付け
- ロールバック方針
- 日本語で作成する

ここでも

「まだ実装はしない」

という指示を入れています。

AIが設計書を作成

Agentは

ディレクトリ構成
plan.md
research.md
data-model.md
contracts/
quickstart.md

など、

設計書一式を生成しました。

正直、

ここまで細かく作られるとは思っていませんでした。

module構成まで考えてくれる

例えば、

Terraform構成として

ディレクトリ構成
modules/
    waf-alb/
environments/
    stg/
    prd/

という構成を提案してくれました。

さらに、

環境差分についても

  • stg → Count
  • prd → Block

variables と tfvars で切り替える設計になっていました。

CloudWatch Logsまで設計される

Planには

CloudWatch Logsも含まれていました。

例えば

ロググループ
aws-waf-logs-waf-alb-stg
aws-waf-logs-waf-alb-prd

など、

ロググループ名まで整理されています。

単なる Terraform コード生成ではなく、

設計書

になっています。

次はTasks

設計が終わると

次は

コマンド
/speckit-tasks

です。

ここでは

設計書から

実装タスクへ分解されます。

AI が 39 タスクへ分解

結果はこちらでした。

全部で

39 タスク

です。

最初は

多すぎる!

と思いました(笑)

しかし内容を見ると、

非常に細かく分割されていました。

例えば、

というように、

1ファイル単位でタスク化されています。

並列実行まで考えてくれる

さらに驚いたのが、

並列実行できるタスクまで提案してくれたことです。

例えば

タスク
T002
T003
T004

互いに依存しないため

並列実行可能

という整理までしてくれました。

AIが

プロジェクトマネージャーのような役割をしてくれています。

Analyzeも試してみる

ここで

コマンド
/speckit-analyze

も実施しました。

これは

の整合性チェックです。

指摘された内容

Analyzeでは

重大な問題はありませんでした。

しかし、

改善点として

以下が提案されました。

  • backend設計を明確にする
  • WAFのWCU確認
  • CloudWatch Metricsの整理

つまり、

コードではなく

設計

に対するレビューです。

ここが普通のAIチャットとの違いでした。

AIの指摘を採用してみる

今回は

AIから提案された

  • backend
  • WCU
  • metrics

について、

PlanとTasksへ反映してもらいました。

その結果、

39 タスクへ増え、

さらに品質が向上しました。

この流れも

仕様駆動開発らしいところだと思います。

実装前なのにレビューができる

個人的に一番良いと思ったのは

まだTerraformを書いていない

ことです。

それでも

設計レビュー

タスクレビュー

整合性レビュー

が終わっています。

従来なら

Terraformを書いてから

レビューしていた内容です。

AIとのやり取りも変わる

以前なら

プロンプト
Terraformを書いてください

でした。

しかし今回は

応答
設計を見直してください
↓
タスクを整理してください
↓
整合性を確認してください

という会話になりました。

AIを

コーディングツールではなく

設計レビューア

として使っている感覚でした。

次回予告

次回はいよいよ

コマンド
/speckit-implement

を実行します。

ここから

AIがTerraformコードを生成し、

AWS WAFを構築していきます。

途中では

  • Terraform Backend問題
  • bootstrap追加
  • WAF descriptionエラー
  • ALBアタッチ不要への仕様変更

など、

実際の開発らしい試行錯誤も発生しました。

そのあたりも含めて紹介したいと思います。

おわりに

今回の工程で感じたのは、

SpecKit は

「コードを書く前の品質」を上げるためのツール

だということです。

設計書を作り、

タスクを分解し、

さらにAI自身がレビューまでしてくれます。

Terraformを書く前なのに、

かなり完成度の高い設計が出来上がりました。

次回はいよいよ Implement編 として、

Terraformを生成し、AWS WAFを実際に構築していきます。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?