yodogawa 1.0.0

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.
Files changed (61) hide show
  1. package/.windsurf/templates/documentation-rules.md +143 -0
  2. package/.windsurf/templates/project/01-requirements/01-system-overview.md +49 -0
  3. package/.windsurf/templates/project/01-requirements/02-features-implemented.md +73 -0
  4. package/.windsurf/templates/project/01-requirements/03-features-planned.md +75 -0
  5. package/.windsurf/templates/project/01-requirements/04-non-functional-requirements.md +115 -0
  6. package/.windsurf/templates/project/01-requirements/05-user-stories.md +124 -0
  7. package/.windsurf/templates/project/02-behavior/01-scenarios.md +406 -0
  8. package/.windsurf/templates/project/03-domain/01-domain-model.md +338 -0
  9. package/.windsurf/templates/project/03-domain/02-ubiquitous-language.md +153 -0
  10. package/.windsurf/templates/project/04-design/01-tech-stack.md +360 -0
  11. package/.windsurf/templates/project/04-design/02-repository-structure.md +390 -0
  12. package/.windsurf/templates/project/04-design/03-screen-design.md +586 -0
  13. package/.windsurf/templates/project/04-design/04-data-model.md +211 -0
  14. package/.windsurf/templates/project/04-design/05-api-spec.md +221 -0
  15. package/.windsurf/templates/project/04-design/06-architecture.md +183 -0
  16. package/.windsurf/templates/project/04-design/07-infrastructure.md +180 -0
  17. package/.windsurf/templates/tasks/task-template/a-definition.md +143 -0
  18. package/.windsurf/templates/tasks/task-template/b-research.md +185 -0
  19. package/.windsurf/templates/tasks/task-template/c-implementation.md +197 -0
  20. package/.windsurf/workflows/a-001-SetupDocStructure.md +165 -0
  21. package/.windsurf/workflows/a-002-InitializeProject.md +229 -0
  22. package/.windsurf/workflows/a-003-CreateScenarios.md +130 -0
  23. package/.windsurf/workflows/a-004-DefineDomainModel.md +133 -0
  24. package/.windsurf/workflows/a-005-CreateDomainDiagram.md +114 -0
  25. package/.windsurf/workflows/a-006-ReviewRequirementsDomain.md +132 -0
  26. package/.windsurf/workflows/a-007-DefineTechStack.md +121 -0
  27. package/.windsurf/workflows/a-008-DefineRepositoryStructure.md +118 -0
  28. package/.windsurf/workflows/a-009-DefineScreenDesign.md +121 -0
  29. package/.windsurf/workflows/a-010-DefineDataModel.md +125 -0
  30. package/.windsurf/workflows/a-011-DefineAPISpec.md +123 -0
  31. package/.windsurf/workflows/a-012-DefineArchitecture.md +119 -0
  32. package/.windsurf/workflows/a-013-DefineInfrastructure.md +120 -0
  33. package/.windsurf/workflows/a-014-ReviewDesign.md +122 -0
  34. package/.windsurf/workflows/b-001-CreateTaskDirectory.md +71 -0
  35. package/.windsurf/workflows/b-002-CreateTaskDefinition.md +165 -0
  36. package/.windsurf/workflows/b-003-CreateTaskResearch.md +412 -0
  37. package/.windsurf/workflows/b-004-CreateTaskImplementation.md +97 -0
  38. package/.windsurf/workflows/b-005-ReviewTask.md +312 -0
  39. package/.windsurf/workflows/c-001-ImplementTask.md +493 -0
  40. package/.windsurf/workflows/c-002-UpdateDocumentation.md +797 -0
  41. package/.windsurf/workflows/x-Accessibility-Check.md +469 -0
  42. package/.windsurf/workflows/x-Bundle-Optimize.md +386 -0
  43. package/.windsurf/workflows/x-CI-FixFailure.md +636 -0
  44. package/.windsurf/workflows/x-CI-Setup.md +641 -0
  45. package/.windsurf/workflows/x-Code-Refactor.md +71 -0
  46. package/.windsurf/workflows/x-Code-ResearchAndReview.md +78 -0
  47. package/.windsurf/workflows/x-Component-Create.md +359 -0
  48. package/.windsurf/workflows/x-Context-CatchUp.md +63 -0
  49. package/.windsurf/workflows/x-Database-Seed.md +300 -0
  50. package/.windsurf/workflows/x-Dependencies-Update.md +315 -0
  51. package/.windsurf/workflows/x-DevEnvironment-Setup.md +437 -0
  52. package/.windsurf/workflows/x-Logging-Add.md +682 -0
  53. package/.windsurf/workflows/x-Migration-Create.md +354 -0
  54. package/.windsurf/workflows/x-Problem-RootCauseAnalysis.md +65 -0
  55. package/.windsurf/workflows/x-Repository-Push.md +375 -0
  56. package/.windsurf/workflows/x-Repository-PushToGithub.md +72 -0
  57. package/.windsurf/workflows/x-Requirements-Clarify.md +61 -0
  58. package/.windsurf/workflows/z-CreateWorkflow.md +77 -0
  59. package/README.md +280 -0
  60. package/bin/cli.js +74 -0
  61. package/package.json +28 -0
