yodogawa 1.0.0 → 1.0.1

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.
@@ -23,6 +23,7 @@ auto_execution_mode: 1
23
23
  ### 1. ドキュメントディレクトリの確認
24
24
 
25
25
  - `docs/project/requirements/` ディレクトリの存在を確認:
26
+
26
27
  ```bash
27
28
  ls -la docs/project/requirements/ 2>/dev/null || echo "ディレクトリが存在しません"
28
29
  ```
@@ -30,9 +31,30 @@ auto_execution_mode: 1
30
31
  - ディレクトリが存在しない場合:
31
32
  - ユーザーに通知:「`docs/project/requirements/` ディレクトリが見つかりません。先に `SetupDocStructure` (a-001) を実行してディレクトリ構造を作成してください。」
32
33
 
33
- ### 2. システム概要の作成
34
+ ### 2. コードベースの自動分析と提案
35
+
36
+ 1. **コードベースの全体調査**:
37
+
38
+ - プロジェクトのルートにある `README.md`, `package.json`, および主要なソースコードを読み込む。
39
+ - 以下のコマンド等を使用して現状を把握する:
40
+ ```bash
41
+ ls -F
42
+ cat package.json 2>/dev/null
43
+ cat README.md 2>/dev/null
44
+ find src app lib -maxdepth 2 2>/dev/null
45
+ ```
46
+
47
+ 2. **AI による分析と提案**:
48
+ - 読み込んだ情報を基に、以下の内容を分析・推測し、ユーザーに提示する。
49
+ - **システム概要**: プロジェクトの目的、主要な技術スタック。
50
+ - **実装済み機能**: ファイル構造やコードから推測される機能。
51
+ - **ユーザーストーリー**: 想定されるユーザー像と利用シーン。
52
+ - この分析結果は、後続のステップ(システム概要の作成、機能一覧の作成など)の基礎情報として活用する。
53
+
54
+ ### 3. システム概要の作成
34
55
 
35
56
  1. **テンプレートの準備**:
57
+
36
58
  ```bash
37
59
  cp ".windsurf/templates/project/01-requirements/01-system-overview.md" "docs/project/requirements/01-system-overview.md"
38
60
  ```
@@ -41,24 +63,28 @@ auto_execution_mode: 1
41
63
  以下の質問を行い、その回答で `docs/project/requirements/01-system-overview.md` を更新する。
42
64
 
43
65
  #### 背景
66
+
44
67
  - 「このシステムで解決しようとしている**具体的な問題や課題**は何ですか?」
45
68
  - 「その問題はなぜ重要ですか?放置した場合のリスクは?」
46
69
  - 「問題の影響を受けるステークホルダー(ユーザー、組織、チームなど)は誰ですか?」
47
70
  - 「具体的な数値やデータ(例:作業時間、コスト、離脱率など)があれば教えてください。」
48
71
 
49
72
  #### 目的
73
+
50
74
  - 「このシステムが提供する**具体的な価値や解決策**は何ですか?」
51
- - 「期待される成果や変化を、測定可能な形で表現できますか?(例:作業時間50%削減)」
75
+ - 「期待される成果や変化を、測定可能な形で表現できますか?(例:作業時間 50%削減)」
52
76
  - 「どのように問題を解決するか、具体的なメカニズムや仕組みを教えてください。」
53
77
 
54
- ### 3. 実装済み機能一覧の作成
78
+ ### 4. 実装済み機能一覧の作成
55
79
 
56
80
  1. **テンプレートの準備**:
81
+
57
82
  ```bash
58
83
  cp ".windsurf/templates/project/01-requirements/02-features-implemented.md" "docs/project/requirements/02-features-implemented.md"
59
84
  ```
60
85
 
61
86
  2. **コードベースの調査と提案**:
87
+
62
88
  - プロジェクト内のソースコードを簡易検索し、実装済みの兆候を探す。
63
89
  ```bash
64
90
  # 主要なソースディレクトリの構造を確認(例)
@@ -78,78 +104,91 @@ auto_execution_mode: 1
78
104
  - **Category 2**(中分類:認証、プロフィールなど)
79
105
  - **機能名**(ユーザー視点の名称)
80
106
  - **説明**(何ができるか)
81
- - **機能ID**(FN-XXX形式、連番)
107
+ - **機能 ID**(FN-XXX 形式、連番)
82
108
 
83
- ### 4. 予定機能一覧の作成
109
+ ### 5. 予定機能一覧の作成
84
110
 
85
111
  1. **テンプレートの準備**:
112
+
86
113
  ```bash
