cursor-sdd 1.0.11 → 1.0.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,87 @@
1
+ <meta>
2
+ description: インタラクティブな技術設計品質レビューと検証
3
+ argument-hint: <feature-name:$1>
4
+ </meta>
5
+
6
+ # 技術設計検証
7
+
8
+ <background_information>
9
+ - **ミッション**: 技術設計のインタラクティブな品質レビューを実施し、実装準備の確認
10
+ - **成功基準**:
11
+ - 重大な問題の特定(最も重要な懸念事項を最大3つ)
12
+ - 強みを認識したバランスの取れた評価
13
+ - 根拠を伴う明確な GO/NO-GO 判定
14
+ - 必要に応じた改善のための実行可能なフィードバック
15
+ </background_information>
16
+
17
+ <instructions>
18
+ ## コアタスク
19
+ 承認済み要件と設計ドキュメントに基づいて、機能 **$1** のインタラクティブな設計品質レビューを実施する。
20
+
21
+ ## 実行ステップ
22
+
23
+ 1. **コンテキストの読み込み**:
24
+ - `.cursor/$1/spec.json` から言語とメタデータを読み込み
25
+ - `.cursor/$1/requirements.md` から要件を読み込み
26
+ - `.cursor/$1/design.md` から設計ドキュメントを読み込み
27
+
28
+ 2. **レビューガイドラインの読み込み**:
29
+ - `.cursor/rules/design-review.md` からレビュー基準とプロセスを読み込み
30
+
31
+ 3. **設計レビューの実行**:
32
+ - design-review.md のプロセスに従う: 分析 → 重大な問題 → 強み → GO/NO-GO
33
+ - 最も重要な懸念事項を最大3つに限定
34
+ - ユーザーとインタラクティブにやり取り
35
+ - spec.json で指定された言語で出力
36
+
37
+ 4. **判定と次のステップの提供**:
38
+ - 根拠を伴う明確な GO/NO-GO 判定
39
+ - 判定に基づいた進め方のガイド
40
+
41
+ ## 重要な制約
42
+ - **品質保証であり完璧追求ではない**: 許容可能なリスクを受け入れる
43
+ - **重大問題のみフォーカス**: 最大3問題、成功に著しく影響するもののみ
44
+ - **インタラクティブアプローチ**: 一方的な評価ではなく対話
45
+ - **バランスの取れた評価**: 強みと弱みの両方を認識
46
+ - **実行可能なフィードバック**: すべての提案は実装可能でなければならない
47
+ </instructions>
48
+
49
+ ## ツールガイダンス
50
+ - **最初に読み込み**: レビュー前にすべてのコンテキスト(spec、rules)を読み込み
51
+ - **必要に応じてGrep**: パターン検証や統合チェックのためコードベースを検索
52
+ - **インタラクティブ**: レビュープロセス全体を通じてユーザーとやり取り
53
+
54
+ ## 出力説明
55
+ spec.json で指定された言語で以下を出力:
56
+
57
+ 1. **レビューサマリー**: 設計品質と準備状況の簡潔な概要(2-3文)
58
+ 2. **重大な問題**: 最大3つ、design-review.md フォーマットに従う
59
+ 3. **設計の強み**: 1-2つのポジティブな側面
60
+ 4. **最終評価**: 根拠と次のステップを伴う GO/NO-GO 判定
61
+
62
+ **フォーマット要件**:
63
+ - 明確さのためMarkdown見出しを使用
64
+ - design-review.md 出力フォーマットに従う
65
+ - サマリーは簡潔に
66
+
67
+ ## 安全性とフォールバック
68
+
69
+ ### エラーシナリオ
70
+ - **設計が見つからない**: design.md が存在しない場合、メッセージで停止: "先に `/design $1` を実行して設計ドキュメントを生成してください"
71
+ - **設計が未生成**: spec.json で設計フェーズが生成済みとしてマークされていない場合、警告を出すがレビューを続行
72
+ - **言語が未定義**: spec.json で言語が指定されていない場合、英語(`en`)をデフォルトに
73
+
74
+ ### 次のフェーズ: タスク生成
75
+
76
+ **設計が検証に合格した場合(GO判定)**:
77
+ - フィードバックをレビューし、必要に応じて変更を適用
78
+ - `/tasks $1` を実行して実装タスクを生成
79
+ - または `/tasks $1 -y` で自動承認して直接進行
80
+
81
+ **設計の修正が必要な場合(NO-GO判定)**:
82
+ - 特定された重大な問題に対処
83
+ - `/design $1` を改善とともに再実行
84
+ - `/check-design $1` で再検証
85
+
86
+ **注記**: 設計検証は推奨ですがオプション。品質レビューにより問題を早期発見可能。
87
+ </output>
@@ -0,0 +1,188 @@
1
+ <meta>
2
+ description: 仕様の包括的な技術設計を作成
3
+ argument-hint: <feature-name:$1> [-y:$2]
4
+ </meta>
5
+
6
+ # 技術設計ジェネレーター
7
+
8
+ <background_information>
9
+ - **ミッション**: 要件(WHAT)をアーキテクチャ設計(HOW)に変換する包括的な技術設計ドキュメントを生成
10
+ - **成功基準**:
11
+ - すべての要件が明確なインターフェースを持つ技術コンポーネントにマップ
12
+ - 適切なアーキテクチャ発見と調査の完了
13
+ - 設計が既存パターンに整合
14
+ - 複雑なアーキテクチャには視覚的ダイアグラムを含む
15
+ </background_information>
16
+
17
+ <instructions>
18
+ ## コアタスク
19
+ 承認済み要件に基づいて、機能 **$1** の技術設計ドキュメントを生成する。
20
+
21
+ ## 実行ステップ
22
+
23
+ ### ステップ1: コンテキストの読み込み
24
+
25
+ **必要なすべてのコンテキストを読み込み**:
26
+ - `.cursor/$1/spec.json`、`requirements.md`、`design.md`(存在する場合)
27
+ - `.cursor/templates/specs/design.md` からドキュメント構造
28
+ - `.cursor/rules/design-principles.md` から設計原則
29
+ - `.cursor/templates/specs/research.md` から発見ログ構造
30
+ - **`package.json`(プロジェクトルートに存在する場合)**: 既存の依存関係とバージョンを把握
31
+ - `.cursor/rules/frontend.md`(存在する場合)からフロントエンド設計原則
32
+
33
+ **要件承認の検証**:
34
+ - `-y` フラグが提供された場合($2 == "-y"): spec.json で要件を自動承認
35
+ - それ以外: 承認状況を確認(未承認の場合は停止、安全性とフォールバック参照)
36
+
37
+ ### ステップ2: 発見と分析
38
+
39
+ **重要: このフェーズは設計が完全で正確な情報に基づくことを保証。**
40
+
41
+ 1. **機能タイプの分類**:
42
+ - **新機能**(グリーンフィールド)→ フル発見が必要
43
+ - **拡張**(既存システム)→ 統合重視の発見
44
+ - **シンプルな追加**(CRUD/UI)→ 最小限または発見なし
45
+ - **複雑な統合** → 包括的な分析が必要
46
+
47
+ 2. **既存パッケージの優先確認**(package.json が存在する場合):
48
+ - **優先原則**: 既にインストール済みのパッケージで要件を満たせる場合は、新規追加より既存を活用
49
+ - dependencies / devDependencies を確認し、使用可能なライブラリをリストアップ
50
+ - 既存パッケージのバージョンと互換性を検証
51
+ - 不足している機能がある場合のみ、追加パッケージを検討
52
+
53
+ 3. **適切な発見プロセスの実行**:
54
+
55
+ **複雑/新機能の場合**:
56
+ - `.cursor/rules/design-discovery-full.md` を読み込んで実行
57
+ - WebSearch/WebFetch を使用した徹底的な調査:
58
+ - 最新のアーキテクチャパターンとベストプラクティス
59
+ - 外部依存関係の検証(API、ライブラリ、バージョン、互換性)
60
+ - 公式ドキュメント、移行ガイド、既知の問題
61
+ - パフォーマンスベンチマークとセキュリティ考慮事項
62
+
63
+ **拡張の場合**:
64
+ - `.cursor/rules/design-discovery-light.md` を読み込んで実行
65
+ - 統合ポイント、既存パターン、互換性にフォーカス
66
+ - Grep を使用して既存コードベースのパターンを分析
67
+
68
+ **シンプルな追加の場合**:
69
+ - 正式な発見をスキップ、クイックパターンチェックのみ
70
+
71
+ 4. **発見結果をステップ3用に保持**:
72
+ - 外部APIの契約と制約
73
+ - 根拠を伴う技術的決定
74
+ - 従うまたは拡張する既存パターン
75
+ - 統合ポイントと依存関係
76
+ - 特定されたリスクと緩和戦略
77
+ - 潜在的なアーキテクチャパターンと境界オプション(詳細を `research.md` に記録)
78
+ - 将来のタスク用の並列化考慮事項(依存関係を `research.md` にキャプチャ)
79
+ - **パッケージ選定結果**:
80
+ - 既存パッケージの活用リスト(package.json から)
81
+ - 追加推奨パッケージ(理由・用途を明記)
82
+ - 不要または代替可能な既存パッケージ(あれば)
83
+
84
+ 5. **発見結果をリサーチログに永続化**:
85
+ - 共有テンプレートを使用して `.cursor/$1/research.md` を作成または更新
86
+ - 発見スコープと主要な発見をサマリーセクションに記録
87
+ - リサーチログトピックに調査、ソース、影響を記録
88
+ - テンプレートセクションを使用してアーキテクチャパターン評価、設計決定、リスクを文書化
89
+ - `research.md` の記述には spec.json で指定された言語を使用
90
+
91
+ ### ステップ3: 設計ドキュメントの生成
92
+
93
+ 1. **設計テンプレートとルールの読み込み**:
94
+ - `.cursor/templates/specs/design.md` から構造
95
+ - `.cursor/rules/design-principles.md` から原則
96
+
97
+ 2. **設計ドキュメントの生成**:
98
+ - **specs/design.md テンプレート構造と生成指示に厳密に従う**
99
+ - **すべての発見結果を統合**: 調査した情報(API、パターン、技術)をコンポーネント定義、アーキテクチャ決定、統合ポイント全体で使用
100
+ - ステップ1で既存の design.md が見つかった場合、参照コンテキストとして使用(マージモード)
101
+ - 設計ルールを適用: 型安全性、ビジュアルコミュニケーション、フォーマルトーン
102
+ - spec.json で指定された言語を使用
103
+ - セクションが更新された見出し("アーキテクチャパターンと境界マップ"、"技術スタックと整合性"、"コンポーネントとインターフェース契約")を反映し、`research.md` からのサポート詳細を参照することを確認
104
+
105
+ 3. **spec.json のメタデータを更新**:
106
+ - `phase: "design-generated"` を設定
107
+ - `approvals.design.generated: true, approved: false` を設定
108
+ - `approvals.requirements.approved: true` を設定
109
+ - `updated_at` タイムスタンプを更新
110
+
111
+ ## 重要な制約
112
+ - **型安全性**:
113
+ - プロジェクトの技術スタックに合わせた強い型付けを適用。
114
+ - 静的型付け言語では、明示的な型/インターフェースを定義し、安全でないキャストを避ける。
115
+ - TypeScriptでは、`any` を使用しない。正確な型とジェネリクスを優先。
116
+ - 動的型付け言語では、利用可能な型ヒント/アノテーション(例: Python型ヒント)を提供し、境界で入力を検証。
117
+ - 公開インターフェースと契約を明確に文書化し、コンポーネント間の型安全性を確保。
118
+ - **最新情報**: 外部依存関係とベストプラクティスには WebSearch/WebFetch を使用
119
+ - **テンプレート準拠**: specs/design.md テンプレート構造と生成指示に厳密に従う
120
+ - **設計フォーカス**: アーキテクチャとインターフェースのみ、実装コードなし
121
+ - **要件トレーサビリティID**: requirements.md で定義された通りの数値要件IDのみを使用(例: "1.1"、"1.2"、"3.1"、"3.3")。新しいIDを発明したりアルファベットラベルを使用しない。
122
+
123
+ ### 言語リマインダー
124
+ - spec.json が設計出力に別の言語を要求しても、Markdownプロンプトコンテンツは英語のままにする。生成される design.md と research.md は spec の言語を使用すべき。
125
+ </instructions>
126
+
127
+ ## ツールガイダンス
128
+ - **最初に読み込み**: アクション前にすべてのコンテキストを読み込み(specs、templates、rules)
129
+ - **不確かな時は調査**: 外部依存関係、API、最新ベストプラクティスには WebSearch/WebFetch を使用
130
+ - **既存コードを分析**: Grep を使用してコードベースのパターンと統合ポイントを検索
131
+ - **最後に書き込み**: すべての調査と分析完了後にのみ design.md を生成
132
+
133
+ ## 出力説明
134
+
135
+ **コマンド実行出力**(design.md コンテンツとは別):
136
+
137
+ spec.json で指定された言語で簡潔なサマリーを提供:
138
+
139
+ 1. **ステータス**: `.cursor/$1/design.md` に設計ドキュメント生成完了を確認
140
+ 2. **発見タイプ**: どの発見プロセスが実行されたか(full/light/minimal)
141
+ 3. **主要な発見**: 設計を形作った2-3の重要な洞察
142
+ 4. **パッケージ選定サマリー**:
143
+ - 既存パッケージで活用するもの
144
+ - 追加推奨パッケージ(あれば理由と共に)
145
+ 5. **次のアクション**: 承認ワークフローのガイダンス(安全性とフォールバック参照)
146
+
147
+ **フォーマット**: 簡潔なMarkdown(200語以内)- これはコマンド出力であり、設計ドキュメント自体ではない
148
+
149
+ **注記**: 実際の設計ドキュメントは `.cursor/templates/specs/design.md` 構造に従う。
150
+
151
+ ## 安全性とフォールバック
152
+
153
+ ### エラーシナリオ
154
+
155
+ **要件が未承認**:
156
+ - **実行停止**: 承認済み要件なしでは続行不可
157
+ - **ユーザーメッセージ**: "要件がまだ承認されていません。設計生成前に承認が必要です。"
158
+ - **提案アクション**: "`/design $1 -y` を実行して要件を自動承認して進行"
159
+
160
+ **要件が見つからない**:
161
+ - **実行停止**: 要件ドキュメントが存在しなければならない
162
+ - **ユーザーメッセージ**: "`.cursor/$1/requirements.md` に requirements.md が見つかりません"
163
+ - **提案アクション**: "先に `/requirements $1` を実行して要件を生成してください"
164
+
165
+ **テンプレートが見つからない**:
166
+ - **ユーザーメッセージ**: "`.cursor/templates/specs/design.md` にテンプレートファイルがありません"
167
+ - **提案アクション**: "リポジトリセットアップを確認するか、テンプレートファイルを復元"
168
+ - **フォールバック**: 警告付きでインライン基本構造を使用
169
+
170
+ **発見の複雑さが不明確**:
171
+ - **デフォルト**: フル発見プロセスを使用(`.cursor/rules/design-discovery-full.md`)
172
+ - **根拠**: 重要なコンテキストを見逃すより過剰調査の方が良い
173
+ - **無効な要件ID**:
174
+ - **実行停止**: requirements.md に数値IDがない、または非数値の見出し(例: "Requirement A")がある場合、停止して続行前に requirements.md の修正を指示。
175
+
176
+ ### 次のフェーズ: タスク生成
177
+
178
+ **設計が承認された場合**:
179
+ - `.cursor/$1/design.md` で生成された設計をレビュー
180
+ - **オプション**: `/validate-design $1` でインタラクティブな品質レビューを実行
181
+ - その後 `/tasks $1 -y` で実装タスクを生成
182
+
183
+ **修正が必要な場合**:
184
+ - フィードバックを提供し `/design $1` を再実行
185
+ - 既存の設計は参照として使用(マージモード)
186
+
187
+ **注記**: タスク生成に進む前に設計の承認が必須。
188
+ </output>
@@ -0,0 +1,83 @@
1
+ <meta>
2
+ description: 要件と既存コードベース間の実装ギャップを分析
3
+ argument-hint: <feature-name:$1>
4
+ </meta>
5
+
6
+ # 実装ギャップ検証
7
+
8
+ <background_information>
9
+ - **ミッション**: 要件と既存コードベースのギャップを分析し、実装戦略を策定
10
+ - **成功基準**:
11
+ - 既存コードベースのパターンとコンポーネントの包括的な理解
12
+ - 不足している機能と統合課題の明確な特定
13
+ - 複数の実行可能な実装アプローチの評価
14
+ - 設計フェーズに必要な技術調査の特定
15
+ </background_information>
16
+
17
+ <instructions>
18
+ ## コアタスク
19
+ 承認済み要件と既存コードベースに基づいて、機能 **$1** の実装ギャップを分析する。
20
+
21
+ ## 実行ステップ
22
+
23
+ 1. **コンテキストの読み込み**:
24
+ - `.cursor/$1/spec.json` から言語とメタデータを読み込み
25
+ - `.cursor/$1/requirements.md` から要件を読み込み
26
+
27
+ 2. **分析ガイドラインの読み込み**:
28
+ - `.cursor/rules/gap-analysis.md` から包括的な分析フレームワークを読み込み
29
+
30
+ 3. **ギャップ分析の実行**:
31
+ - gap-analysis.md フレームワークに従って徹底的な調査を実施
32
+ - Grep と Read ツールを使用して既存コードベースを分析
33
+ - 必要に応じて WebSearch/WebFetch で外部依存関係を調査
34
+ - 複数の実装アプローチ(拡張/新規/ハイブリッド)を評価
35
+ - spec.json で指定された言語で出力
36
+
37
+ 4. **分析ドキュメントの生成**:
38
+ - gap-analysis.md の出力ガイドラインに従って包括的なギャップ分析を作成
39
+ - トレードオフを含む複数の実行可能なオプションを提示
40
+ - さらなる調査が必要な領域にフラグを立てる
41
+
42
+ ## 重要な制約
43
+ - **決定より情報**: 最終的な実装選択ではなく、分析とオプションを提供
44
+ - **複数オプション**: 適用可能な場合は代替案を提示
45
+ - **徹底的な調査**: ツールを使用して既存コードベースを深く理解
46
+ - **明示的なギャップ**: 調査や検討が必要な領域を明確にフラグ
47
+ </instructions>
48
+
49
+ ## ツールガイダンス
50
+ - **最初に読み込み**: 分析前にすべてのコンテキスト(spec、rules)を読み込み
51
+ - **広範囲にGrep**: パターン、規約、統合ポイントをコードベースで検索
52
+ - **WebSearch/WebFetch**: 必要に応じて外部依存関係とベストプラクティスを調査
53
+ - **最後に書き込み**: 完全な調査後にのみ分析を生成
54
+
55
+ ## 出力説明
56
+ spec.json で指定された言語で以下を出力:
57
+
58
+ 1. **分析サマリー**: スコープ、課題、推奨事項の簡潔な概要(3-5項目)
59
+ 2. **ドキュメントステータス**: 使用した分析アプローチの確認
60
+ 3. **次のステップ**: 設計フェーズへの進め方をガイド
61
+
62
+ **フォーマット要件**:
63
+ - 明確さのためMarkdown見出しを使用
64
+ - サマリーは簡潔に(300語以内)
65
+ - 詳細分析は gap-analysis.md 出力ガイドラインに従う
66
+
67
+ ## 安全性とフォールバック
68
+
69
+ ### エラーシナリオ
70
+ - **要件が見つからない**: requirements.md が存在しない場合、メッセージで停止: "先に `/spec-requirements $1` を実行して要件を生成してください"
71
+ - **要件が未承認**: 要件が承認されていない場合、警告を出すが続行(ギャップ分析は要件修正に役立つ)
72
+ - **複雑な統合が不明確**: ブロックするのではなく、設計フェーズでの包括的調査のためにフラグ
73
+ - **言語が未定義**: spec.json で言語が指定されていない場合、英語(`en`)をデフォルトに
74
+
75
+ ### 次のフェーズ: 設計生成
76
+
77
+ **ギャップ分析完了時**:
78
+ - ギャップ分析の洞察をレビュー
79
+ - `/spec-design $1` を実行して技術設計ドキュメントを作成
80
+ - または `/spec-design $1 -y` で要件を自動承認し直接進行
81
+
82
+ **注記**: ギャップ分析はオプションですが、ブラウンフィールドプロジェクトでは設計決定の参考として推奨。
83
+ </output>
@@ -0,0 +1,109 @@
1
+ <meta>
2
+ description: TDD手法を使用してspecタスクを実行
3
+ argument-hint: <feature-name:$1> [task-numbers:$2]
4
+ </meta>
5
+
6
+ # 実装タスク実行
7
+
8
+ <background_information>
9
+ - **ミッション**: 承認済み仕様に基づいて、テスト駆動開発手法を使用して実装タスクを実行
10
+ - **成功基準**:
11
+ - すべてのテストを実装コードより先に記述
12
+ - コードがすべてのテストに合格しリグレッションなし
13
+ - タスクが tasks.md で完了としてマーク
14
+ - 実装が設計と要件に整合
15
+ </background_information>
16
+
17
+ <instructions>
18
+ ## コアタスク
19
+ テスト駆動開発を使用して、機能 **$1** の実装タスクを実行する。
20
+
21
+ ## 実行ステップ
22
+
23
+ ### ステップ1: コンテキストの読み込み
24
+
25
+ **必要なすべてのコンテキストを読み込み**:
26
+ - `.cursor/$1/spec.json`、`requirements.md`、`design.md`、`tasks.md`
27
+ - `.cursor/rules/frontend.md`(存在する場合)からフロントエンド実装ルール
28
+
29
+ **承認の検証**:
30
+ - spec.json でタスクが承認されていることを確認(されていない場合は停止、安全性とフォールバック参照)
31
+
32
+ ### ステップ2: タスクの選択
33
+
34
+ **実行するタスクを決定**:
35
+ - `$2` が提供された場合: 指定されたタスク番号を実行(例: "1.1" または "1,2,3")
36
+ - それ以外: すべての保留タスクを実行(tasks.md で未チェック `- [ ]`)
37
+
38
+ ### ステップ3: TDDで実行
39
+
40
+ 選択された各タスクについて、Kent BeckのTDDサイクルに従う:
41
+
42
+ 1. **RED - 失敗するテストを書く**:
43
+ - 次の小さな機能のテストを書く
44
+ - テストは失敗するはず(コードがまだ存在しない)
45
+ - 説明的なテスト名を使用
46
+
47
+ 2. **GREEN - 最小限のコードを書く**:
48
+ - テストを通過させる最もシンプルなソリューションを実装
49
+ - このテストを通過させることだけにフォーカス
50
+ - オーバーエンジニアリングを避ける
51
+
52
+ 3. **REFACTOR - クリーンアップ**:
53
+ - コード構造と可読性を改善
54
+ - 重複を削除
55
+ - 適切な箇所にデザインパターンを適用
56
+ - リファクタリング後もすべてのテストが通過することを確認
57
+
58
+ 4. **VERIFY - 品質を検証**:
59
+ - すべてのテストが通過(新規と既存)
60
+ - 既存機能にリグレッションなし
61
+ - コードカバレッジを維持または改善
62
+
63
+ 5. **完了マーク**:
64
+ - tasks.md でチェックボックスを `- [ ]` から `- [x]` に更新
65
+
66
+ ## 重要な制約
67
+ - **TDD必須**: テストは実装コードより先に書かなければならない
68
+ - **タスクスコープ**: 特定のタスクが要求するものだけを実装
69
+ - **テストカバレッジ**: すべての新しいコードにテストが必要
70
+ - **リグレッションなし**: 既存のテストは引き続き通過しなければならない
71
+ - **設計整合性**: 実装は design.md 仕様に従わなければならない
72
+ </instructions>
73
+
74
+ ## ツールガイダンス
75
+ - **最初に読み込み**: 実装前にすべてのコンテキストを読み込み
76
+ - **テストファースト**: コードより先にテストを書く
77
+ - 必要に応じてライブラリドキュメントのため **WebSearch/WebFetch** を使用
78
+
79
+ ## 出力説明
80
+
81
+ spec.json で指定された言語で簡潔なサマリーを提供:
82
+
83
+ 1. **実行されたタスク**: タスク番号とテスト結果
84
+ 2. **ステータス**: 完了タスクが tasks.md でマーク、残りのタスク数
85
+
86
+ **フォーマット**: 簡潔(150語以内)
87
+
88
+ ## 安全性とフォールバック
89
+
90
+ ### エラーシナリオ
91
+
92
+ **タスクが未承認またはSpecファイルが見つからない**:
93
+ - **実行停止**: すべてのspecファイルが存在し、タスクが承認されていなければならない
94
+ - **提案アクション**: "前のフェーズを完了してください: `/requirements`、`/design`、`/tasks`"
95
+
96
+ **テスト失敗**:
97
+ - **実装停止**: 続行前に失敗したテストを修正
98
+ - **アクション**: デバッグして修正、その後再実行
99
+
100
+ ### タスク実行
101
+
102
+ **特定のタスクを実行**:
103
+ - `/impl $1 1.1` - 単一タスク
104
+ - `/impl $1 1,2,3` - 複数タスク
105
+
106
+ **すべての保留タスクを実行**:
107
+ - `/impl $1` - すべての未チェックタスク
108
+
109
+ </output>
@@ -0,0 +1,65 @@
1
+ <meta>
2
+ description: 詳細なプロジェクト説明で新しい仕様を初期化
3
+ argument-hint: <project-description>
4
+ </meta>
5
+
6
+ # Spec 初期化
7
+
8
+ <background_information>
9
+ - **ミッション**: 新しい仕様のディレクトリ構造とメタデータを作成し、spec駆動開発の最初のフェーズを初期化
10
+ - **成功基準**:
11
+ - ワークスペースのルートフォルダ名をプロジェクト名として使用
12
+ - `.cursor/[ルートフォルダ名]/` にspec構造を作成
13
+ - 次のフェーズ(要件生成)への明確なパスを提供
14
+ </background_information>
15
+
16
+ <instructions>
17
+ ## コアタスク
18
+ ワークスペースのルートフォルダ名をプロジェクト名として使用し、仕様構造を初期化する。
19
+
20
+ ## 実行ステップ
21
+ 1. **プロジェクト名の取得**: ワークスペースのルートフォルダ名をプロジェクト名として使用
22
+ 2. **ディレクトリ作成**: `.cursor/[ルートフォルダ名]/`
23
+ 3. **テンプレートを使用してファイルを初期化**:
24
+ - `.cursor/templates/specs/init.json` を読み込み
25
+ - `.cursor/templates/specs/requirements-init.md` を読み込み
26
+ - プレースホルダーを置換:
27
+ - `{{FEATURE_NAME}}` → ルートフォルダ名(プロジェクト名)
28
+ - `{{TIMESTAMP}}` → 現在の ISO 8601 タイムスタンプ
29
+ - `{{PROJECT_DESCRIPTION}}` → $ARGUMENTS
30
+ - `spec.json` と `requirements.md` を `.cursor/[ルートフォルダ名]/` に書き込み
31
+
32
+ ## 重要な制約
33
+ - この段階で requirements/design/tasks を生成しない
34
+ - ステージごとの開発原則に従う
35
+ - 厳格なフェーズ分離を維持
36
+ - このフェーズでは初期化のみを実行
37
+ </instructions>
38
+
39
+ ## ツールガイダンス
40
+ - **Glob** を使用して `.cursor/[ルートフォルダ名]/` が既に存在するか確認
41
+ - **Read** を使用してテンプレートを取得: `init.json` と `requirements-init.md`
42
+ - **Write** を使用してプレースホルダー置換後に spec.json と requirements.md を作成
43
+ - ファイル書き込み操作前に検証を実行
44
+
45
+ ## 出力説明
46
+ `spec.json` で指定された言語で以下の構造で出力:
47
+
48
+ 1. **プロジェクト名**: ルートフォルダ名から取得したプロジェクト名
49
+ 2. **プロジェクトサマリー**: 簡潔なサマリー(1文)
50
+ 3. **作成されたファイル**: フルパス付きの箇条書きリスト
51
+ 4. **次のステップ**: `/requirements` を示すコマンドブロック
52
+ 5. **注記**: 初期化のみが実行された理由の説明(フェーズ分離について2-3文)
53
+
54
+ **フォーマット要件**:
55
+ - Markdown見出しを使用(##、###)
56
+ - コマンドはコードブロックで囲む
57
+ - 総出力は簡潔に(250語以内)
58
+ - `spec.json.language` に従った明確でプロフェッショナルな言語を使用
59
+
60
+ ## 安全性とフォールバック
61
+ - **テンプレートが見つからない**: `.cursor/templates/specs/` にテンプレートファイルが存在しない場合、具体的な不足ファイルパスでエラーを報告し、リポジトリセットアップの確認を提案
62
+ - **ディレクトリ既存**: `.cursor/[ルートフォルダ名]/` が既に存在する場合、上書きするか確認をユーザーに求める
63
+ - **書き込み失敗**: 具体的なパスでエラーを報告し、権限またはディスク容量の確認を提案
64
+
65
+ </output>
@@ -0,0 +1,91 @@
1
+ <meta>
2
+ description: 仕様の包括的な要件を生成
3
+ argument-hint: <feature-name:$1>
4
+ </meta>
5
+
6
+ # 要件生成
7
+
8
+ <background_information>
9
+ - **ミッション**: spec初期化からのプロジェクト説明に基づいて、EARSフォーマットで包括的でテスト可能な要件を生成
10
+ - **成功基準**:
11
+ - 完全な要件ドキュメントを作成
12
+ - すべての受け入れ基準にプロジェクトのEARSパターンと制約を適用
13
+ - 実装詳細なしでコア機能にフォーカス
14
+ - メタデータを更新して生成状況を追跡
15
+ </background_information>
16
+
17
+ <instructions>
18
+ ## コアタスク
19
+ requirements.md のプロジェクト説明に基づいて、機能 **$1** の完全な要件を生成する。
20
+
21
+ ## 実行ステップ
22
+
23
+ 1. **コンテキストの読み込み**:
24
+ - `.cursor/$1/spec.json` から言語とメタデータを読み込み
25
+ - `.cursor/$1/requirements.md` からプロジェクト説明を読み込み
26
+
27
+ 2. **ガイドラインの読み込み**:
28
+ - `.cursor/rules/ears-format.md` から EARS 構文ルールを読み込み
29
+ - `.cursor/templates/specs/requirements.md` からドキュメント構造を読み込み
30
+
31
+ 3. **要件の生成**:
32
+ - プロジェクト説明に基づいて初期要件を作成
33
+ - 関連機能を論理的な要件領域にグループ化
34
+ - すべての受け入れ基準に EARS フォーマットを適用
35
+ - spec.json で指定された言語を使用
36
+
37
+ 4. **メタデータの更新**:
38
+ - `phase: "requirements-generated"` を設定
39
+ - `approvals.requirements.generated: true` を設定
40
+ - `updated_at` タイムスタンプを更新
41
+
42
+ ## 重要な制約
43
+ - 何を(WHAT)にフォーカスし、どのように(HOW)は含めない(実装詳細なし)
44
+ - 要件はテスト可能で検証可能でなければならない
45
+ - EARS文の適切な主語を選択(ソフトウェアにはシステム/サービス名)
46
+ - 最初に初期バージョンを生成し、その後ユーザーフィードバックで反復(事前の連続質問なし)
47
+ - requirements.md の要件見出しには先頭に数値IDのみを含めること(例: "Requirement 1"、"1."、"2 Feature ...")、"Requirement A" のようなアルファベットIDは使用しない
48
+ </instructions>
49
+
50
+ ## ツールガイダンス
51
+ - **最初に読み込み**: 生成前にすべてのコンテキスト(spec、rules、templates)を読み込み
52
+ - **最後に書き込み**: 完全な生成後にのみ requirements.md を更新
53
+ - 外部ドメイン知識が必要な場合のみ **WebSearch/WebFetch** を使用
54
+
55
+ ## 出力説明
56
+ spec.json で指定された言語で以下を出力:
57
+
58
+ 1. **生成された要件サマリー**: 主要な要件領域の簡潔な概要(3-5項目)
59
+ 2. **ドキュメントステータス**: requirements.md の更新と spec.json メタデータの更新を確認
60
+ 3. **次のステップ**: 進め方をガイド(承認して続行、または修正)
61
+
62
+ **フォーマット要件**:
63
+ - 明確さのためMarkdown見出しを使用
64
+ - ファイルパスはコードブロックに含める
65
+ - サマリーは簡潔に(300語以内)
66
+
67
+ ## 安全性とフォールバック
68
+
69
+ ### エラーシナリオ
70
+ - **プロジェクト説明が見つからない**: requirements.md にプロジェクト説明がない場合、ユーザーに機能詳細を確認
71
+ - **曖昧な要件**: 多くの事前質問ではなく、初期バージョンを提案してユーザーと反復
72
+ - **テンプレートが見つからない**: テンプレートファイルが存在しない場合、警告付きでインラインフォールバック構造を使用
73
+ - **言語が未定義**: spec.json で言語が指定されていない場合、日本語(`ja`)をデフォルトに
74
+ - **不完全な要件**: 生成後、要件が期待されるすべての機能をカバーしているか明示的にユーザーに確認
75
+ - **非数値の要件見出し**: 既存の見出しに先頭の数値IDがない場合(例: "Requirement A")、数値IDに正規化し、マッピングの一貫性を維持(数値とアルファベットのラベルを混在させない)
76
+
77
+ ### 次のフェーズ: 設計生成
78
+
79
+ **要件が承認された場合**:
80
+ - `.cursor/$1/requirements.md` で生成された要件をレビュー
81
+ - **オプションのギャップ分析**(既存コードベース用):
82
+ - `/validate-gap $1` を実行して現在のコードとの実装ギャップを分析
83
+ - 既存コンポーネント、統合ポイント、実装戦略を特定
84
+ - ブラウンフィールドプロジェクトには推奨、グリーンフィールドにはスキップ
85
+ - その後 `/design $1 -y` で設計フェーズに進む
86
+
87
+ **修正が必要な場合**:
88
+ - フィードバックを提供し `/requirements $1` を再実行
89
+
90
+ **注記**: 設計フェーズに進む前に承認が必須。
91
+ </output>