package/README.md ADDED
@@ -0,0 +1,280 @@
1
+ # slash-commands
2
+
3
+ ## リポジトリ概要
4
+
5
+ Windsurfで活用するスラッシュコマンドとワークフローの保管庫。調査・要件定義から実装、テスト、デプロイ、Git運用までの開発プロセスを対象としたMarkdownドキュメントを蓄積し、他プロジェクトでも即座に呼び出せるナレッジベースを目指す。
6
+
7
+ ## 目的
8
+
9
+ - 反復的な開発タスクを標準化し、スラッシュコマンドとして再利用可能にする。
10
+ - 調査、仕様策定、実装支援、デバッグ、レビュー、リリース、Git管理など各フェーズのベストプラクティスを明文化する。
11
+ - 実行可能コードは置かず、Windsurfでのコマンド入力やドキュメント参照に最適化したMarkdown中心の構成を維持する。
12
+
13
+ ## ディレクトリ構成
14
+
15
+ - `.windsurf/workflows/` — スラッシュコマンド定義(各種ワークフローMarkdown)
16
+ - `a-NNN-*.md` — プロジェクト設計ワークフロー(要件定義、設計、アーキテクチャ)
17
+ - `b-NNN-*.md` — タスク管理ワークフロー(タスク作成、リサーチ、実装計画)
18
+ - `c-NNN-*.md` — 実装実行ワークフロー(ステップバイステップ実装)
19
+ - `x-Object-Action.md` — 補助的なワークフロー(例: `x-Code-Refactor`, `x-CI-Setup`, `x-Repository-PushToGithub`)
20
+ - `z-*.md` — メタワークフロー(ワークフロー作成支援など)
21
+ - `.windsurf/templates/` — テンプレート定義(各種テンプレートMarkdown)
22
+ - `project/` — プロジェクトレベルのテンプレート
23
+ - `tasks/task-template/` — タスクレベルのテンプレート
24
+ - `a-definition.md` — タスク定義テンプレート
25
+ - `b-research.md` — リサーチテンプレート
26
+ - `c-implementation.md` — 実装タスクリストテンプレート
27
+ - `README.md` — リポジトリの使い方と方針
28
+ - `CLAUDE.md` — Claude Code向けプロジェクト説明
29
+ - `slash-commands-best-practices.md` - スラッシュコマンドのベストプラクティス
30
+
31
+ ## 使い方
32
+
33
+ ### 基本的な使い方
34
+
35
+ 1. Windsurfで必要なワークフローを参照したいタイミングで該当Markdownを開く。
36
+ 2. コマンド化したい手順はスラッシュコマンドとしてコピーし、自身のプロジェクトで呼び出して利用する。
37
+ 3. 新規ワークフローを追加する際は`.windsurf/workflows/`配下にMarkdownを作成し、ファイル名は用途が想起できるスラッグ形式にする(例: `jira-ticket.md`)。
38
+
39
+ ### ワークフロー体系
40
+
41
+ 本リポジトリは開発ライフサイクル全体をカバーする4つのワークフロー系列を提供します:
42
+
43
+ - **A系列**: プロジェクト設計ワークフロー(要件定義、ドメインモデル、設計)
44
+ - **B系列**: タスク管理ワークフロー(タスク作成、リサーチ、実装計画)
45
+ - **C系列**: 実装実行ワークフロー(ステップバイステップ実装、ドキュメント更新)
46
+ - **X系列**: 補助的なワークフロー(リファクタリング、CI/CD、コード生成など)
47
+
48
+ ## プロジェクト設計ワークフロー(A系列)
49
+
50
+ プロジェクト開始時に一度実行し、要件定義からドメインモデル、設計までを体系的に作成します。
51
+
52
+ ### 実行順序(A系列)
53
+
54
+ **要件・ドメインフェーズ**(a-001 〜 a-006):
55
+
56
+ 1. `/a-001-SetupDocStructure` — ドキュメント構造のセットアップ
57
+ 2. `/a-002-InitializeProject` — プロジェクト初期化(課題、解決策、スコープ)
58
+ 3. `/a-003-CreateScenarios` — BDD形式でのシナリオ定義(Gherkin)
59
+ 4. `/a-004-DefineDomainModel` — ドメインモデル定義(Event Storming)
60
+ 5. `/a-005-CreateDomainDiagram` — DDD設計(Bounded Context、Aggregate)
61
+ 6. **`/a-006-ReviewRequirementsDomain`** — 要件とドメインモデルのレビュー ⭐
62
+
63
+ **設計フェーズ**(a-007 〜 a-014):
64
+
65
+ 1. `/a-007-DefineTechStack` — 技術スタック選定
66
+ 2. `/a-008-DefineRepositoryStructure` — リポジトリ構造定義
67
+ 3. `/a-009-DefineScreenDesign` — 画面設計(Empty State重視)
68
+ 4. `/a-010-DefineDataModel` — データモデル設計(ERD)
69
+ 5. `/a-011-DefineAPISpec` — API仕様定義
70
+ 6. `/a-012-DefineArchitecture` — アーキテクチャ設計(ADR)
71
+ 7. `/a-013-DefineInfrastructure` — インフラ設計(RPO/RTO)
72
+ 8. **`/a-014-ReviewDesign`** — 設計ドキュメントの一貫性レビュー ⭐
73
+
74
+ ### レビューワークフローの役割
75
+
76
+ - **a-006**: 要件定義とドメインモデル間の一貫性をチェック(ユーザーストーリー ↔ シナリオ ↔ ドメインモデル)
77
+ - **a-014**: 設計ドキュメント間の一貫性をチェック(データモデル ↔ API ↔ 画面設計 ↔ アーキテクチャ)
78
+
79
+ これらのレビューワークフローにより、実装前にドキュメント間の不整合を検出し、手戻りを防止します。
80
+
81
+ ## タスク管理ワークフロー(B系列)
82
+
83
+ タスクの計画から実装まで、以下のワークフローを順次実行します:
84
+
85
+ 1. **タスクディレクトリ作成**: `/b-000-CreateTaskDirectory`
86
+ - タスクID自動採番(task000001, task000002, ...)
87
+ - ディレクトリ作成: `docs/tasks/task000001-{スラッグ}/`
88
+ - テンプレートファイル(a-definition.md, b-research.md, c-implementation.md)を自動コピー
89
+
90
+ 2. **タスク定義**: `/b-001-CreateTaskDefinition`
91
+ - 目的の明確化(解決する問題、提供する価値)
92
+ - ユーザーストーリーの定義
93
+ - 変更内容の詳細化(画面、データモデル、API、ビジネスロジック)
94
+ - 受け入れ基準の定義(正常系、異常系、テスト、セキュリティ)
95
+
96
+ 3. **リサーチ**: `/b-002-CreateTaskResearch`
97
+ - ベストプラクティスの調査
98
+ - 既存コードの調査と再利用可能性の確認
99
+ - 技術選定(ライブラリ、フレームワーク)
100
+ - 技術的リスクの洗い出しと軽減策
101
+
102
+ 4. **実装計画**: `/b-003-CreateTaskImplementation`
103
+ - フェーズ分割(1-3日粒度)
104
+ - ステップ定義(1-3時間粒度)
105
+ - 成果物の明確化(具体的なファイル名)
106
+ - フェーズごとの受け入れ基準
107
+
108
+ 5. **タスクレビュー**: `/b-004-ReviewTask` ⭐
109
+ - タスク定義 ↔ 実装計画の一貫性チェック
110
+ - リサーチ ↔ 実装計画の整合性検証
111
+ - 変更内容・ユーザーストーリーのカバレッジ確認
112
+ - 技術選定の反映、リスク軽減策の確認
113
+ - 実装開始可否の判定(優/良/可/不可)
114
+
115
+ ### タスクレビューの重要性
116
+
117
+ b-004は実装開始前の「最後の砦」として、以下を保証します:
118
+
119
+ - すべての変更内容に実装ステップが存在する(漏れ防止)
120
+ - すべてのユーザーストーリーが実装でカバーされている(要件充足)
121
+ - 技術的リスクの軽減策が計画されている(リスク管理)
122
+ - 既存コンポーネントが再利用されている(車輪の再発明防止)
123
+
124
+ ## 実装実行ワークフロー(C系列)
125
+
126
+ タスクレビュー(b-004)完了後、実装を実行し、完了後にドキュメントを更新します。
127
+
128
+ ### 実行順序(C系列)
129
+
130
+ 1. **実装実行**: `/c-001-ImplementTask`
131
+ - 各ステップを順次実行(speckit.implementスタイル)
132
+ - 依存関係を尊重、並列実行を最適化(`[P]`マーク)
133
+ - ステップごとにテスト実行とチェックボックス更新
134
+ - フェーズごとに受け入れ基準を確認
135
+ - 最終テスト、コミット、PR作成
136
+
137
+ 2. **ドキュメント更新**: `/c-002-UpdateDocumentation`
138
+ - 実装完了後にドキュメントを実装内容に合わせて更新
139
+ - タスクドキュメント更新(a-definition.md, b-research.md, c-implementation.md)
140
+ - プロジェクトドキュメント更新(features-implemented, domain-model, api-spec, data-model)
141
+ - 計画と実装の差異を記録(振り返り)
142
+ - README, CHANGELOG, .env.example の更新
143
+ - ドキュメント間の整合性確認
144
+
145
+ ### 実装
146
+
147
+ c-001は以下の原則に従います:
148
+
149
+ - **仕様駆動開発**: タスク定義とリサーチが実行可能な仕様として機能
150
+ - **段階的な実装**: ステップごとに進める(1ステップ = 1-3時間)
151
+ - **依存関係の尊重**: 順序を守り、前ステップ完了を確認
152
+ - **並列実行の最適化**: `[P]`マークで独立ステップを並列実行
153
+ - **継続的な検証**: 各ステップでテスト実行、受け入れ基準を確認
154
+
155
+ ## 補助的なワークフロー(X系列)
156
+
157
+ 実装中に必要となる補助的なタスクを実行するワークフローです。Object-Action命名規則に従います。
158
+
159
+ ### 主要なワークフロー
160
+
161
+ **コンテキスト把握・要件明確化**:
162
+
163
+ - `/x-Context-CatchUp` — プロジェクト状況の把握
164
+ - `/x-Requirements-Clarify` — 要件の明確化
165
+
166
+ **コード品質・リファクタリング**:
167
+
168
+ - `/x-Code-Refactor` — リファクタリング支援
169
+ - `/x-Code-ResearchAndReview` — コードレビュー
170
+ - `/x-Problem-RootCauseAnalysis` — 根本原因分析
171
+
172
+ **開発環境・CI/CD**:
173
+
174
+ - `/x-DevEnvironment-Setup` — 開発環境セットアップ
175
+ - `/x-CI-Setup` — CI/CDセットアップ
176
+ - `/x-CI-FixFailure` — CI失敗修正
177
+ - `/x-Logging-Add` — ログ実装
178
+
179
+ **コード生成・最適化**:
180
+
181
+ - `/x-Component-Create` — UIコンポーネント生成
182
+ - `/x-Migration-Create` — マイグレーション作成
183
+ - `/x-Database-Seed` — データベースシード
184
+ - `/x-Bundle-Optimize` — バンドル最適化
185
+
186
+ **Git・リポジトリ管理**:
187
+
188
+ - `/x-Repository-Push` — GitHub/GitLabへのプッシュ(汎用)
189
+ - `/x-Repository-PushToGithub` — GitHubへのプッシュ
190
+
191
+ **その他**:
192
+
193
+ - `/x-Dependencies-Update` — 依存関係更新
194
+ - `/x-Accessibility-Check` — アクセシビリティ監査
195
+
196
+ ### X系列の特徴
197
+
198
+ - **フレームワーク非依存**: React/Vue/Svelte、Prisma/TypeORM、Webpack/Viteなど複数の技術に対応
199
+ - **再利用可能**: どのプロジェクトでも即座に利用可能
200
+ - **チェックリスト形式**: 実行漏れを防止
201
+ - **ベストプラクティス統合**: 公式ドキュメントや業界標準を反映
202
+
203
+ ## 完全な開発ライフサイクル
204
+
205
+ 本システムは以下の順序で実行することで、要件定義から実装、ドキュメント更新まで一貫した開発プロセスを実現します:
206
+
207
+ ```text
208
+ 【プロジェクト開始時】(1回のみ)
209
+ ┌─────────────────────────────────────────┐
210
+ │ A系列: プロジェクト設計 │
211
+ ├─────────────────────────────────────────┤
212
+ │ a-001 〜 a-005: 要件・ドメイン定義 │
213
+ │ a-006: レビュー ⭐ │
214
+ │ a-007 〜 a-013: 設計 │
215
+ │ a-014: レビュー ⭐ │
216
+ └─────────────────────────────────────────┘
217
+
218
+ 【各機能開発時】(タスクごとに繰り返し)
219
+ ┌─────────────────────────────────────────┐
220
+ │ B系列: タスク管理 │
221
+ ├─────────────────────────────────────────┤
222
+ │ b-000: タスクディレクトリ作成 │
223
+ │ b-001: タスク定義 │
224
+ │ b-002: リサーチ │
225
+ │ b-003: 実装計画 │
226
+ │ b-004: レビュー ⭐ │
227
+ └─────────────────────────────────────────┘
228
+
229
+ ┌─────────────────────────────────────────┐
230
+ │ C系列: 実装実行 │
231
+ ├─────────────────────────────────────────┤
232
+ │ c-001: 実装実行(spec-kitスタイル) │
233
+ │ c-002: ドキュメント更新 │
234
+ └─────────────────────────────────────────┘
235
+
236
+ 【実装中に随時】
237
+ ┌─────────────────────────────────────────┐
238
+ │ X系列: 補助的なワークフロー │
239
+ ├─────────────────────────────────────────┤
240
+ │ x-Code-Refactor, x-CI-Setup, │
241
+ │ x-Component-Create, x-Repository-Push など│
242
+ └─────────────────────────────────────────┘
243
+ ```
244
+
245
+ ### レビューワークフローの位置づけ
246
+
247
+ 3つのレビューワークフロー(⭐マーク)が品質を保証します:
248
+
249
+ | レビュー | タイミング | 対象 | 効果 |
250
+ |---------|----------|------|------|
251
+ | **a-006** | 要件・ドメイン完成時 | 要件 ↔ シナリオ ↔ ドメインモデル | ドメイン設計の妥当性検証 |
252
+ | **a-014** | 設計完成時 | データモデル ↔ API ↔ 画面 ↔ アーキテクチャ | 設計の一貫性検証 |
253
+ | **b-004** | 各タスク実装前 | タスク定義 ↔ リサーチ ↔ 実装計画 | 実装漏れ防止 |
254
+
255
+ ### タスクディレクトリ構造の例
256
+
257
+ ```text
258
+ docs/
259
+ └── tasks/
260
+ ├── task000001-email-verification/
261
+ │ ├── a-definition.md # タスク定義(目的、ユーザーストーリー、受け入れ基準)
262
+ │ ├── b-research.md # リサーチ(ベストプラクティス、既存コード調査)
263
+ │ └── c-implementation.md # 実装タスクリスト(フェーズ、ステップ、受け入れ基準)
264
+ ├── task000002-user-profile/
265
+ │ ├── a-definition.md
266
+ │ ├── b-research.md
267
+ │ └── c-implementation.md
268
+ └── task000003-payment-integration/
269
+ ├── a-definition.md
270
+ ├── b-research.md
271
+ └── c-implementation.md
272
+ ```
273
+
274
+ 各タスクディレクトリには3つのドキュメントが含まれ、タスクの計画から実装まで一貫して管理できます。
275
+
276
+ ## 更新ポリシー
277
+
278
+ - 各ドキュメントは最新の開発手法に合わせて継続的に改善する。
279
+ - 重複や冗長な情報は統合し、DRY原則を徹底する。
280
+ - 追加の開発フェーズや管理領域が生じた場合は、該当するスラッシュコマンドを新設してREADMEにも追記する。
package/bin/cli.js ADDED
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env node
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");
7
+
8
+ async function main() {
9
+ console.log(
10
+ bold().cyan("\n🚀 Welcome to Yodogawa Slash Commands Installer!\n")
11
+ );
12
+
13
+ const response = await prompts({
14
+ type: "select",
15
+ name: "type",
16
+ message: "Which configuration would you like to install?",
17
+ choices: [
18
+ { title: "Windsurf (.windsurf)", value: "windsurf" },
19
+ { title: "Antigravity (.agent)", value: "antigravity" },
20
+ ],
21
+ });
22
+
23
+ if (!response.type) {
24
+ console.log(red("✖ Operation cancelled."));
25
+ process.exit(0);
26
+ }
27
+
28
+ // Determine source directory (where the package is installed)
29
+ const sourceDir = path.join(__dirname, "..", ".windsurf");
30
+
31
+ // Determine target directory (current working directory of the user)
32
+ const targetDirName = response.type === "windsurf" ? ".windsurf" : ".agent";
33
+ const targetDir = path.join(process.cwd(), targetDirName);
34
+
35
+ if (!fs.existsSync(sourceDir)) {
36
+ console.error(red(`✖ Error: Source directory not found at ${sourceDir}`));
37
+ console.error(red(` Please ensure the package is installed correctly.`));
38
+ process.exit(1);
39
+ }
40
+
41
+ try {
42
+ if (fs.existsSync(targetDir)) {
43
+ const confirm = await prompts({
44
+ type: "confirm",
45
+ name: "overwrite",
46
+ message: `Directory ${targetDirName} already exists. Overwrite?`,
47
+ initial: false,
48
+ });
49
+
50
+ if (!confirm.overwrite) {
51
+ console.log(red("✖ Operation cancelled."));
52
+ process.exit(0);
53
+ }
54
+ }
55
+
56
+ console.log(`\nCopying workflows to ${bold(targetDirName)}...`);
57
+ await fs.copy(sourceDir, targetDir);
58
+
59
+ console.log(
60
+ green(`\n✔ Successfully installed ${response.type} workflows!`)
61
+ );
62
+ console.log(`\nNext steps:`);
63
+ console.log(`1. Open ${bold(targetDirName)} to explore the workflows.`);
64
+ console.log(`2. Start using them in your project!\n`);
65
+ } catch (err) {
66
+ console.error(red(`\n✖ Error copying files: ${err.message}`));
67
+ process.exit(1);
68
+ }
69
+ }
70
+
71
+ main().catch((err) => {
72
+ console.error(red(err));
73
+ process.exit(1);
74
+ });
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "yodogawa",
3
+ "version": "1.0.0",
4
+ "description": "CLI to install Yodogawa Slash Commands workflows",
5
+ "bin": {
6
+ "yodogawa": "./bin/cli.js"
7
+ },
8
+ "files": [
9
+ "bin",
10
+ ".windsurf"
11
+ ],
12
+ "scripts": {
13
+ "test": "echo \"Error: no test specified\" && exit 1"
14
+ },
15
+ "keywords": [
16
+ "windsurf",
17
+ "antigravity",
18
+ "workflows",
19
+ "slash-commands"
20
+ ],
21
+ "author": "",
22
+ "license": "ISC",
23
+ "dependencies": {
24
+ "fs-extra": "^11.2.0",
25
+ "kleur": "^4.1.5",
26
+ "prompts": "^2.4.2"
27
+ }
28
+ }