87
114
  cp ".windsurf/templates/project/01-requirements/03-features-planned.md" "docs/project/requirements/03-features-planned.md"
88
115
  ```
89
116
 
90
117
  2. **要件ギャップ分析と提案**:
118
+
91
119
  - 「システム概要」で確認した目的・スコープと、「実装済み機能」の差分を分析する。
92
120
  - 未実装と思われる主要機能をリストアップし、ユーザーに提案する。
93
121
  - 「システム概要で『〇〇機能』への言及がありましたが、まだ実装されていないようです。これを予定機能に追加しますか?」
94
- - 「現在の実装には『××』が含まれていますが、これに関連する『△△機能』は将来的に必要になりますか?」
122
+ - 「現在の実装には『××』が含まれていますが、これに関連する『△△ 機能』は将来的に必要になりますか?」
95
123
 
96
124
  3. **ヒアリングと記入**:
97
125
  提案内容へのフィードバックを含め、以下の質問を行う。回答をテーブル形式で `docs/project/requirements/03-features-planned.md` に記入する。
98
126
 
99
127
  - 「今後実装予定の機能をリストアップしてください(提案した機能含む)。各機能について以下を明確にします:」
128
+
100
129
  - **Category 1**(大分類)
101
130
  - **Category 2**(中分類)
102
131
  - **機能名**(アイデア段階でも可)
103
132
  - **説明**(目的や価値を中心に)
104
-
105
- ※テンプレートの方針に従い、**機能ID**や**優先度**はこの段階では確定させず、柔軟性を重視して記載しない。
106
133
 
107
- ### 5. 非機能要件一覧の作成
134
+ ※テンプレートの方針に従い、**機能 ID**や**優先度**はこの段階では確定させず、柔軟性を重視して記載しない。
135
+
136
+ ### 6. 非機能要件一覧の作成
108
137
 
109
138
  1. **テンプレートの準備**:
139
+
110
140
  ```bash
111
141
  cp ".windsurf/templates/project/01-requirements/04-non-functional-requirements.md" "docs/project/requirements/04-non-functional-requirements.md"
112
142
  ```
113
143
 
114
144
  2. **必要性の確認と標準提案**:
145
+
115
146
  - ユーザーに定義の必要性を確認する:
147
+
116
148
  - 「現段階で非機能要件(パフォーマンス、セキュリティなど)を詳細に定義する必要がありますか?『標準的な設定』で仮置きして後で調整することも可能です。」
117
-
149
+
118
150
  - 必要または仮置きの場合、一般的なベストプラクティスを提案する:
119
- - 「Webアプリケーションの標準的な目標値として、以下を提案します。これで問題ないか確認してください:」
120
- - **パフォーマンス**: ページ読み込み3秒以内、API応答500ms以内
121
- - **セキュリティ**: HTTPS必須、パスワードはハッシュ化、基本認証/OAuth
122
- - **可用性**: 日次バックアップ、稼働率99.5%(平日日中)
151
+ - 「Web アプリケーションの標準的な目標値として、以下を提案します。これで問題ないか確認してください:」
152
+ - **パフォーマンス**: ページ読み込み 3 秒以内、API 応答 500ms 以内
153
+ - **セキュリティ**: HTTPS 必須、パスワードはハッシュ化、基本認証/OAuth
154
+ - **可用性**: 日次バックアップ、稼働率 99.5%(平日日中)
123
155
 
124
156
  3. **ヒアリングと記入**:
125
157
  提案内容への合意、または独自の要件がある場合、以下の観点で**定量的な目標**を確認し、回答で `docs/project/requirements/04-non-functional-requirements.md` の各テーブルを更新する。
126
158
 
127
159
  #### パフォーマンス
160
+
128
161
  - 「ページ読み込み時間の目標は?」
129
- - 「APIレスポンス時間の目標は?」
162
+ - 「API レスポンス時間の目標は?」
130
163
  - 「想定される同時接続ユーザー数、データ量は?」
131
164
 
132
165
  #### セキュリティ
166
+
133
167
  - 「認証方式、機密データの扱い、コンプライアンス要件は?」
134
168
 
135
169
  #### 可用性・信頼性
170
+
136
171
  - 「稼働率目標、許容ダウンタイム、バックアップ要件は?」
137
172
 
138
173
  #### スケーラビリティ
174
+
139
175
  - 「ユーザー数の成長予測、ピーク時のトラフィック想定は?」
140
176
 
141
177
  #### ユーザビリティ・保守性
178
+
142
179
  - 「アクセシビリティ、対応言語、デバイス、ブラウザは?」
143
180
  - 「ログ・監視要件、デプロイ頻度は?」
144
181
 
145
- ### 6. ユーザーストーリーの作成
182
+ ### 7. ユーザーストーリーの作成
146
183
 
147
184
  1. **テンプレートの準備**:
185
+
148
186
  ```bash
