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
@@ -0,0 +1,437 @@
1
+ ---
2
+ description: 新規開発者やクリーン環境で開発環境を素早くセットアップするワークフロー
3
+ auto_execution_mode: 1
4
+ ---
5
+
6
+ # DevEnvironment-Setup (x-DevEnvironment-Setup)
7
+
8
+ ## 目的
9
+
10
+ - 新しい開発者がプロジェクトにすぐに参加できるよう、開発環境を自動的にセットアップする。
11
+ - クリーンインストールや環境リセット時に、必要な依存関係とツールを一括でインストールする。
12
+ - 環境変数、データベース、サンプルデータなどを適切に設定する。
13
+ - セットアップの手順を標準化し、環境依存の問題を減らす。
14
+
15
+ ## 前提
16
+
17
+ - Git がインストールされており、リポジトリがクローン済みである。
18
+ - 必要なランタイム(Node.js, Python, など)がインストール可能である。
19
+ - インターネット接続が利用可能である(パッケージのダウンロードのため)。
20
+ - README.md に基本的なセットアップ手順が記載されている(参照用)。
21
+
22
+ ## 手順
23
+
24
+ ### 1. システム要件の確認
25
+
26
+ **質問1: プロジェクトタイプの確認**
27
+ - 「このプロジェクトの種類は何ですか?」
28
+ - Node.js(React, Next.js, Express, etc.)
29
+ - Python(Django, Flask, FastAPI, etc.)
30
+ - Ruby(Rails, Sinatra, etc.)
31
+ - その他
32
+
33
+ **質問2: 必要なツールの確認**
34
+ - 「このプロジェクトで必要なツールは何ですか?」
35
+ - ランタイム(Node.js, Python, Ruby, etc.)
36
+ - データベース(PostgreSQL, MySQL, MongoDB, etc.)
37
+ - キャッシュ(Redis, Memcached, etc.)
38
+ - その他(Docker, Docker Compose, etc.)
39
+
40
+ ### 2. ランタイムのバージョン確認
41
+
42
+ **Node.js プロジェクト**:
43
+ ```bash
44
+ node --version
45
+ npm --version
46
+ ```
47
+
48
+ **推奨バージョンを確認**:
49
+ - `.nvmrc` ファイルが存在する場合: `cat .nvmrc`
50
+ - `package.json` の `engines` フィールドを確認
51
+
52
+ **質問3: バージョンの確認**
53
+ - 「現在のバージョンは推奨バージョンと一致していますか?」
54
+ - 一致しない場合、nvm(Node Version Manager)で切り替え:
55
+ ```bash
56
+ nvm install
57
+ nvm use
58
+ ```
59
+
60
+ **Python プロジェクト**:
61
+ ```bash
62
+ python --version
63
+ # または
64
+ python3 --version
65
+ ```
66
+
67
+ **推奨バージョンを確認**:
68
+ - `.python-version` ファイルが存在する場合: `cat .python-version`
69
+ - `pyproject.toml` または `setup.py` を確認
70
+
71
+ ### 3. 依存関係のインストール
72
+
73
+ #### 3.1. パッケージマネージャーの確認
74
+
75
+ **質問4: パッケージマネージャー**
76
+ - 「使用するパッケージマネージャーは何ですか?」
77
+ - npm(`package-lock.json` が存在)
78
+ - yarn(`yarn.lock` が存在)
79
+ - pnpm(`pnpm-lock.yaml` が存在)
80
+ - pip(`requirements.txt` が存在)
81
+ - poetry(`poetry.lock` が存在)
82
+
83
+ #### 3.2. 依存関係のインストール
84
+
85
+ **Node.js**:
86
+ ```bash
87
+ # npm
88
+ npm install
89
+
90
+ # yarn
91
+ yarn install
92
+
93
+ # pnpm
94
+ pnpm install
95
+ ```
96
+
97
+ **Python**:
98
+ ```bash
99
+ # pip (virtualenv 推奨)
100
+ python -m venv .venv
101
+ source .venv/bin/activate # Windows: .venv\Scripts\activate
102
+ pip install -r requirements.txt
103
+
104
+ # poetry
105
+ poetry install
106
+ ```
107
+
108
+ **Ruby**:
109
+ ```bash
110
+ bundle install
111
+ ```
112
+
113
+ ### 4. 環境変数の設定
114
+
115
+ #### 4.1. 環境変数ファイルの確認
116
+
117
+ **質問5: 環境変数ファイルの存在**
118
+ - 「`.env.example` または `.env.sample` ファイルが存在しますか?」
119
+
120
+ **環境変数ファイルをコピー**:
121
+ ```bash
122
+ cp .env.example .env
123
+ ```
124
+
125
+ #### 4.2. 環境変数の設定
126
+
127
+ **質問6: 必要な環境変数**
128
+ - 「設定が必要な環境変数は何ですか?」
129
+
130
+ 必要な環境変数の例:
131
+ - `DATABASE_URL` - データベース接続文字列
132
+ - `REDIS_URL` - Redis 接続文字列
133
+ - `API_KEY` - 外部 API キー
134
+ - `JWT_SECRET` - JWT シークレット
135
+ - `NODE_ENV` - 環境(development, production)
136
+
137
+ **環境変数を対話的に設定**:
138
+ ```bash
139
+ # .env ファイルを編集
140
+ nano .env
141
+ # または
142
+ code .env
143
+ ```
144
+
145
+ **例**:
146
+ ```env
147
+ # Database
148
+ DATABASE_URL=postgresql://user:password@localhost:5432/dbname
149
+
150
+ # Redis
151
+ REDIS_URL=redis://localhost:6379
152
+
153
+ # API Keys
154
+ OPENAI_API_KEY=your_api_key_here
155
+
156
+ # JWT
157
+ JWT_SECRET=your_secret_key_here
158
+
159
+ # Environment
160
+ NODE_ENV=development
161
+ ```
162
+
163
+ ### 5. データベースのセットアップ
164
+
165
+ #### 5.1. データベースサーバーの起動
166
+
167
+ **Docker Compose を使用する場合**:
168
+ ```bash
169
+ docker-compose up -d postgres
170
+ # または
171
+ docker-compose up -d
172
+ ```
173
+
174
+ **ローカルにインストールされている場合**:
175
+ ```bash
176
+ # PostgreSQL
177
+ sudo service postgresql start
178
+
179
+ # MySQL
180
+ sudo service mysql start
181
+
182
+ # MongoDB
183
+ sudo service mongod start
184
+ ```
185
+
186
+ #### 5.2. データベースの作成
187
+
188
+ **質問7: データベース作成**
189
+ - 「データベースを作成する必要がありますか?」
190
+
191
+ **PostgreSQL**:
192
+ ```bash
193
+ createdb <database_name>
194
+ ```
195
+
196
+ **MySQL**:
197
+ ```bash
198
+ mysql -u root -p -e "CREATE DATABASE <database_name>;"
199
+ ```
200
+
201
+ #### 5.3. マイグレーションの実行
202
+
203
+ **Node.js (Prisma)**:
204
+ ```bash
205
+ npx prisma migrate dev
206
+ ```
207
+
208
+ **Node.js (TypeORM)**:
209
+ ```bash
210
+ npm run migration:run
211
+ ```
212
+
213
+ **Python (Django)**:
214
+ ```bash
215
+ python manage.py migrate
216
+ ```
217
+
218
+ **Python (Alembic)**:
219
+ ```bash
220
+ alembic upgrade head
221
+ ```
222
+
223
+ **Ruby (Rails)**:
224
+ ```bash
225
+ rails db:migrate
226
+ ```
227
+
228
+ ### 6. サンプルデータの投入(オプション)
229
+
230
+ **質問8: サンプルデータの投入**
231
+ - 「開発用のサンプルデータを投入しますか?」
232
+
233
+ **Node.js (Prisma)**:
234
+ ```bash
235
+ npx prisma db seed
236
+ ```
237
+
238
+ **Python (Django)**:
239
+ ```bash
240
+ python manage.py loaddata fixtures/sample_data.json
241
+ ```
242
+
243
+ **Ruby (Rails)**:
244
+ ```bash
245
+ rails db:seed
246
+ ```
247
+
248
+ **カスタムスクリプト**:
249
+ ```bash
250
+ npm run seed
251
+ # または
252
+ node scripts/seed.js
253
+ ```
254
+
255
+ ### 7. ビルド・コンパイル(必要に応じて)
256
+
257
+ **質問9: ビルドが必要**
258
+ - 「初回ビルドが必要ですか?」
259
+
260
+ **TypeScript プロジェクト**:
261
+ ```bash
262
+ npm run build
263
+ # または
264
+ tsc
265
+ ```
266
+
267
+ **Webpack/Vite プロジェクト**:
268
+ ```bash
269
+ npm run build
270
+ ```
271
+
272
+ ### 8. 開発サーバーの起動
273
+
274
+ **開発サーバーを起動してテスト**:
275
+ ```bash
276
+ # Node.js
277
+ npm run dev
278
+ # または
279
+ yarn dev
280
+
281
+ # Python (Django)
282
+ python manage.py runserver
283
+
284
+ # Python (Flask)
285
+ flask run
286
+
287
+ # Ruby (Rails)
288
+ rails server
289
+ ```
290
+
291
+ **質問10: サーバー起動確認**
292
+ - 「開発サーバーが正常に起動しましたか?」
293
+ - ブラウザで `http://localhost:<port>` にアクセスして確認
294
+
295
+ ### 9. テストの実行
296
+
297
+ **すべてのテストを実行して環境が正しくセットアップされたことを確認**:
298
+ ```bash
299
+ npm test
300
+ # または
301
+ pytest
302
+ # または
303
+ rails test
304
+ ```
305
+
306
+ **質問11: テスト結果**
307
+ - 「すべてのテストが通りましたか?」
308
+ - 失敗した場合、環境設定を見直す
309
+
310
+ ### 10. 開発ツールのセットアップ(オプション)
311
+
312
+ #### 10.1. エディタ設定
313
+
314
+ **VS Code 拡張機能**:
315
+ - `.vscode/extensions.json` が存在する場合、推奨拡張機能をインストール
316
+
317
+ **EditorConfig**:
318
+ - `.editorconfig` が存在する場合、エディタで読み込まれることを確認
319
+
320
+ #### 10.2. Git Hooks
321
+
322
+ **Husky のセットアップ**:
323
+ ```bash
324
+ npm run prepare
325
+ # または
326
+ npx husky install
327
+ ```
328
+
329
+ **pre-commit フックの有効化**:
330
+ ```bash
331
+ pre-commit install
332
+ ```
333
+
334
+ ### 11. ドキュメントの確認
335
+
336
+ **質問12: ドキュメントの確認**
337
+ - 「README.md に追加のセットアップ手順が記載されていますか?」
338
+ - 追加手順がある場合、それに従う
339
+
340
+ ### 12. セットアップ完了の確認
341
+
342
+ **チェックリスト**:
343
+ - [ ] 依存関係がすべてインストールされた
344
+ - [ ] 環境変数が正しく設定された
345
+ - [ ] データベースが作成され、マイグレーションが実行された
346
+ - [ ] サンプルデータが投入された(オプション)
347
+ - [ ] 開発サーバーが起動した
348
+ - [ ] テストが通った
349
+ - [ ] ブラウザでアプリケーションが表示された
350
+
351
+ ## 完了条件
352
+
353
+ - すべての依存関係がインストールされている
354
+ - 環境変数が適切に設定されている
355
+ - データベースがセットアップされ、マイグレーションが完了している
356
+ - 開発サーバーが正常に起動する
357
+ - テストが全て通る
358
+ - ブラウザでアプリケーションが正しく表示される
359
+ - README.md の手順がすべて完了している
360
+
361
+ ## エスカレーション
362
+
363
+ - **依存関係のインストールが失敗する場合**:
364
+ - 「依存関係のインストールに失敗しました。以下を確認してください:」
365
+ - インターネット接続
366
+ - npm/yarn/pnpm のバージョン
367
+ - ネットワークプロキシ設定
368
+ - `npm cache clean --force` でキャッシュをクリア
369
+
370
+ - **データベース接続エラー**:
371
+ - 「データベースに接続できません。以下を確認してください:」
372
+ - データベースサーバーが起動しているか
373
+ - `DATABASE_URL` が正しいか
374
+ - データベースユーザーの権限
375
+ - ファイアウォール設定
376
+
377
+ - **ポート競合エラー**:
378
+ - 「ポートが既に使用されています。以下を確認してください:」
379
+ - `lsof -i :<port>` で使用中のプロセスを確認
380
+ - 別のポートを使用するか、プロセスを停止
381
+
382
+ - **環境変数が不足している場合**:
383
+ - 「必要な環境変数が設定されていません。`.env.example` を参照して、`.env` に必要な変数を設定してください。」
384
+
385
+ - **マイグレーションが失敗する場合**:
386
+ - 「マイグレーションに失敗しました。以下を確認してください:」
387
+ - データベースが作成されているか
388
+ - マイグレーションファイルが存在するか
389
+ - データベーススキーマの競合がないか
390
+
391
+ ## トラブルシューティング
392
+
393
+ ### Node.js バージョンの不一致
394
+ ```bash
395
+ nvm install <version>
396
+ nvm use <version>
397
+ ```
398
+
399
+ ### Python 仮想環境の問題
400
+ ```bash
401
+ # 仮想環境を削除して再作成
402
+ rm -rf .venv
403
+ python -m venv .venv
404
+ source .venv/bin/activate
405
+ pip install -r requirements.txt
406
+ ```
407
+
408
+ ### データベースリセット
409
+ ```bash
410
+ # PostgreSQL
411
+ dropdb <database_name>
412
+ createdb <database_name>
413
+ npm run migration:run
414
+
415
+ # Rails
416
+ rails db:drop db:create db:migrate db:seed
417
+ ```
418
+
419
+ ### キャッシュのクリア
420
+ ```bash
421
+ # npm
422
+ npm cache clean --force
423
+ rm -rf node_modules package-lock.json
424
+ npm install
425
+
426
+ # pip
427
+ pip cache purge
428
+ ```
429
+
430
+ ## ベストプラクティス
431
+
432
+ - **ドキュメント化**: README.md にセットアップ手順を明確に記載
433
+ - **自動化スクリプト**: `npm run setup` のようなスクリプトで一括セットアップ
434
+ - **Docker 活用**: Docker Compose でデータベースなどの依存サービスを管理
435
+ - **環境変数テンプレート**: `.env.example` を最新の状態に保つ
436
+ - **CI/CD でテスト**: セットアップ手順が正しいことを CI で定期的に検証
437
+ - **Makefile**: 複雑なセットアップ手順を `Makefile` にまとめる