yodogawa 1.0.3 → 1.0.4

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 (48) hide show
  1. package/.windsurf/scripts/setup-docs.sh +92 -92
  2. package/.windsurf/templates/project/03-domain/01-domain-model.md +1 -0
  3. package/.windsurf/templates/project/04-design/01-tech-stack.md +7 -0
  4. package/.windsurf/templates/project/04-design/02-repository-structure.md +3 -2
  5. package/.windsurf/templates/project/04-design/03-screen-design.md +14 -4
  6. package/.windsurf/templates/project/04-design/05-api-spec.md +5 -0
  7. package/.windsurf/templates/tasks/task-template/c-implementation.md +3 -0
  8. package/.windsurf/workflows/a-001-SetupDocStructure.md +3 -0
  9. package/.windsurf/workflows/a-002-InitializeProject.md +8 -0
  10. package/.windsurf/workflows/a-003-CreateScenarios.md +10 -0
  11. package/.windsurf/workflows/a-004-DefineDomainModel.md +9 -0
  12. package/.windsurf/workflows/a-005-CreateDomainDiagram.md +5 -0
  13. package/.windsurf/workflows/a-006-ReviewRequirementsDomain.md +12 -1
  14. package/.windsurf/workflows/a-007-DefineTechStack.md +7 -0
  15. package/.windsurf/workflows/a-008-DefineRepositoryStructure.md +9 -0
  16. package/.windsurf/workflows/a-009-DefineScreenDesign.md +7 -0
  17. package/.windsurf/workflows/a-010-DefineDataModel.md +8 -0
  18. package/.windsurf/workflows/a-011-DefineAPISpec.md +8 -0
  19. package/.windsurf/workflows/a-012-DefineArchitecture.md +8 -0
  20. package/.windsurf/workflows/a-013-DefineInfrastructure.md +9 -0
  21. package/.windsurf/workflows/a-014-ReviewDesign.md +10 -1
  22. package/.windsurf/workflows/b-001-CreateTaskDirectory.md +7 -1
  23. package/.windsurf/workflows/b-002-CreateTaskDefinition.md +5 -0
  24. package/.windsurf/workflows/b-003-CreateTaskResearch.md +40 -0
  25. package/.windsurf/workflows/b-004-CreateTaskImplementation.md +1 -0
  26. package/.windsurf/workflows/b-005-ReviewTask.md +11 -0
  27. package/.windsurf/workflows/c-001-ImplementTask.md +28 -1
  28. package/.windsurf/workflows/c-002-UpdateDocumentation.md +56 -1
  29. package/README.md +152 -234
  30. package/package.json +9 -2
  31. package/.windsurf/workflows/x-Accessibility-Check.md +0 -469
  32. package/.windsurf/workflows/x-Bundle-Optimize.md +0 -386
  33. package/.windsurf/workflows/x-CI-FixFailure.md +0 -636
  34. package/.windsurf/workflows/x-CI-Setup.md +0 -641
  35. package/.windsurf/workflows/x-Code-Refactor.md +0 -71
  36. package/.windsurf/workflows/x-Code-ResearchAndReview.md +0 -78
  37. package/.windsurf/workflows/x-Component-Create.md +0 -359
  38. package/.windsurf/workflows/x-Context-CatchUp.md +0 -63
  39. package/.windsurf/workflows/x-Database-Seed.md +0 -300
  40. package/.windsurf/workflows/x-Dependencies-Update.md +0 -315
  41. package/.windsurf/workflows/x-DevEnvironment-Setup.md +0 -437
  42. package/.windsurf/workflows/x-Logging-Add.md +0 -682
  43. package/.windsurf/workflows/x-Migration-Create.md +0 -354
  44. package/.windsurf/workflows/x-Problem-RootCauseAnalysis.md +0 -65
  45. package/.windsurf/workflows/x-Repository-Push.md +0 -375
  46. package/.windsurf/workflows/x-Repository-PushToGithub.md +0 -72
  47. package/.windsurf/workflows/x-Requirements-Clarify.md +0 -61
  48. package/.windsurf/workflows/z-CreateWorkflow.md +0 -77