149
187
  cp ".windsurf/templates/project/01-requirements/05-user-stories.md" "docs/project/requirements/05-user-stories.md"
150
188
  ```
151
189
 
152
190
  2. **分析と提案**:
191
+
153
192
  - ここまで作成した「システム概要」「機能一覧(実装済み/予定)」を分析し、主要なユーザージャーニーを抽出する。
154
193
  - ユーザーに代表的なストーリーを提案する:
155
194
  - 「『〇〇機能』に基づき、以下のストーリーが考えられますが、いかがでしょうか?」
@@ -161,33 +200,34 @@ auto_execution_mode: 1
161
200
  - 「他に主要なユーザージャーニーがあれば教えてください([役割]として、[目的]がしたい、なぜなら[理由])。」
162
201
  - 各ストーリーの優先度、受け入れ基準を確認する。
163
202
 
164
- ### 7. 全体レビュー
203
+ ### 8. 全体レビュー
165
204
 
166
205
  - 作成した全てのドキュメントをユーザーに提示し、内容の正確性を確認する。
167
206
  - 「記載内容に誤りや漏れはありませんか?」
168
207
  - 「抽象的すぎる記述や、後で解釈が分かれそうな表現はありますか?」
169
208
  - 「テンプレートのコメントや不要な例示は適切に処理(残す/削除)されていますか?」
170
209
 
171
- ### 8. 完了条件と構造の確認
210
+ ### 9. 完了条件と構造の確認
172
211
 
173
212
  - 以下の完了条件を満たしていて、且つドキュメントの構造が適切であることを確認します。
174
-
213
+
175
214
  1. **ファイルの存在と構造確認**:
176
215
  各ファイルが存在し、テンプレートの主要な構造(見出しやテーブル)が維持されているか検証する。
216
+
177
217
  ```bash
178
218
  # 01-system-overview.md: 主要セクションの確認
179
219
  grep "## 背景" docs/project/requirements/01-system-overview.md && echo "OK" || echo "MISSING: 背景"
180
220
  grep "## 目的" docs/project/requirements/01-system-overview.md && echo "OK" || echo "MISSING: 目的"
181
-
221
+
182
222
  # 02-features-implemented.md: テーブルヘッダーの確認
183
223
  grep "| 機能ID | Category 1 |" docs/project/requirements/02-features-implemented.md && echo "OK" || echo "MISSING: Table Header"
184
-
224
+
185
225
  # 03-features-planned.md: テーブルヘッダーの確認
186
226
  grep "| Category 1 | Category 2 |" docs/project/requirements/03-features-planned.md && echo "OK" || echo "MISSING: Table Header"
187
-
227
+
188
228
  # 04-non-functional-requirements.md: テーブルヘッダーの確認
189
229
  grep "| カテゴリ | 要件 |" docs/project/requirements/04-non-functional-requirements.md && echo "OK" || echo "MISSING: Table Header"
190
-
230
+
191
231
  # 05-user-stories.md: テーブルヘッダーの確認
192
232
  grep "| ストーリーID | ストーリー |" docs/project/requirements/05-user-stories.md && echo "OK" || echo "MISSING: Table Header"
193
233
  ```
@@ -197,7 +237,7 @@ auto_execution_mode: 1
197
237
  - [ ] 各ファイルがテンプレートの基本構造を維持していて、主要なセクションやテーブルが適切に記載されている
198
238
  - [ ] プレースホルダーが適切な内容に置き換わっていいる
199
239
 
200
- ### 9. Git への追加(オプション)
240
+ ### 10. Git への追加(オプション)
201
241
 
202
242
  - ユーザーに確認:「作成した要件定義ドキュメントを Git に追加しますか?」
203
243
  - 「はい」の場合、以下を実行:
@@ -206,6 +246,7 @@ auto_execution_mode: 1
206
246
  git status
207
247
  ```
208
248
  - Git status の結果を表示し、コミットメッセージの提案をする:
249
+
209
250
  ```
210
251
  推奨コミットメッセージ:
211
252
  docs: 要件定義ドキュメントの作成
@@ -226,4 +267,4 @@ auto_execution_mode: 1
226
267
  - 競合する要件や矛盾が発見された場合:
227
268
  - 「以下の要件が競合しています:[詳細]。優先順位や調整方針を確認させてください。」と報告する。
228
269
  - 想定工数が非現実的に大きい場合:
229
- - 「現在の計画では実現が困難です。スコープ縮小や優先度調整を検討しませんか?」と提案する。
270
+ - 「現在の計画では実現が困難です。スコープ縮小や優先度調整を検討しませんか?」と提案する。
package/README.md CHANGED
@@ -2,71 +2,69 @@
2
2
 
3
3
  ## リポジトリ概要
4
4
 
5
- Windsurfで活用するスラッシュコマンドとワークフローの保管庫。調査・要件定義から実装、テスト、デプロイ、Git運用までの開発プロセスを対象としたMarkdownドキュメントを蓄積し、他プロジェクトでも即座に呼び出せるナレッジベースを目指す。
5
+ Windsurf で活用するスラッシュコマンドとワークフローの保管庫。調査・要件定義から実装、テスト、デプロイ、Git 運用までの開発プロセスを対象とした Markdown ドキュメントを蓄積し、他プロジェクトでも即座に呼び出せるナレッジベースを目指す。
6
6
 
7
7
  ## 目的
8
8
 
9
9
  - 反復的な開発タスクを標準化し、スラッシュコマンドとして再利用可能にする。
10
- - 調査、仕様策定、実装支援、デバッグ、レビュー、リリース、Git管理など各フェーズのベストプラクティスを明文化する。
11
- - 実行可能コードは置かず、Windsurfでのコマンド入力やドキュメント参照に最適化したMarkdown中心の構成を維持する。
10
+ - 調査、仕様策定、実装支援、デバッグ、レビュー、リリース、Git 管理など各フェーズのベストプラクティスを明文化する。
11
+ - 実行可能コードは置かず、Windsurf でのコマンド入力やドキュメント参照に最適化した Markdown 中心の構成を維持する。
12
12
 
13
13
  ## ディレクトリ構成
14
14
 
15
- - `.windsurf/workflows/` — スラッシュコマンド定義(各種ワークフローMarkdown)
15
+ - `.windsurf/workflows/` — スラッシュコマンド定義(各種ワークフロー Markdown)
16
16
  - `a-NNN-*.md` — プロジェクト設計ワークフロー(要件定義、設計、アーキテクチャ)
17
17
  - `b-NNN-*.md` — タスク管理ワークフロー(タスク作成、リサーチ、実装計画)
18
18
  - `c-NNN-*.md` — 実装実行ワークフロー(ステップバイステップ実装)
19
19
  - `x-Object-Action.md` — 補助的なワークフロー(例: `x-Code-Refactor`, `x-CI-Setup`, `x-Repository-PushToGithub`)
20
20
  - `z-*.md` — メタワークフロー(ワークフロー作成支援など)
21
- - `.windsurf/templates/` — テンプレート定義(各種テンプレートMarkdown)
21
+ - `.windsurf/templates/` — テンプレート定義(各種テンプレート Markdown)
22
22
  - `project/` — プロジェクトレベルのテンプレート
23
23
  - `tasks/task-template/` — タスクレベルのテンプレート
24
24
  - `a-definition.md` — タスク定義テンプレート
25
25
  - `b-research.md` — リサーチテンプレート
26
26
  - `c-implementation.md` — 実装タスクリストテンプレート
27
27
  - `README.md` — リポジトリの使い方と方針
28
- - `CLAUDE.md` — Claude Code向けプロジェクト説明
28
+ - `CLAUDE.md` — Claude Code 向けプロジェクト説明
29
29
  - `slash-commands-best-practices.md` - スラッシュコマンドのベストプラクティス
30
30
 
31
- ## 使い方
31
+ ## インストール
32
32
 
33
- ### 基本的な使い方
34
-
35
- 1. Windsurfで必要なワークフローを参照したいタイミングで該当Markdownを開く。
33
+ 1. Windsurf で必要なワークフローを参照したいタイミングで該当 Markdown を開く。
36
34
  2. コマンド化したい手順はスラッシュコマンドとしてコピーし、自身のプロジェクトで呼び出して利用する。
37
- 3. 新規ワークフローを追加する際は`.windsurf/workflows/`配下にMarkdownを作成し、ファイル名は用途が想起できるスラッグ形式にする(例: `jira-ticket.md`)。
35
+ 3. 新規ワークフローを追加する際は`.windsurf/workflows/`配下に Markdown を作成し、ファイル名は用途が想起できるスラッグ形式にする(例: `jira-ticket.md`)。
38
36
 
39
37
  ### ワークフロー体系
40
38
 
41
- 本リポジトリは開発ライフサイクル全体をカバーする4つのワークフロー系列を提供します:
39
+ 本リポジトリは開発ライフサイクル全体をカバーする 4 つのワークフロー系列を提供します:
42
40
 
43
- - **A系列**: プロジェクト設計ワークフロー(要件定義、ドメインモデル、設計)
44
- - **B系列**: タスク管理ワークフロー(タスク作成、リサーチ、実装計画)
45
- - **C系列**: 実装実行ワークフロー(ステップバイステップ実装、ドキュメント更新)
46
- - **X系列**: 補助的なワークフロー(リファクタリング、CI/CD、コード生成など)
41
+ - **A 系列**: プロジェクト設計ワークフロー(要件定義、ドメインモデル、設計)
42
+ - **B 系列**: タスク管理ワークフロー(タスク作成、リサーチ、実装計画)
43
+ - **C 系列**: 実装実行ワークフロー(ステップバイステップ実装、ドキュメント更新)
44
+ - **X 系列**: 補助的なワークフロー(リファクタリング、CI/CD、コード生成など)
47
45
 
48
- ## プロジェクト設計ワークフロー(A系列)
46
+ ## プロジェクト設計ワークフロー(A 系列)
49
47
 
50
48
  プロジェクト開始時に一度実行し、要件定義からドメインモデル、設計までを体系的に作成します。
51
49
 
52
- ### 実行順序(A系列)
50
+ ### 実行順序(A 系列)
53
51
 
54
52
  **要件・ドメインフェーズ**(a-001 〜 a-006):
55
53
 
56
54
  1. `/a-001-SetupDocStructure` — ドキュメント構造のセットアップ
57
55
  2. `/a-002-InitializeProject` — プロジェクト初期化(課題、解決策、スコープ)
58
- 3. `/a-003-CreateScenarios` — BDD形式でのシナリオ定義(Gherkin)
56
+ 3. `/a-003-CreateScenarios` — BDD 形式でのシナリオ定義(Gherkin)
59
57
  4. `/a-004-DefineDomainModel` — ドメインモデル定義(Event Storming)
60
- 5. `/a-005-CreateDomainDiagram` — DDD設計(Bounded Context、Aggregate)
58
+ 5. `/a-005-CreateDomainDiagram` — DDD 設計(Bounded Context、Aggregate)
61
59
  6. **`/a-006-ReviewRequirementsDomain`** — 要件とドメインモデルのレビュー ⭐
62
60
 
63
61
  **設計フェーズ**(a-007 〜 a-014):
64
62
 
65
63
  1. `/a-007-DefineTechStack` — 技術スタック選定
66
64
  2. `/a-008-DefineRepositoryStructure` — リポジトリ構造定義
67
- 3. `/a-009-DefineScreenDesign` — 画面設計(Empty State重視)
65
+ 3. `/a-009-DefineScreenDesign` — 画面設計(Empty State 重視)
68
66
  4. `/a-010-DefineDataModel` — データモデル設計(ERD)
69
- 5. `/a-011-DefineAPISpec` — API仕様定義
67
+ 5. `/a-011-DefineAPISpec` — API 仕様定義
70
68
  6. `/a-012-DefineArchitecture` — アーキテクチャ設計(ADR)
71
69
  7. `/a-013-DefineInfrastructure` — インフラ設計(RPO/RTO)
72
70
  8. **`/a-014-ReviewDesign`** — 設計ドキュメントの一貫性レビュー ⭐
@@ -78,30 +76,34 @@ Windsurfで活用するスラッシュコマンドとワークフローの保管
78
76
 
79
77
  これらのレビューワークフローにより、実装前にドキュメント間の不整合を検出し、手戻りを防止します。
80
78
 
81
- ## タスク管理ワークフロー(B系列)
79
+ ## タスク管理ワークフロー(B 系列)
82
80
 
83
81
  タスクの計画から実装まで、以下のワークフローを順次実行します:
84
82
 
85
83
  1. **タスクディレクトリ作成**: `/b-000-CreateTaskDirectory`
86
- - タスクID自動採番(task000001, task000002, ...)
84
+
85
+ - タスク ID 自動採番(task000001, task000002, ...)
87
86
  - ディレクトリ作成: `docs/tasks/task000001-{スラッグ}/`
88
87
  - テンプレートファイル(a-definition.md, b-research.md, c-implementation.md)を自動コピー
89
88
 
90
89
  2. **タスク定義**: `/b-001-CreateTaskDefinition`
90
+
91
91
  - 目的の明確化(解決する問題、提供する価値)
92
92
  - ユーザーストーリーの定義
93
93
  - 変更内容の詳細化(画面、データモデル、API、ビジネスロジック)
94
94
  - 受け入れ基準の定義(正常系、異常系、テスト、セキュリティ)
95
95
 
96
96
  3. **リサーチ**: `/b-002-CreateTaskResearch`
97
+
97
98
  - ベストプラクティスの調査
98
99
  - 既存コードの調査と再利用可能性の確認
99
100
  - 技術選定(ライブラリ、フレームワーク)
100
101
  - 技術的リスクの洗い出しと軽減策
101
102
 
102
103
  4. **実装計画**: `/b-003-CreateTaskImplementation`
103
- - フェーズ分割(1-3日粒度)
104
- - ステップ定義(1-3時間粒度)
104
+
105
+ - フェーズ分割(1-3 日粒度)
106
+ - ステップ定義(1-3 時間粒度)
105
107
  - 成果物の明確化(具体的なファイル名)
106
108
  - フェーズごとの受け入れ基準
107
109
 
@@ -114,25 +116,26 @@ Windsurfで活用するスラッシュコマンドとワークフローの保管
114
116
 
115
117
  ### タスクレビューの重要性
116
118
 
117
- b-004は実装開始前の「最後の砦」として、以下を保証します:
119
+ b-004 は実装開始前の「最後の砦」として、以下を保証します:
118
120
 
119
121
  - すべての変更内容に実装ステップが存在する(漏れ防止)
120
122
  - すべてのユーザーストーリーが実装でカバーされている(要件充足)
121
123
  - 技術的リスクの軽減策が計画されている(リスク管理)
122
124
  - 既存コンポーネントが再利用されている(車輪の再発明防止)
123
125
 
124
- ## 実装実行ワークフロー(C系列)
126
+ ## 実装実行ワークフロー(C 系列)
125
127
 
126
128
  タスクレビュー(b-004)完了後、実装を実行し、完了後にドキュメントを更新します。
127
129
 
128
- ### 実行順序(C系列)
130
+ ### 実行順序(C 系列)
129
131
 
130
132
  1. **実装実行**: `/c-001-ImplementTask`
131
- - 各ステップを順次実行(speckit.implementスタイル)
133
+
134
+ - 各ステップを順次実行(speckit.implement スタイル)
132
135
  - 依存関係を尊重、並列実行を最適化(`[P]`マーク)
133
136
  - ステップごとにテスト実行とチェックボックス更新
134
137
  - フェーズごとに受け入れ基準を確認
135
- - 最終テスト、コミット、PR作成
138
+ - 最終テスト、コミット、PR 作成
136
139
 
137
140
  2. **ドキュメント更新**: `/c-002-UpdateDocumentation`
138
141
  - 実装完了後にドキュメントを実装内容に合わせて更新
@@ -144,17 +147,17 @@ b-004は実装開始前の「最後の砦」として、以下を保証します
144
147
 
145
148
  ### 実装
146
149
 
147
- c-001は以下の原則に従います:
150
+ c-001 は以下の原則に従います:
148
151
 
149
152
  - **仕様駆動開発**: タスク定義とリサーチが実行可能な仕様として機能
150
- - **段階的な実装**: ステップごとに進める(1ステップ = 1-3時間)
153
+ - **段階的な実装**: ステップごとに進める(1 ステップ = 1-3 時間)
151
154
  - **依存関係の尊重**: 順序を守り、前ステップ完了を確認
152
155
  - **並列実行の最適化**: `[P]`マークで独立ステップを並列実行
153
156
  - **継続的な検証**: 各ステップでテスト実行、受け入れ基準を確認
154
157
 
155
- ## 補助的なワークフロー(X系列)
158
+ ## 補助的なワークフロー(X 系列)
156
159
 
157
- 実装中に必要となる補助的なタスクを実行するワークフローです。Object-Action命名規則に従います。
160
+ 実装中に必要となる補助的なタスクを実行するワークフローです。Object-Action 命名規則に従います。
158
161
 
159
162
  ### 主要なワークフロー
160
163
 
@@ -172,30 +175,30 @@ c-001は以下の原則に従います:
172
175
  **開発環境・CI/CD**:
173
176
 
174
177
  - `/x-DevEnvironment-Setup` — 開発環境セットアップ
175
- - `/x-CI-Setup` — CI/CDセットアップ
176
- - `/x-CI-FixFailure` — CI失敗修正
178
+ - `/x-CI-Setup` — CI/CD セットアップ
179
+ - `/x-CI-FixFailure` — CI 失敗修正
177
180
  - `/x-Logging-Add` — ログ実装
178
181
 
179
182
  **コード生成・最適化**:
180
183
 
181
- - `/x-Component-Create` — UIコンポーネント生成
184
+ - `/x-Component-Create` — UI コンポーネント生成
182
185
  - `/x-Migration-Create` — マイグレーション作成
183
186
  - `/x-Database-Seed` — データベースシード
184
187
  - `/x-Bundle-Optimize` — バンドル最適化
185
188
 
186
189
  **Git・リポジトリ管理**:
187
190
 
188
- - `/x-Repository-Push` — GitHub/GitLabへのプッシュ(汎用)
189
- - `/x-Repository-PushToGithub` — GitHubへのプッシュ
191
+ - `/x-Repository-Push` — GitHub/GitLab へのプッシュ(汎用)
192
+ - `/x-Repository-PushToGithub` — GitHub へのプッシュ
190
193
 
191
194
  **その他**:
192
195
 
193
196
  - `/x-Dependencies-Update` — 依存関係更新
194
197
  - `/x-Accessibility-Check` — アクセシビリティ監査
195
198
 
196
- ### X系列の特徴
199
+ ### X 系列の特徴
197
200
 
198
- - **フレームワーク非依存**: React/Vue/Svelte、Prisma/TypeORM、Webpack/Viteなど複数の技術に対応
201
+ - **フレームワーク非依存**: React/Vue/Svelte、Prisma/TypeORM、Webpack/Vite など複数の技術に対応
199
202
  - **再利用可能**: どのプロジェクトでも即座に利用可能
200
203
  - **チェックリスト形式**: 実行漏れを防止
201
204
  - **ベストプラクティス統合**: 公式ドキュメントや業界標準を反映
@@ -244,13 +247,13 @@ c-001は以下の原則に従います:
244
247
 
245
248
  ### レビューワークフローの位置づけ
246
249
 
247
- 3つのレビューワークフロー(⭐マーク)が品質を保証します:
250
+ 3 つのレビューワークフロー(⭐ マーク)が品質を保証します:
248
251
 
249
- | レビュー | タイミング | 対象 | 効果 |
250
- |---------|----------|------|------|
251
- | **a-006** | 要件・ドメイン完成時 | 要件 ↔ シナリオ ↔ ドメインモデル | ドメイン設計の妥当性検証 |
252
- | **a-014** | 設計完成時 | データモデル ↔ API ↔ 画面 ↔ アーキテクチャ | 設計の一貫性検証 |
253
- | **b-004** | 各タスク実装前 | タスク定義 ↔ リサーチ ↔ 実装計画 | 実装漏れ防止 |
252
+ | レビュー | タイミング | 対象 | 効果 |
253
+ | --------- | -------------------- | ------------------------------------------ | ------------------------ |
254
+ | **a-006** | 要件・ドメイン完成時 | 要件 ↔ シナリオ ↔ ドメインモデル | ドメイン設計の妥当性検証 |
255
+ | **a-014** | 設計完成時 | データモデル ↔ API ↔ 画面 ↔ アーキテクチャ | 設計の一貫性検証 |
256
+ | **b-004** | 各タスク実装前 | タスク定義 ↔ リサーチ ↔ 実装計画 | 実装漏れ防止 |
254
257
 
255
258
  ### タスクディレクトリ構造の例
256
259
 
@@ -271,10 +274,10 @@ docs/
271
274
  └── c-implementation.md
272
275
  ```