@@ -1,92 +1,92 @@
1
- #!/bin/bash
2
-
3
- # setup-docs.sh
4
- # プロジェクトのドキュメントディレクトリ構造を作成するスクリプト
5
-
6
- set -e
7
-
8
- DOCS_DIR="docs"
9
-
10
- echo "📂 ドキュメント構造のセットアップを開始します..."
11
-
12
- # 1. 現在の状態確認
13
- if [ -d "$DOCS_DIR" ]; then
14
- echo "⚠️ '$DOCS_DIR' ディレクトリは既に存在します。"
15
- read -p "既存の構造を保持したまま、不足しているディレクトリを追加しますか? (y/N): " confirm
16
- if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
17
- echo "❌ 中断しました。"
18
- exit 0
19
- fi
20
- fi
21
-
22
- # 2. ディレクトリ構造の作成
23
- echo "🔨 ディレクトリを作成中..."
24
- mkdir -p "$DOCS_DIR/project/01-requirements"
25
- mkdir -p "$DOCS_DIR/project/02-behavior"
26
- mkdir -p "$DOCS_DIR/project/03-domain"
27
- mkdir -p "$DOCS_DIR/project/04-design"
28
- mkdir -p "$DOCS_DIR/tasks"
29
-
30
- # 3. docs/README.md の作成
31
- README_FILE="$DOCS_DIR/README.md"
32
- if [ -f "$README_FILE" ]; then
33
- echo "⚠️ '$README_FILE' は既に存在します。"
34
- read -p "上書きしますか? (y/N): " confirm_readme
35
- if [[ ! "$confirm_readme" =~ ^[Yy]$ ]]; then
36
- echo "ℹ️ READMEの作成をスキップしました。"
37
- else
38
- CREATE_README=true
39
- fi
40
- else
41
- CREATE_README=true
42
- fi
43
-
44
- if [ "$CREATE_README" = true ]; then
45
- echo "📝 README.md を作成中..."
46
- cat > "$README_FILE" <<EOF
47
- # プロジェクトドキュメント
48
-
49
- このディレクトリには、プロジェクト全体のドキュメントと個別タスクのドキュメントを管理します。
50
-
51
- ## 構成
52
-
53
- ### project/
54
- プロジェクト全体のドキュメント。要件定義、設計、アーキテクチャなど、プロジェクトスコープ全体に関わる情報を記載します。
55
-
56
- - **01-requirements/**: 要件定義(システム概要、機能要件、非機能要件、ユーザーストーリーなど)
57
- - **02-behavior/**: 振る舞い定義(シナリオ、ユースケース、ユーザージャーニーなど)
58
- - **03-domain/**: ドメインモデル(エンティティ、用語集など)
59
- - **04-design/**: 設計(アーキテクチャ、データモデル、API仕様など)
60
-
61
- ### tasks/
62
- 個別タスクのドキュメント。Issue やチケット単位で作成します。
63
-
64
- ## 更新方針
65
-
66
- ### プロジェクト全体のドキュメント (project/)
67
- - プロジェクトのスコープ全体に影響する情報を記載
68
- - チーム全体で共有すべき要件・設計・アーキテクチャを管理
69
- - 更新時は関係者にレビューを依頼
70
-
71
- ### 個別タスクのドキュメント (tasks/)
72
- - 特定の Issue やチケットに紐づく情報を記載
73
- - タスク単位で作成・完了・アーカイブ
74
- - 完了後は参照資料として保持、または削除
75
-
76
- ## ドキュメント作成ガイドライン
77
-
78
- - **具体的**: 抽象的な表現を避け、数値・期限・制約を明確に記載
79
- - **測定可能**: 成功基準やパフォーマンス目標を定量化
80
- - **最新**: 変更があれば速やかに更新し、古い情報を残さない
81
- - **簡潔**: 必要最低限の情報に絞り、詳細はコードやリンク先に委ねる
82
- EOF
83
- fi
84
-
85
- # 4. 完了報告
86
- echo ""
87
- echo "✅ ドキュメントディレクトリ構造のセットアップが完了しました!"
88
- echo ""
89
- find "$DOCS_DIR" -maxdepth 2 | sort
90
- echo ""
91
- echo "次のステップ:"
92
- echo " - 必要に応じて 'git add $DOCS_DIR' を実行してください。"
1
+ #!/bin/bash
2
+
3
+ # setup-docs.sh
4
+ # プロジェクトのドキュメントディレクトリ構造を作成するスクリプト
5
+
6
+ set -e
7
+
8
+ DOCS_DIR="docs"
9
+
10
+ echo "📂 ドキュメント構造のセットアップを開始します..."
11
+
12
+ # 1. 現在の状態確認
13
+ if [ -d "$DOCS_DIR" ]; then
14
+ echo "⚠️ '$DOCS_DIR' ディレクトリは既に存在します。"
15
+ read -p "既存の構造を保持したまま、不足しているディレクトリを追加しますか? (y/N): " confirm
16
+ if [[ ! "$confirm" =~ ^[Yy]$ ]]; then
17
+ echo "❌ 中断しました。"
18
+ exit 0
19
+ fi
20
+ fi
21
+
22
+ # 2. ディレクトリ構造の作成
23
+ echo "🔨 ディレクトリを作成中..."
24
+ mkdir -p "$DOCS_DIR/project/01-requirements"
25
+ mkdir -p "$DOCS_DIR/project/02-behavior"
26
+ mkdir -p "$DOCS_DIR/project/03-domain"
27
+ mkdir -p "$DOCS_DIR/project/04-design"
28
+ mkdir -p "$DOCS_DIR/tasks"
29
+
30
+ # 3. docs/README.md の作成
31
+ README_FILE="$DOCS_DIR/README.md"
32
+ if [ -f "$README_FILE" ]; then
33
+ echo "⚠️ '$README_FILE' は既に存在します。"
34
+ read -p "上書きしますか? (y/N): " confirm_readme
35
+ if [[ ! "$confirm_readme" =~ ^[Yy]$ ]]; then
36
+ echo "ℹ️ READMEの作成をスキップしました。"
37
+ else
38
+ CREATE_README=true
39
+ fi
40
+ else
41
+ CREATE_README=true
42
+ fi
43
+
44
+ if [ "$CREATE_README" = true ]; then
45
+ echo "📝 README.md を作成中..."
46
+ cat > "$README_FILE" <<EOF
47
+ # プロジェクトドキュメント
48
+
49
+ このディレクトリには、プロジェクト全体のドキュメントと個別タスクのドキュメントを管理します。
50
+
51
+ ## 構成
52
+
53
+ ### project/
54
+ プロジェクト全体のドキュメント。要件定義、設計、アーキテクチャなど、プロジェクトスコープ全体に関わる情報を記載します。
55
+
56
+ - **01-requirements/**: 要件定義(システム概要、機能要件、非機能要件、ユーザーストーリーなど)
57
+ - **02-behavior/**: 振る舞い定義(シナリオ、ユースケース、ユーザージャーニーなど)
58
+ - **03-domain/**: ドメインモデル(エンティティ、用語集など)
59
+ - **04-design/**: 設計(アーキテクチャ、データモデル、API仕様など)
60
+
61
+ ### tasks/
62
+ 個別タスクのドキュメント。Issue やチケット単位で作成します。
63
+
64
+ ## 更新方針
65
+
66
+ ### プロジェクト全体のドキュメント (project/)
67
+ - プロジェクトのスコープ全体に影響する情報を記載
68
+ - チーム全体で共有すべき要件・設計・アーキテクチャを管理
69
+ - 更新時は関係者にレビューを依頼
70
+
71
+ ### 個別タスクのドキュメント (tasks/)
72
+ - 特定の Issue やチケットに紐づく情報を記載
73
+ - タスク単位で作成・完了・アーカイブ
74
+ - 完了後は参照資料として保持、または削除
75
+
76
+ ## ドキュメント作成ガイドライン
77
+
78
+ - **具体的**: 抽象的な表現を避け、数値・期限・制約を明確に記載
79
+ - **測定可能**: 成功基準やパフォーマンス目標を定量化
80
+ - **最新**: 変更があれば速やかに更新し、古い情報を残さない
81
+ - **簡潔**: 必要最低限の情報に絞り、詳細はコードやリンク先に委ねる
82
+ EOF
83
+ fi
84
+
85
+ # 4. 完了報告
86
+ echo ""
87
+ echo "✅ ドキュメントディレクトリ構造のセットアップが完了しました!"
88
+ echo ""
89
+ find "$DOCS_DIR" -maxdepth 2 | sort
90
+ echo ""
91
+ echo "次のステップ:"
92
+ echo " - 必要に応じて 'git add $DOCS_DIR' を実行してください。"
@@ -52,6 +52,7 @@ Event Storming形式とは:
52
52
  <!-- このBounded Contextが担当するビジネス機能を1-2文で記述 -->
53
53
 
54
54
  **主要な責任**:
55
+
55
56
  - <!-- 責任1 -->
56
57
  - <!-- 責任2 -->
57
58
  - <!-- 責任3 -->
@@ -172,6 +172,7 @@
172
172
  ### 初期フェーズ(プロジェクト開始時)
173
173
 
174
174
  **決定すべき技術**:
175
+
175
176
  - プログラミング言語、フレームワーク
176
177
  - データベース(RDBMS/NoSQL)
177
178
  - インフラプロバイダー(AWS/GCP/Azure)
@@ -182,6 +183,7 @@
182
183
  **理由**: これらは後から変更するコストが非常に高い。アーキテクチャの基盤となる技術。
183
184
 
184
185
  **例**:
186
+
185
187
  - フロントエンド: React, Vue, Angular の選択
186
188
  - バックエンド: Node.js, Python, Go の選択
187
189
  - データベース: PostgreSQL, MySQL, MongoDB の選択
@@ -192,6 +194,7 @@
192
194
  ### 中期フェーズ(主要機能実装後)
193
195
 
194
196
  **決定すべき技術**:
197
+
195
198
  - E2E テストフレームワーク(Playwright, Cypress)
196
199
  - パフォーマンステストツール
197
200
  - セキュリティスキャンツール
@@ -200,6 +203,7 @@
200
203
  **理由**: UI/UX がある程度安定してから導入すべき。初期は画面変更が多く、E2E テストの保守コストが高い。
201
204
 
202
205
  **導入タイミングの目安**:
206
+
203
207
  - 主要画面の実装完了
204
208
  - MVP(Minimum Viable Product)リリース前
205
209
  - ユーザーストーリーの 70% 完了時点
@@ -209,6 +213,7 @@
209
213
  ### 後期フェーズ(本番運用開始時)
210
214
 
211
215
  **決定すべき技術**:
216
+
212
217
  - 監視・Observability ツール(Sentry, Datadog, New Relic)
213
218
  - ログ集約(CloudWatch Logs, ELK Stack)
214
219
  - APM(Application Performance Monitoring)
@@ -219,6 +224,7 @@
219
224
  **理由**: 本番環境の実際の負荷やエラーパターンを見てから導入する方が効果的。初期導入はコストのみで価値が低い。
220
225
 
221
226
  **導入タイミングの目安**:
227
+
222
228
  - 本番リリース 1-2 週間前(監視ツール)
223
229
  - パフォーマンス問題が顕在化した時点(キャッシュ層)
224
230
  - ユーザー数が一定規模を超えた時点(例: 月間 10,000 アクティブユーザー)
@@ -228,6 +234,7 @@
228
234
  ### 随時フェーズ(必要に応じて)
229
235
 
230
236
  **決定すべき技術**:
237
+
231
238
  - 特定の機能要件に必要なライブラリ
232
239
  - 開発効率化ツール
233
240
  - 実験的なツール(A/B テスト、Feature Flag など)
@@ -218,8 +218,8 @@ components/ → features/ (NG、コンポーネントは汎用部品)
218
218
  | **ファイル・ディレクトリ** | | |
219
219
  | React コンポーネント | PascalCase、拡張子 .tsx | `UserProfile.tsx`, `LoginForm.tsx` |
220
220
  | TypeScript ファイル | camelCase、拡張子 .ts | `formatDate.ts`, `apiClient.ts` |
221
- | CSS Modules | *.module.css, *.module.scss | `Button.module.css` |
222
- | テストファイル | *.test.ts, *.spec.ts | `user.test.ts`, `auth.spec.ts` |
221
+ | CSS Modules | *.module.css,*.module.scss | `Button.module.css` |
222
+ | テストファイル | *.test.ts,*.spec.ts | `user.test.ts`, `auth.spec.ts` |
223
223
  | 設定ファイル | ドット始まり、特定の名前 | `.eslintrc.json`, `.env`, `tsconfig.json` |
224
224
  | ディレクトリ | kebab-case または camelCase | `user-management/` または `userManagement/` |
225
225
  | **コード要素** | | |
@@ -300,6 +300,7 @@ components/ → features/ (NG、コンポーネントは汎用部品)
300
300
  **採用戦略**: <!-- 例: 機能別コロケーション -->
301
301
 
302
302
  **配置例**:
303
+
303
304
  ```
304
305
  features/user/
305
306
  ├── UserProfile.tsx # コンポーネント
@@ -166,12 +166,14 @@ Mermaidの記法:
166
166
  - flowchart TD: 上から下へのフロー
167
167
  - flowchart LR: 左から右へのフロー
168
168
  - A[画面名] --> B[画面名]: 遷移
169
- - A --> |条件| B: 条件付き遷移
169
+
170
+ - A --> |条件| B: 条件付き遷移
170
171
 
171
172
  よくあるパターン:
172
- - 未認証 → ログイン → ダッシュボード → 各機能画面
173
- - エラー画面トップページ
174
- - 管理画面は別フローで記載
173
+
174
+ - 未認証ログイン → ダッシュボード → 各機能画面
175
+ - エラー画面 → トップページ
176
+ - 管理画面は別フローで記載
175
177
  -->
176
178
 
177
179
  ```mermaid
@@ -239,6 +241,7 @@ flowchart TD
239
241
  **役割**: ユーザーの認証・認可を管理し、システムへの安全なアクセスを提供
240
242
 
241
243
  **含まれる画面**:
244
+
242
245
  - ログイン画面(SCR-001)
243
246
  - サインアップ画面(SCR-002)
244
247
  - パスワードリセット画面(SCR-003)
@@ -256,6 +259,7 @@ flowchart TD
256
259
  **役割**: システムの主要な業務機能を提供
257
260
 
258
261
  **含まれる画面**:
262
+
259
263
  - ダッシュボード(SCR-010)
260
264
  - ユーザー一覧(SCR-011)
261
265
  - ユーザー詳細(SCR-012)
@@ -332,6 +336,7 @@ flowchart TD
332
336
  | **2xl** (2X Large) | `≥ 1536px` | 大型デスクトップ、4Kモニター | 最大コンテンツ幅制限 |
333
337
 
334
338
  **実装例(Tailwind CSS形式)**:
339
+
335
340
  ```css
336
341
  /* tailwind.config.js */