273
276
 
274
- 各タスクディレクトリには3つのドキュメントが含まれ、タスクの計画から実装まで一貫して管理できます。
277
+ 各タスクディレクトリには 3 つのドキュメントが含まれ、タスクの計画から実装まで一貫して管理できます。
275
278
 
276
279
  ## 更新ポリシー
277
280
 
278
281
  - 各ドキュメントは最新の開発手法に合わせて継続的に改善する。
279
- - 重複や冗長な情報は統合し、DRY原則を徹底する。
280
- - 追加の開発フェーズや管理領域が生じた場合は、該当するスラッシュコマンドを新設してREADMEにも追記する。
282
+ - 重複や冗長な情報は統合し、DRY 原則を徹底する。
283
+ - 追加の開発フェーズや管理領域が生じた場合は、該当するスラッシュコマンドを新設して README にも追記する。
package/bin/cli.js CHANGED
@@ -1,35 +1,45 @@
1
1
  #!/usr/bin/env node
2
2
 
3
- const fs = require("fs-extra");
4
- const path = require("path");
5
- const prompts = require("prompts");
6
- const { bold, green, cyan, red } = require("kleur");
3
+ const fs = require('fs-extra');
4
+ const path = require('path');
5
+ const prompts = require('prompts');
6
+ const { bold, green, cyan, red } = require('kleur');
7
7
 
8
8
  async function main() {
9
- console.log(
10
- bold().cyan("\n🚀 Welcome to Yodogawa Slash Commands Installer!\n")
11
- );
9
+ console.log(bold().cyan('\n🚀 Welcome to Yodogawa Slash Commands Installer!\n'));
12
10
 
13
11
  const response = await prompts({
14
- type: "select",
15
- name: "type",
16
- message: "Which configuration would you like to install?",
12
+ type: 'select',
13
+ name: 'type',
14
+ message: 'Which configuration would you like to install?',
17
15
  choices: [
18
- { title: "Windsurf (.windsurf)", value: "windsurf" },
19
- { title: "Antigravity (.agent)", value: "antigravity" },
20
- ],
16
+ { title: 'Windsurf (.windsurf)', value: 'windsurf' },
17
+ { title: 'Antigravity (.agent)', value: 'antigravity' },
18
+ { title: 'Cursor (.cursor)', value: 'cursor' },
19
+ { title: 'Claude Code (.claude)', value: 'claude' }
20
+ ]
21
21
  });
22
22
 
23
23
  if (!response.type) {
24
- console.log(red("✖ Operation cancelled."));
24
+ console.log(red('✖ Operation cancelled.'));
25
25
  process.exit(0);
26
26
  }
27
27
 