337
342
  module.exports = {
@@ -348,6 +353,7 @@ module.exports = {
348
353
  ```
349
354
 
350
355
  **CSS変数での実装例**:
356
+
351
357
  ```css
352
358
  :root {
353
359
  --breakpoint-sm: 640px;
@@ -380,6 +386,7 @@ module.exports = {
380
386
  | **大型モニター (4K)** | 検討中 | 1920px 以上 | コンテンツ最大幅で制限 (max-width: 1536px) |
381
387
 
382
388
  **モバイルファースト戦略を採用**:
389
+
383
390
  - デザイン・実装はスマートフォン画面から開始
384
391
  - 段階的にタブレット、デスクトップに対応
385
392
  - パフォーマンス最適化をモバイル基準で実施
@@ -452,6 +459,7 @@ module.exports = {
452
459
  | **動画** | モバイルは自動再生オフ、データ通信量考慮 | `preload="metadata"`, 解像度別エンコード |
453
460
 
454
461
  **実装例**:
462
+
455
463
  ```html
456
464
  <picture>
457
465
  <source srcset="image.avif" type="image/avif">
@@ -484,6 +492,7 @@ module.exports = {
484
492
  | **ピンチズーム** | 画像ギャラリーで有効化 | `user-scalable=yes` を設定 |
485
493
 
486
494
  **アクセシブルなボタン実装例**:
495
+
487
496
  ```css
488
497
  .button {
489
498
  min-width: 44px;
@@ -522,6 +531,7 @@ module.exports = {
522
531
  | **TTI (Time to Interactive)** | < 3.5秒(3G回線) | Critical CSS インライン化、遅延ローディング |
523
532
 
524
533
  **モバイルネットワーク対応**:
534
+
525
535
  - 3G回線でのテストを実施(Chrome DevTools のネットワークスロットリング使用)
526
536
  - オフライン時の適切なフォールバック表示
527
537
  - プログレッシブWebアプリ(PWA)化を検討
@@ -146,6 +146,7 @@ API のセキュリティ方式の基本情報
146
146
  ### 成功レスポンス
147
147
 
148
148
  **基本構造**:
149
+
149
150
  ```json
150
151
  {
151
152
  "data": { /* リソースデータ */ },
@@ -154,6 +155,7 @@ API のセキュリティ方式の基本情報
154
155
  ```
155
156
 
156
157
  **単一リソース取得の例**:
158
+
157
159
  ```json
158
160
  {
159
161
  "data": {
@@ -166,6 +168,7 @@ API のセキュリティ方式の基本情報
166
168
  ```
167
169
 
168
170
  **リスト取得の例**:
171
+
169
172
  ```json
170
173
  {
171
174
  "data": [
@@ -183,6 +186,7 @@ API のセキュリティ方式の基本情報
183
186
  ### エラーレスポンス
184
187
 
185
188
  **基本構造**:
189
+
186
190
  ```json
187
191
  {
188
192
  "error": {
@@ -193,6 +197,7 @@ API のセキュリティ方式の基本情報
193
197
  ```
194
198
 
195
199
  **バリデーションエラーの例**:
200
+
196
201
  ```json
197
202
  {
198
203
  "error": {
@@ -154,6 +154,7 @@
154
154
  -->
155
155
 
156
156
  ### フェーズ 1 の受け入れ基準
157
+
157
158
  - [ ] データベースマイグレーションが成功する
158
159
  - [ ] 型定義が正しく適用される(TypeScript コンパイルエラーなし)
159
160
  - [ ] メール送信 API がトークンを生成し、メールを送信する
@@ -161,6 +162,7 @@
161
162
  - [ ] トークンの有効期限切れが正しく検出される
162
163
 
163
164
  ### フェーズ 2 の受け入れ基準
165
+
164
166
  - [ ] メール認証ページが正しく表示される
165
167
  - [ ] 認証成功時に成功メッセージが表示される
166
168
  - [ ] 認証失敗時にエラーメッセージが表示される
@@ -168,6 +170,7 @@
168
170
  - [ ] 認証済みユーザーは全ての機能にアクセスできる
169
171
 
170
172
  ### フェーズ 3 の受け入れ基準
173
+
171
174
  - [ ] 全てのユニットテストが通る
172
175
  - [ ] 全ての統合テストが通る
173
176
  - [ ] E2E テストが通る(CI 環境でも実行)
@@ -43,6 +43,7 @@ auto_execution_mode: 1
43
43
 
44
44
  - スクリプトの実行結果を確認し、エラーがないことを確認してください。
45
45
  - 生成された構造:
46
+
46
47
  ```
47
48
  docs/
48
49
  ├── README.md
@@ -58,10 +59,12 @@ auto_execution_mode: 1
58
59
 
59
60
  - ユーザーに確認:「作成したディレクトリ構造を Git に追加しますか?」
60
61
  - 「はい」の場合、以下を実行:
62
+
61
63
  ```bash
62
64
  git add docs/
63
65
  git status
64
66
  ```
67
+
65
68
  - Git status の結果を表示し、コミットメッセージの提案をする:
66
69
 
67
70
  ```
@@ -36,20 +36,24 @@ auto_execution_mode: 1
36
36
  1. **コードベースの規模確認**:
37
37
 
38
38
  - プロジェクトのルートにあるファイルやディレクトリを確認する。
39
+
39
40
  ```bash
40
41
  ls -F
41
42
  ```
43
+
42
44
  - **スキップ判断**:
43
45
  - ファイルがほとんど存在しない(例: `.git` ディレクトリのみ、あるいは `README.md` だけなど)、または有意なソースコードが見当たらない場合は、このステップをスキップする。
44
46
  - スキップする場合、ユーザーに「コードベースが空、または十分な情報がないため、自動分析をスキップします。」と通知し、次のステップへ進む。
45
47
 
46
48
  2. **詳細調査と分析(コードが存在する場合)**:
47
49
  - `README.md`, `package.json`, および主要なソースコードを読み込む。
50
+
48
51
  ```bash
49
52
  cat package.json 2>/dev/null
50
53
  cat README.md 2>/dev/null
51
54
  find src app lib -maxdepth 2 2>/dev/null
52
55
  ```
56
+
53
57
  - 読み込んだ情報を基に、以下の内容を分析・推測し、ユーザーに提示する。
54
58
  - **システム概要**: プロジェクトの目的、主要な技術スタック。
55
59
  - **実装済み機能**: ファイル構造やコードから推測される機能。
@@ -91,12 +95,14 @@ auto_execution_mode: 1
91
95
  2. **コードベースの調査と提案**:
92
96
 
93
97
  - プロジェクト内のソースコードを簡易検索し、実装済みの兆候を探す。
98
+
94
99
  ```bash
95
100
  # 主要なソースディレクトリの構造を確認(例)
96
101
  find src app lib -maxdepth 2 -type d 2>/dev/null
97
102
  # 特徴的なファイル名を検索
98
103
  find . -type f -name "*Controller*" -o -name "*Service*" -o -name "*Component*" | head -n 20
99
104
  ```
105
+
100
106
  - 検出されたディレクトリ名やファイル名から機能を推測し、ユーザーに提案する。
101
107
  - 「`src/auth` ディレクトリが見つかりました。認証機能(ログイン、登録など)は実装済みですか?」
102
108
  - 「`PaymentController` があります。決済機能は稼働していますか?」
@@ -246,10 +252,12 @@ auto_execution_mode: 1
246
252
 
247
253
  - ユーザーに確認:「作成した要件定義ドキュメントを Git に追加しますか?」
248
254
  - 「はい」の場合、以下を実行:
255
+
249
256
  ```bash
250
257
  git add docs/project/requirements/
251
258
  git status
252
259
  ```
260
+
253
261
  - Git status の結果を表示し、コミットメッセージの提案をする:
254
262
 
255
263
  ```
@@ -21,6 +21,7 @@ description: ユーザーストーリーから具体的なGherkinシナリオを
21
21
  ### 1. ディレクトリと前提条件の確認
22
22
 
23
23
  - `docs/project/behavior/` ディレクトリの存在を確認:
24
+
24
25
  ```bash
25
26
  ls -la docs/project/behavior/ 2>/dev/null || echo "ディレクトリが存在しません"
26
27
  ```
@@ -34,6 +35,7 @@ description: ユーザーストーリーから具体的なGherkinシナリオを
34
35
  ### 2. テンプレートの準備
35
36
 
36
37
  - テンプレートをコピーして作業用ファイルを作成する:
38
+
37
39
  ```bash
38
40
  cp ".windsurf/templates/project/02-behavior/01-scenarios.md" "docs/project/behavior/01-scenarios.md"
39
41
  ```
@@ -52,19 +54,23 @@ description: ユーザーストーリーから具体的なGherkinシナリオを
52
54
  各機能について、以下の順序でヒアリングを行い、`docs/project/behavior/01-scenarios.md` を更新する。
53
55
 
54
56
  #### 4.1 Feature情報の定義
57
+
55
58
  - 機能名、説明、対応するユーザーストーリー(As a/I want/So that)を記入する。
56
59
  - **Background**(共通前提条件)がある場合は定義する。
57
60
 
58
61
  #### 4.2 シナリオの作成(ハッピーパス)
62
+
59
63
  - 「最も基本的な成功シナリオを教えてください。」
60
64
  - **Given**(前提)、**When**(アクション)、**Then**(結果)を確認し、Gherkin形式で記述する。
61
65
  - UI操作の詳細ではなく、ユーザーの意図を記述するよう注意する。
62
66
 
63
67
  #### 4.3 エラーケース・境界値の作成
68
+
64
69
  - 「エラーケースや境界値(エッジケース)はありますか?」
65
70
  - 必要に応じて **Scenario Outline**(パラメータ化)の使用を提案し、Examplesテーブルを作成する。
66
71
 
67
72
  #### 4.4 タグ付け
73
+
68
74
  - シナリオID(`@SC-XXX`)を採番する。
69
75
  - 適切なタグ(`@smoke`, `@happy-path`, `@error-handling` など)を付与する。
70
76
 
@@ -84,6 +90,7 @@ description: ユーザーストーリーから具体的なGherkinシナリオを
84
90
  - 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
85
91
 
86
92
  1. **構造確認**:
93
+
87
94
  ```bash
88
95
  # シナリオ一覧テーブルの確認
89
96
  grep "| シナリオID | 機能 |" docs/project/behavior/01-scenarios.md && echo "OK" || echo "MISSING: Table Header"
@@ -103,11 +110,14 @@ description: ユーザーストーリーから具体的なGherkinシナリオを
103
110
 
104
111
  - ユーザーに確認:「作成したシナリオドキュメントを Git に追加しますか?」
105
112
  - 「はい」の場合、以下を実行:
113
+
106
114
  ```bash
107
115
  git add docs/project/behavior/
108
116
  git status
109
117
  ```
118
+
110
119
  - 推奨コミットメッセージ:
120
+
111
121
  ```
112
122
  docs: 振る舞い仕様(シナリオ)の作成
113
123
 
@@ -21,6 +21,7 @@ description: Event Storming形式でドメインモデルを定義し、ユビ
21
21
  ### 1. ディレクトリと前提条件の確認
22
22
 
23
23
  - `docs/project/domain/` ディレクトリの存在を確認:
24
+
24
25
  ```bash
25
26
  ls -la docs/project/domain/ 2>/dev/null || echo "ディレクトリが存在しません"
26
27
  ```
@@ -34,6 +35,7 @@ description: Event Storming形式でドメインモデルを定義し、ユビ
34
35
  ### 2. テンプレートの準備
35
36
 
36
37
  - テンプレートをコピーして作業用ファイルを作成する:
38
+
37
39
  ```bash
38
40
  cp ".windsurf/templates/project/03-domain/01-domain-model.md" "docs/project/domain/01-domain-model.md"
39
41
  cp ".windsurf/templates/project/03-domain/02-ubiquitous-language.md" "docs/project/domain/02-ubiquitous-language.md"
@@ -51,15 +53,18 @@ description: Event Storming形式でドメインモデルを定義し、ユビ
51
53
  **同時に、新しい用語が登場するたびに `02-ubiquitous-language.md` にも追記する。**
52
54
 
53
55
  #### 4.1 概要とアクター
56
+
54
57
  - Contextの責務と主要な責任
55
58
  - 登場するアクター(Actors)とその役割
56
59
 
57
60
  #### 4.2 コマンドとイベント (Event Storming)
61
+
58
62
  - アクターが実行するアクション(**Commands**、命令形)
59
63
  - その結果発生するビジネス上の出来事(**Domain Events**、過去形)
60
64
  - 自動化ルール(**Policies**、"Whenever ..., then ...")
61
65
 
62
66
  #### 4.3 集約とモデル
67
+
63
68
  - 一貫性を保つエンティティの塊(**Aggregates**)
64
69
  - 画面表示用の参照モデル(**Read Models**)
65
70
  - 連携する外部システム(**External Systems**)
@@ -87,6 +92,7 @@ description: Event Storming形式でドメインモデルを定義し、ユビ
87
92
  - 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
88
93
 
89
94
  1. **構造確認**:
95
+
90
96
  ```bash
91
97
  # Bounded Context定義の確認
92
98
  grep "Bounded Context:" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Bounded Context definition"
@@ -105,11 +111,14 @@ description: Event Storming形式でドメインモデルを定義し、ユビ
105
111
 
106
112
  - ユーザーに確認:「作成したドメインモデルドキュメントを Git に追加しますか?」
107
113
  - 「はい」の場合、以下を実行:
114
+
108
115
  ```bash
109
116
  git add docs/project/domain/
110
117
  git status
111
118
  ```
119
+
112
120
  - 推奨コミットメッセージ:
121
+
113
122
  ```
114
123
  docs: ドメインモデルとユビキタス言語の定義
115
124
 
@@ -20,6 +20,7 @@ description: ドメインモデルをMermaid図で視覚化し、Context MapやA
20
20
  ### 1. ドキュメントの確認
21
21
 
22
22
  - `docs/project/domain/01-domain-model.md` を読み込み、内容を確認する。
23
+
23
24
  ```bash
24
25
  ls -la docs/project/domain/01-domain-model.md 2>/dev/null || echo "ファイルが存在しません"
25
26
  ```
@@ -70,6 +71,7 @@ description: ドメインモデルをMermaid図で視覚化し、Context MapやA
70
71
  - 以下の完了条件を満たしているか、コマンドとチェックリストで確認してください:
71
72
 
72
73
  1. **構造確認**:
74
+
73
75
  ```bash
74
76
  # Mermaidブロックの存在確認
75
77
  grep "\`\`\`mermaid" docs/project/domain/01-domain-model.md && echo "OK" || echo "MISSING: Mermaid diagram"
@@ -86,11 +88,14 @@ description: ドメインモデルをMermaid図で視覚化し、Context MapやA
86
88
 
87
89
  - ユーザーに確認:「更新したドメインモデルドキュメントを Git に追加しますか?」
88
90
  - 「はい」の場合、以下を実行:
91
+
89
92
  ```bash
90
93
  git add docs/project/domain/01-domain-model.md
91
94
  git status
92
95
  ```
96
+
93
97
  - 推奨コミットメッセージ:
98
+
94
99
  ```
95
100
  docs: ドメインモデル図(Context Map)の追加
96
101