28
28
  // Determine source directory (where the package is installed)
29
- const sourceDir = path.join(__dirname, "..", ".windsurf");
30
-
29
+ const sourceDir = path.join(__dirname, '..', '.windsurf');
30
+
31
31
  // Determine target directory (current working directory of the user)
32
- const targetDirName = response.type === "windsurf" ? ".windsurf" : ".agent";
32
+ let targetDirName;
33
+ if (response.type === 'windsurf') {
34
+ targetDirName = '.windsurf';
35
+ } else if (response.type === 'antigravity') {
36
+ targetDirName = '.agent';
37
+ } else if (response.type === 'cursor') {
38
+ targetDirName = '.cursor';
39
+ } else {
40
+ targetDirName = '.claude';
41
+ }
42
+
33
43
  const targetDir = path.join(process.cwd(), targetDirName);
34
44
 
35
45
  if (!fs.existsSync(sourceDir)) {
@@ -41,14 +51,14 @@ async function main() {
41
51
  try {
42
52
  if (fs.existsSync(targetDir)) {
43
53
  const confirm = await prompts({
44
- type: "confirm",
45
- name: "overwrite",
54
+ type: 'confirm',
55
+ name: 'overwrite',
46
56
  message: `Directory ${targetDirName} already exists. Overwrite?`,
47
- initial: false,
57
+ initial: false
48
58
  });
49
59
 
50
60
  if (!confirm.overwrite) {
51
- console.log(red("✖ Operation cancelled."));
61
+ console.log(red('✖ Operation cancelled.'));
52
62
  process.exit(0);
53
63
  }
54
64
  }
@@ -56,19 +66,29 @@ async function main() {
56
66
  console.log(`\nCopying workflows to ${bold(targetDirName)}...`);
57
67
  await fs.copy(sourceDir, targetDir);
58
68
 
59
- console.log(
60
- green(`\n✔ Successfully installed ${response.type} workflows!`)
61
- );
69
+ // Special handling for Cursor and Claude Code: rename workflows to commands
70
+ if (response.type === 'cursor' || response.type === 'claude') {
71
+ const workflowsDir = path.join(targetDir, 'workflows');
72
+ const commandsDir = path.join(targetDir, 'commands');
73
+
74
+ if (fs.existsSync(workflowsDir)) {
75
+ console.log(`Renaming workflows to commands for ${response.type}...`);
76
+ await fs.move(workflowsDir, commandsDir, { overwrite: true });
77
+ }
78
+ }
79
+
80
+ console.log(green(`\n✔ Successfully installed ${response.type} workflows!`));
62
81
  console.log(`\nNext steps:`);
63
82
  console.log(`1. Open ${bold(targetDirName)} to explore the workflows.`);
64
83
  console.log(`2. Start using them in your project!\n`);
84
+
65
85
  } catch (err) {
66
86
  console.error(red(`\n✖ Error copying files: ${err.message}`));
67
87
  process.exit(1);
68
88
  }
69
89
  }
70
90
 
71
- main().catch((err) => {
91
+ main().catch(err => {
72
92
  console.error(red(err));
73
93
  process.exit(1);
74
94
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yodogawa",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "CLI to install Yodogawa Slash Commands workflows",
5
5
  "bin": {
6
6
  "yodogawa": "./bin/cli.js"