@einja/dev-cli 0.1.19 → 0.1.21

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 (30) hide show
  1. package/dist/commands/task-loop/lib/dependency-resolver.d.ts.map +1 -1
  2. package/dist/commands/task-loop/lib/dependency-resolver.js +16 -0
  3. package/dist/commands/task-loop/lib/dependency-resolver.js.map +1 -1
  4. package/dist/commands/task-loop/lib/dependency-resolver.test.js +98 -0
  5. package/dist/commands/task-loop/lib/dependency-resolver.test.js.map +1 -1
  6. package/dist/commands/task-loop/lib/issue-validator.d.ts +36 -0
  7. package/dist/commands/task-loop/lib/issue-validator.d.ts.map +1 -0
  8. package/dist/commands/task-loop/lib/issue-validator.js +367 -0
  9. package/dist/commands/task-loop/lib/issue-validator.js.map +1 -0
  10. package/package.json +1 -1
  11. package/presets/default/.claude/agents/einja/backend-architect.md +3 -1
  12. package/presets/default/.claude/agents/einja/design-engineer.md +3 -1
  13. package/presets/default/.claude/agents/einja/docs/docs-updater.md +1 -1
  14. package/presets/default/.claude/agents/einja/frontend-architect.md +3 -1
  15. package/presets/default/.claude/agents/einja/frontend-coder.md +3 -1
  16. package/presets/default/.claude/agents/einja/specs/spec-tasks-generator.md +133 -176
  17. package/presets/default/.claude/agents/einja/specs/spec-tasks-validator.md +150 -0
  18. package/presets/default/.claude/agents/einja/task/task-executer.md +19 -11
  19. package/presets/default/.claude/commands/einja/spec-create.md +85 -14
  20. package/presets/default/.claude/skills/einja-general-context-loader/SKILL.md +1 -1
  21. package/presets/default/.claude/skills/einja-spec-context-loader/SKILL.md +4 -4
  22. package/scaffolds/instructions/deployment-setup.md +74 -6
  23. package/scaffolds/instructions/environment-setup.md +10 -18
  24. package/scaffolds/instructions/task-execute.md +31 -31
  25. package/scaffolds/instructions/task-vibe-kanban-loop.md +5 -5
  26. package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +1 -1
  27. package/scaffolds/steering/development-workflow.md +21 -21
  28. package/scaffolds/steering/infrastructure/deployment.md +18 -7
  29. package/scaffolds/steering/infrastructure/environment-variables.md +11 -8
  30. package/scaffolds/steering/task-management.md +131 -7
@@ -32,7 +32,7 @@ TodoWriteツールを使用して全体の進捗を可視化し、ユーザー
32
32
 
33
33
  ### 0. 前提確認フェーズ(ワークフロー開始時)
34
34
 
35
- **⚠️ 重要**: 仕様書作成開始前に、以下の2つの質問で前提を確認すること。
35
+ **⚠️ 重要**: 仕様書作成開始前に、以下の3つの質問で前提を確認すること。
36
36
 
37
37
  #### 0.1 TDD適用判定
38
38
 
@@ -86,6 +86,28 @@ AskUserQuestion:
86
86
  3. **エラー時**: エラーの場合、ユーザーにどう見せたい?
87
87
  4. **暗黙の期待**: 「当たり前」だと思っていることは?
88
88
 
89
+ #### 0.3 IssueBranchBaseの選択
90
+
91
+ **質問3: Issueブランチの作成元を確認**
92
+
93
+ ```yaml
94
+ AskUserQuestion:
95
+ question: "Issueブランチ(issue/{issue番号})の作成元(IssueBranchBase)を選択してください"
96
+ header: "IssueBranchBase選択"
97
+ options:
98
+ - label: "デフォルトブランチ(推奨)"
99
+ description: "gitのデフォルトブランチ(main/developなど)を使用します"
100
+ - label: "main"
101
+ description: "mainブランチをIssueBranchBaseとして使用します"
102
+ - label: "develop"
103
+ description: "developブランチをIssueBranchBaseとして使用します"
104
+ - label: "その他(ブランチ名を入力)"
105
+ description: "例: release/2025-01"
106
+ ```
107
+
108
+ **「その他」選択時の対応**:
109
+ - ブランチ名をユーザーに確認し、IssueBranchBaseとして記録する
110
+
89
111
  ### 1. 外部リソースの確認
90
112
 
91
113
  **AsanaタスクURL**の場合:
@@ -108,6 +130,12 @@ AskUserQuestion:
108
130
  - パス指定あり → 指定ディレクトリを使用
109
131
  - パス指定なし → `/docs/specs/issues/{機能カテゴリ名}/issue{issue番号}-{機能名}/` で自動作成
110
132
 
133
+ 3. **Issueブランチ作成(MCP + ローカル)**
134
+ - `mcp__github__create_branch` を使用
135
+ - branch: `issue/{issue番号}`(例: `issue/42`)
136
+ - from_branch: IssueBranchBase(0.3で選択)
137
+ - ローカルでも `issue/{issue番号}` にチェックアウトして作業を開始
138
+
111
139
  ### 3. 段階的仕様書作成
112
140
  **重要**: 各段階で必ずユーザー承認を得て、コミット&プッシュしてから次へ進行すること。
113
141
 
@@ -119,8 +147,8 @@ AskUserQuestion:
119
147
  - 作成したファイルのパスと概要を提示
120
148
  - 確認ポイントを明示(要件の過不足、受け入れ基準の明確性など)
121
149
  3. **ユーザー承認後、コミット&プッシュ**
122
- - コミットメッセージ: `docs: add requirements for {feature-name}`
123
- - ブランチは現在のブランチにプッシュ
150
+ - コミットメッセージ: `docs: {機能名}の要件を追加`
151
+ - ブランチは `issue/{issue番号}` にプッシュ
124
152
  - 他のメンバーがレビューできるようにする
125
153
  4. **承認を得てから次のステップ(design.md)に進む**
126
154
 
@@ -133,8 +161,8 @@ AskUserQuestion:
133
161
  - 作成したファイルのパスと概要を提示
134
162
  - 確認ポイントを明示(アーキテクチャの妥当性、実装方針など)
135
163
  3. **ユーザー承認後、コミット&プッシュ**
136
- - コミットメッセージ: `docs: add design for {feature-name}`
137
- - ブランチは現在のブランチにプッシュ
164
+ - コミットメッセージ: `docs: {機能名}の設計を追加`
165
+ - ブランチは `issue/{issue番号}` にプッシュ
138
166
  4. **承認を得てから次のステップ(QAテスト仕様生成)に進む**
139
167
 
140
168
  #### Phase 3: QAテスト仕様生成(シナリオテスト含む)
@@ -147,33 +175,76 @@ AskUserQuestion:
147
175
  - 作成したqa-tests/ディレクトリの構成と概要を提示
148
176
  - 確認ポイントを明示(シナリオテストの網羅性、実施タイミングの妥当性など)
149
177
  3. **ユーザー承認後、コミット&プッシュ**
150
- - コミットメッセージ: `docs: add qa-test specs for {feature-name}`
151
- - ブランチは現在のブランチにプッシュ
178
+ - コミットメッセージ: `docs: {機能名}のQAテスト仕様を追加`
179
+ - ブランチは `issue/{issue番号}` にプッシュ
152
180
  4. **承認を得てから次のステップ(GitHub Issueへのタスク記述)に進む**
153
181
 
154
182
  #### Phase 4: GitHub Issueへのタスク記述
155
- 1. spec-tasks-generatorエージェントで作成
183
+
184
+ ##### 4.1 タスク生成・検証ループ
185
+
186
+ **重要**: タスク生成後は自動的にフォーマット検証を行い、違反があれば差し戻します。
187
+
188
+ ```
189
+ 【タスク生成・検証ループ】(最大3回)
190
+
191
+ ├─ spec-tasks-generator 呼び出し
192
+ │ └─ タスク一覧を生成(またはエラーフィードバックを元に修正版を生成)
193
+
194
+ ├─ spec-tasks-validator 呼び出し
195
+ │ └─ フォーマット検証
196
+
197
+ └─ 検証結果判定
198
+ ├─ SUCCESS → ループ終了、ユーザー確認へ
199
+ └─ FAILURE → spec-tasks-generator に差し戻し
200
+ └─ エラーレポート付きで再呼び出し
201
+ └─ ループ再開(最大3回)
202
+
203
+ ※ 3回失敗 → ユーザーに手動修正を依頼
204
+ ```
205
+
206
+ 1. **spec-tasks-generatorエージェントでタスク生成**
156
207
  - エージェント内で実装の影響範囲を分析
157
208
  - 実装タスクの分解と依存関係
158
209
  - requirements.md、design.md、**qa-tests/scenarios.md**の内容を参照
159
210
  - 各タスクに**シナリオテスト実施タイミング**を明記
160
211
  - **GitHub Issueの説明文にタスク一覧を記述**
161
- 2. **ユーザーに内容確認を依頼**
212
+
213
+ 2. **spec-tasks-validatorエージェントでフォーマット検証**
214
+ - タスク階層(Phase/タスクグループ/タスク/サブタスク)の形式チェック
215
+ - メタデータ(要件・依存関係・完了条件・対応設計・シナリオテスト)の必須チェック
216
+ - 依存関係の書式・参照先の検証
217
+ - ATDD粒度チェック(Phase数、縦切り/横切り)
218
+
219
+ 3. **検証結果の処理**
220
+ - **SUCCESS**: ユーザー確認フェーズへ進む
221
+ - **FAILURE(リトライ可能)**:
222
+ - エラーレポートを spec-tasks-generator に渡して再生成
223
+ - ループ再開(現在の試行回数をインクリメント)
224
+ - **MAX_RETRIES_EXCEEDED(3回失敗)**:
225
+ - ユーザーに手動修正を依頼
226
+ - エラー内容を提示し、修正後に続行できるよう案内
227
+
228
+ ##### 4.2 ユーザー確認
229
+
230
+ 4. **ユーザーに内容確認を依頼**
162
231
  - 更新したGitHub IssueのURL(#{issue_number})と概要を提示
163
232
  - 確認ポイントを明示(タスク分解の粒度、依存関係の妥当性など)
164
- 3. **ユーザー承認後、以下の処理を実行**
233
+ - **バリデーション合格済みであることを明記**
234
+
235
+ 5. **ユーザー承認後、以下の処理を実行**
165
236
 
166
- a. **Issueブランチ作成(MCP)**
237
+ a. **Issueブランチの存在確認(未作成時のみ作成)**
167
238
  - `mcp__github__create_branch` を使用
168
239
  - branch: `issue/{issue番号}`(例: `issue/42`)
169
240
  - ⚠️ **機能名は含めない**(ディレクトリ名とは異なる。上記「命名規則」参照)
170
- - from_branch: デフォルトブランチ(main/masterなど)
241
+ - from_branch: IssueBranchBase(0.3で選択)
171
242
 
172
243
  b. **仕様書ファイルをプッシュ(MCP)**
173
244
  - `mcp__github__push_files` を使用
174
245
  - branch: `issue/{issue番号}`
175
246
  - files: requirements.md, design.md, qa-tests/(または分割された各ファイル)
176
- - message: `docs: add specs for {feature-name} (Issue #{issue_number})`
247
+ - message: `docs: {機能名}の仕様書を追加 (Issue #{issue_number})`
177
248
 
178
249
  c. **PR作成(MCP)**
179
250
  - `mcp__github__create_pull_request` を使用
@@ -192,7 +263,7 @@ AskUserQuestion:
192
263
  - QAテスト仕様へのリンク(qa-tests/scenarios.md)
193
264
  - タスク一覧(Phase別チェックボックス形式、シナリオテスト実施タイミング明記)
194
265
 
195
- 4. **全ての仕様書作成が完了したことを報告**
266
+ 6. **全ての仕様書作成が完了したことを報告**
196
267
  - GitHub Issue URLを明記
197
268
  - Spec PR URLを明記
198
269
 
@@ -203,7 +203,7 @@ interface Example {
203
203
 
204
204
  ### 推奨アクション
205
205
  1. ユーザーに追加情報を求める
206
- 2. または `/spec-create` で仕様書を作成する
206
+ 2. または `/einja:spec-create` で仕様書を作成する
207
207
  ```
208
208
 
209
209
  ---
@@ -145,7 +145,7 @@ interface Example {
145
145
 
146
146
  ### エラー内容
147
147
  - **原因**: [不足ファイル一覧 or エラー詳細]
148
- - **推奨アクション**: `/spec-create` を実行して仕様書を完成させてください
148
+ - **推奨アクション**: `/einja:spec-create` を実行して仕様書を完成させてください
149
149
  ```
150
150
 
151
151
  ---
@@ -155,9 +155,9 @@ interface Example {
155
155
  | エラー種別 | 原因 | 対処 |
156
156
  |-----------|------|------|
157
157
  | spec ディレクトリ不在 | 指定パスが存在しない | パスを確認して再実行 |
158
- | requirements.md 不在 | Phase 1 未完了 | `/spec-create` で Phase 1 を実行 |
159
- | design.md 不在 | Phase 2 未完了 | `/spec-create` で Phase 2 を実行 |
160
- | qa-tests/ 不在 | Phase 3 未完了 | `/spec-create` で Phase 3 を実行 |
158
+ | requirements.md 不在 | Phase 1 未完了 | `/einja:spec-create` で Phase 1 を実行 |
159
+ | design.md 不在 | Phase 2 未完了 | `/einja:spec-create` で Phase 2 を実行 |
160
+ | qa-tests/ 不在 | Phase 3 未完了 | `/einja:spec-create` で Phase 3 を実行 |
161
161
 
162
162
  ---
163
163
 
@@ -30,6 +30,7 @@
30
30
  | 変数名 | 説明 | 用途 | GitHub Actions | Vercel |
31
31
  |--------|------|------|:--------------:|:------:|
32
32
  | `DOTENV_PRIVATE_KEY_CI` | CI環境用復号鍵 | CI/CD | ◯ | - |
33
+ | `DOTENV_PRIVATE_KEY_PREVIEW` | Preview環境用復号鍵 | Previewビルド | ◯ | - |
33
34
  | `DOTENV_PRIVATE_KEY_PRODUCTION` | 本番環境用復号鍵 | ビルド | ◯ | ◯ |
34
35
  | `TURBO_TOKEN` | Turborepo Remote Cacheトークン | ビルド高速化 | ◯ | - |
35
36
  | `TURBO_TEAM` | VercelチームID | ビルド高速化 | ◯ | - |
@@ -38,9 +39,9 @@
38
39
 
39
40
  | 変数名 | 説明 | 用途 | GitHub Actions | Vercel |
40
41
  |--------|------|------|:--------------:|:------:|
41
- | `VERCEL_TOKEN` | Vercelデプロイトークン | 手動デプロイ | | - |
42
- | `VERCEL_ORG_ID` | Vercel組織ID | 手動デプロイ | | - |
43
- | `VERCEL_WEB_PROJECT_ID` | webプロジェクトID | 手動デプロイ | | - |
42
+ | `VERCEL_TOKEN` | Vercelデプロイトークン | Vercel CLIデプロイ | `.env.ci` に格納 | - |
43
+ | `VERCEL_ORG_ID` | Vercel組織ID | Vercel CLIデプロイ | `.env.ci` に格納 | - |
44
+ | `VERCEL_PROJECT_ID_WEB` | webプロジェクトID | Vercel CLIデプロイ | `.env.ci` に格納 | - |
44
45
  | `RAILWAY_TOKEN` | Railway APIトークン | Railwayデプロイ | ◯ | - |
45
46
  | `RAILWAY_SERVICE_ID` | RailwayサービスID | Railwayデプロイ | ◯ | - |
46
47
 
@@ -62,14 +63,54 @@
62
63
  # 4. [YOUR-PASSWORD] を設定したパスワードに置換
63
64
  ```
64
65
 
65
- ### Neon
66
+ ### Neon(Preview環境DBブランチ自動作成対応)
67
+
68
+ #### プロジェクト作成
66
69
 
67
70
  ```bash
68
71
  # 1. https://neon.tech でアカウント作成
72
+
69
73
  # 2. 「Create a project」でプロジェクト作成
74
+ # - Region: AWS ap-northeast-1 (Tokyo)
75
+ # - Postgres version: 16(推奨)
76
+ # - Project name: einja-management(任意)
77
+
70
78
  # 3. Connection Details > Connection string をコピー
79
+ # 例: postgresql://user:pass@ep-xxx-xxx.ap-northeast-1.aws.neon.tech/main
80
+ ```
81
+
82
+ #### Neon環境変数の設定
83
+
84
+ Neonの環境変数は `.env.preview` で管理します。GitHub Secretsへの登録は不要です。
85
+
86
+ ```bash
87
+ # pnpm env:update でNeon環境変数を追加
88
+ pnpm env:update
89
+
90
+ # 対話式ウィザードで以下を選択:
91
+ # 1. 「環境設定を変更」を選択
92
+ # 2. 「preview環境」を選択
93
+ # 3. NEON_API_KEY と NEON_PROJECT_ID を追加
94
+
95
+ # NEON_API_KEY: Neon Console > Account Settings > API Keys から取得
96
+ # NEON_PROJECT_ID: Neon Console > Project Settings > General > Project ID から取得
71
97
  ```
72
98
 
99
+ #### ブランチ命名規則
100
+
101
+ Preview環境用のDBブランチは以下のルールで自動作成されます:
102
+
103
+ | PRブランチ名 | 作成されるDBブランチ名 | 親ブランチ |
104
+ |------------|---------------------|----------|
105
+ | `feature/user-auth` | `preview/feature-user-auth` | `main` |
106
+ | `fix/login-bug` | `preview/fix-login-bug` | `main` |
107
+ | `feat/dashboard` | `preview/feat-dashboard` | `main` |
108
+
109
+ **重要**:
110
+ - DBブランチ名はGitブランチ名から自動変換(`/`→`-`、小文字化)
111
+ - プレフィックス `preview/` が自動付与
112
+ - PR作成時に自動作成、PRクローズ時に自動削除
113
+
73
114
  ### Vercel Postgres
74
115
 
75
116
  ```bash
@@ -126,6 +167,32 @@ vercel
126
167
  vercel --prod
127
168
  ```
128
169
 
170
+ ### GitHub Actions での Vercel CLI デプロイ
171
+
172
+ GitHub Actions では `.env.ci` に Vercel CLI の認証情報を保持します。
173
+
174
+ ```bash
175
+ # .env.ci に追加(dotenvxで暗号化されます)
176
+ VERCEL_TOKEN=xxxxxxxxxxxxxxxxxxxx
177
+ VERCEL_ORG_ID=team_xxxxxxxxxxxxx
178
+ VERCEL_PROJECT_ID_WEB=prj_xxxxxxxxxxxxx
179
+ ```
180
+
181
+ #### 取得方法
182
+
183
+ ```bash
184
+ # VERCEL_TOKEN: Vercel Dashboard > Account Settings > Tokens > Create Token
185
+ # VERCEL_ORG_ID: Vercel Dashboard > Team Settings > General > Team ID
186
+ # VERCEL_PROJECT_ID_WEB: Vercel Dashboard > Project Settings > General > Project ID
187
+ ```
188
+
189
+ `.env.ci` を更新する場合は以下を使用してください:
190
+
191
+ ```bash
192
+ pnpm env:update
193
+ # → 「環境設定を変更」→「CI環境」
194
+ ```
195
+
129
196
  ---
130
197
 
131
198
  ## 4. Turborepo Remote Cache設定
@@ -248,15 +315,16 @@ gh secret set RAILWAY_SERVICE_ID --body "サービスID"
248
315
  # 1. GitHub リポジトリ > Settings > Secrets and variables > Actions
249
316
  # 2. 「New repository secret」で以下を追加
250
317
 
251
- # 必須
318
+ # 必須Secrets
252
319
  gh secret set DOTENV_PRIVATE_KEY_CI --body "$(grep DOTENV_PRIVATE_KEY_CI .env.keys | cut -d= -f2)"
320
+ gh secret set DOTENV_PRIVATE_KEY_PREVIEW --body "$(grep DOTENV_PRIVATE_KEY_PREVIEW .env.keys | cut -d= -f2)"
253
321
  gh secret set TURBO_TOKEN --body "取得したトークン"
254
322
  gh secret set TURBO_TEAM --body "team_xxxxxxxxx"
255
323
 
256
324
  # オプション(手動デプロイ用)
257
325
  gh secret set VERCEL_TOKEN --body "取得したトークン"
258
326
  gh secret set VERCEL_ORG_ID --body "team_xxxxxxxxx"
259
- gh secret set VERCEL_WEB_PROJECT_ID --body "prj_xxxxxxxxx"
327
+ gh secret set VERCEL_PROJECT_ID_WEB --body "prj_xxxxxxxxx"
260
328
  ```
261
329
 
262
330
  ### 登録確認
@@ -136,8 +136,7 @@ dotenvx decrypt -f .env.production
136
136
  {
137
137
  "scripts": {
138
138
  "build": "dotenvx run -f .env.production -- turbo run build",
139
- "build:staging": "dotenvx run -f .env.staging -- turbo run build",
140
- "build:dev": "dotenvx run -f .env.development -- turbo run build",
139
+ "build:dev": "dotenvx run -f .env.develop -- turbo run build",
141
140
  "build:local": "turbo run build"
142
141
  }
143
142
  }
@@ -154,8 +153,7 @@ dotenvx decrypt -f .env.production
154
153
  ├── .env.example # .envの参考テンプレート(Git追跡)
155
154
  ├── .env.personal.example # 個人用トークンのテンプレート(Git追跡)
156
155
  ├── .env.local # ローカル開発用(暗号化・Git追跡)★
157
- ├── .env.development # dev検証サーバー用(暗号化・Git追跡)
158
- ├── .env.staging # ステージング用(暗号化・Git追跡)
156
+ ├── .env.develop # dev検証サーバー用(暗号化・Git追跡)
159
157
  ├── .env.production # 本番環境用(暗号化・Git追跡)
160
158
  ├── .env.ci # CI/CD用(暗号化・Git追跡)
161
159
  ├── .env.keys # 秘密鍵(Git除外・1Password等で共有)
@@ -182,7 +180,7 @@ GITHUB_TOKEN=
182
180
 
183
181
  ```bash
184
182
  # 開発サーバー用
185
- cat > .env.development << 'EOF'
183
+ cat > .env.develop << 'EOF'
186
184
  # Development Environment
187
185
  DATABASE_URL="postgresql://user:pass@dev-db:5432/einja_dev"
188
186
  NEXTAUTH_SECRET="dev-secret-key"
@@ -190,15 +188,6 @@ NEXTAUTH_URL="https://dev.example.com"
190
188
  NODE_ENV="development"
191
189
  EOF
192
190
 
193
- # ステージング用
194
- cat > .env.staging << 'EOF'
195
- # Staging Environment
196
- DATABASE_URL="postgresql://user:pass@staging-db:5432/einja_staging"
197
- NEXTAUTH_SECRET="staging-secret-key"
198
- NEXTAUTH_URL="https://staging.example.com"
199
- NODE_ENV="staging"
200
- EOF
201
-
202
191
  # 本番環境用
203
192
  cat > .env.production << 'EOF'
204
193
  # Production Environment
@@ -226,8 +215,7 @@ EOF
226
215
 
227
216
  ```bash
228
217
  # 各環境ファイルを暗号化
229
- dotenvx encrypt -f .env.development
230
- dotenvx encrypt -f .env.staging
218
+ dotenvx encrypt -f .env.develop
231
219
  dotenvx encrypt -f .env.production
232
220
  dotenvx encrypt -f .env.ci
233
221
  ```
@@ -258,8 +246,9 @@ NODE_ENV=encrypted:BDqRRvYcNnJ5rYo4c8Zhu/lThghcW8b6+7u4+M...
258
246
  cat .env.keys
259
247
 
260
248
  # 出力例:
261
- # DOTENV_PRIVATE_KEY_DEVELOPMENT=8afef18fa6e433593a5116cc406c83a44c4385b3f4f7d4cc25750e39f2baa320
249
+ # DOTENV_PRIVATE_KEY_DEVELOP=8afef18fa6e433593a5116cc406c83a44c4385b3f4f7d4cc25750e39f2baa320
262
250
  # DOTENV_PRIVATE_KEY_STAGING=548887285654af264275d8c58e87c82dd7958ac6e99760fb5aa5eca8e1efb35d
251
+ # DOTENV_PRIVATE_KEY_PREVIEW=bdb34e98e0312b3e06d10475901a841d9da69590993416d5e4141fd4d96b62ba
263
252
  # DOTENV_PRIVATE_KEY_PRODUCTION=73890d5288241cb6738b7172d5ee1bf2dd4aac8319442d951e31d123304f180d
264
253
  # DOTENV_PRIVATE_KEY_CI=4165a821b257a073b2b0a4b4e180b86accc76eec773ec53c6443626615c7d979
265
254
  ```
@@ -268,7 +257,7 @@ cat .env.keys
268
257
 
269
258
  ```bash
270
259
  # 暗号化されたファイルをコミット
271
- git add .env.development .env.staging .env.production .env.ci
260
+ git add .env.develop .env.production .env.ci
272
261
  git commit -m "chore: 環境変数ファイルを暗号化"
273
262
  ```
274
263
 
@@ -329,6 +318,9 @@ git push
329
318
  # CI用秘密鍵を登録
330
319
  gh secret set DOTENV_PRIVATE_KEY_CI --body "$(grep DOTENV_PRIVATE_KEY_CI .env.keys | cut -d= -f2)"
331
320
 
321
+ # Preview用秘密鍵を登録(Preview環境を使う場合)
322
+ gh secret set DOTENV_PRIVATE_KEY_PREVIEW --body "$(grep DOTENV_PRIVATE_KEY_PREVIEW .env.keys | cut -d= -f2)"
323
+
332
324
  # 本番用秘密鍵を登録(必要に応じて)
333
325
  gh secret set DOTENV_PRIVATE_KEY_PRODUCTION --body "$(grep DOTENV_PRIVATE_KEY_PRODUCTION .env.keys | cut -d= -f2)"
334
326
  ```
@@ -1,18 +1,18 @@
1
1
  <!-- @einja:managed:start -->
2
2
  # 開発ワークフロー
3
3
 
4
- このドキュメントでは、`/spec-create`と`/task-exec`コマンドを使用したATDD(受け入れテスト駆動開発)に基づく開発ワークフローについて説明します。
4
+ このドキュメントでは、`/einja:spec-create`と`/einja:task-exec`コマンドを使用したATDD(受け入れテスト駆動開発)に基づく開発ワークフローについて説明します。
5
5
 
6
6
  ## 概要
7
7
 
8
8
  開発プロセスは2つの主要なコマンドで構成されています:
9
9
 
10
- 1. **`/spec-create`**: 仕様書の作成(要件定義 → 設計 → GitHub Issueへのタスク記述)
11
- 2. **`/task-exec`**: タスクの実行(選定 → 実装 → レビュー → QA → 完了)
10
+ 1. **`/einja:spec-create`**: 仕様書の作成(要件定義 → 設計 → GitHub Issueへのタスク記述)
11
+ 2. **`/einja:task-exec`**: タスクの実行(選定 → 実装 → レビュー → QA → 完了)
12
12
 
13
13
  ## 全体フロー図
14
14
 
15
- ### フェーズ1: 仕様書作成 (`/spec-create`)
15
+ ### フェーズ1: 仕様書作成 (`/einja:spec-create`)
16
16
 
17
17
  ```mermaid
18
18
  graph TD
@@ -47,7 +47,7 @@ graph TD
47
47
  style Q fill:#c8e6c9
48
48
  ```
49
49
 
50
- ### フェーズ2: タスク実行 (`/task-exec`)
50
+ ### フェーズ2: タスク実行 (`/einja:task-exec`)
51
51
 
52
52
  **注記**: 品質保証ループにより、レビュー/QA失敗時は自動的に実装フェーズに戻ります。複数タスク一括実行も可能です。
53
53
 
@@ -91,11 +91,11 @@ graph TD
91
91
 
92
92
  ```mermaid
93
93
  graph LR
94
- A[/spec-create] --> B[requirements.md]
94
+ A[/einja:spec-create] --> B[requirements.md]
95
95
  A --> C[design.md]
96
96
  A --> D[GitHub Issue]
97
97
 
98
- D --> E[/task-exec]
98
+ D --> E[/einja:task-exec]
99
99
  B --> E
100
100
  C --> E
101
101
 
@@ -115,7 +115,7 @@ graph LR
115
115
 
116
116
  ## コマンド詳細
117
117
 
118
- ### 1. `/spec-create` コマンド
118
+ ### 1. `/einja:spec-create` コマンド
119
119
 
120
120
  **役割**: プロダクト開発のシニアテクニカルアーキテクト兼シニアプロダクトエンジニアとして、ATDD形式の仕様書を段階的に作成します。
121
121
 
@@ -123,13 +123,13 @@ graph LR
123
123
 
124
124
  ```bash
125
125
  # Asanaタスクから仕様書作成
126
- /spec-create https://app.asana.com/0/project/task-id
126
+ /einja:spec-create https://app.asana.com/0/project/task-id
127
127
 
128
128
  # 機能説明から仕様書作成
129
- /spec-create "ユーザー認証機能の実装:マジックリンク認証とセッション管理"
129
+ /einja:spec-create "ユーザー認証機能の実装:マジックリンク認証とセッション管理"
130
130
 
131
131
  # 既存仕様書を修正
132
- /spec-create "認証機能の改善" /docs/specs/issues/auth/20250111-auth-magic-link/
132
+ /einja:spec-create "認証機能の改善" /docs/specs/issues/auth/20250111-auth-magic-link/
133
133
  ```
134
134
 
135
135
  #### 処理フロー詳細
@@ -207,7 +207,7 @@ Step 4: GitHub Issueにタスク一覧を記述
207
207
 
208
208
  ---
209
209
 
210
- ### 2. `/task-exec` コマンド
210
+ ### 2. `/einja:task-exec` コマンド
211
211
 
212
212
  **役割**: タスク実行マネージャーとして、タスクの選定から実装、レビュー、QA、完了までの一連のプロセスを管理します。
213
213
 
@@ -220,13 +220,13 @@ Step 4: GitHub Issueにタスク一覧を記述
220
220
 
221
221
  ```bash
222
222
  # Issue番号を指定(自動選定)
223
- /task-exec #123
223
+ /einja:task-exec #123
224
224
 
225
225
  # 特定のタスクグループを指定
226
- /task-exec #123 1.1
226
+ /einja:task-exec #123 1.1
227
227
 
228
228
  # Issue番号のみ(#なし)
229
- /task-exec 123
229
+ /einja:task-exec 123
230
230
  ```
231
231
 
232
232
  #### 処理フロー詳細
@@ -323,11 +323,11 @@ Step 4: GitHub Issueにタスク一覧を記述
323
323
  詳細については、専用ドキュメントを参照してください:
324
324
  **📖 [Vibe-Kanban自動実行ガイド](./task-vibe-kanban-loop.md)**
325
325
 
326
- #### `/task-exec`との使い分け
326
+ #### `/einja:task-exec`との使い分け
327
327
 
328
328
  | コマンド | 用途 | 品質保証 | 推奨シーン |
329
329
  |---------|------|---------|----------|
330
- | **`/task-exec`** | 重要タスクの確実な完了 | ✅ 合格まで自動ループ | 複雑な実装、品質重視 |
330
+ | **`/einja:task-exec`** | 重要タスクの確実な完了 | ✅ 合格まで自動ループ | 複雑な実装、品質重視 |
331
331
  | **`pnpm task:loop`** | 大量タスクの自動消化 | ❌ 各タスクは別プロセス | 定型作業、並行開発 |
332
332
 
333
333
  **詳細な使い分け基準**: [task-vibe-kanban-loop.md](./task-vibe-kanban-loop.md#task-execとの使い分け)
@@ -342,10 +342,10 @@ Step 4: GitHub Issueにタスク一覧を記述
342
342
 
343
343
  ```bash
344
344
  # Asanaタスクから仕様書を作成
345
- /spec-create https://app.asana.com/0/project/auth-magic-link
345
+ /einja:spec-create https://app.asana.com/0/project/auth-magic-link
346
346
 
347
347
  # または機能説明から作成
348
- /spec-create "マジックリンク認証機能:
348
+ /einja:spec-create "マジックリンク認証機能:
349
349
  - メールアドレスでログイン
350
350
  - ワンタイムトークン生成
351
351
  - メール送信
@@ -366,7 +366,7 @@ GitHub Issue #123 ← 実装タスク一覧(Phase 1〜3)
366
366
 
367
367
  ```bash
368
368
  # Phase 1-1: トークン生成APIの実装
369
- /task-exec #123
369
+ /einja:task-exec #123
370
370
 
371
371
  # 実行内容:
372
372
  # 1. task-executer: API実装、バリデーション追加
@@ -379,7 +379,7 @@ GitHub Issue #123 ← 実装タスク一覧(Phase 1〜3)
379
379
 
380
380
  ```bash
381
381
  # Phase 1-2: メール送信機能の実装
382
- /task-exec #123
382
+ /einja:task-exec #123
383
383
 
384
384
  # 実行内容:
385
385
  # 1. task-executer: メールサービス実装
@@ -392,8 +392,8 @@ GitHub Issue #123 ← 実装タスク一覧(Phase 1〜3)
392
392
 
393
393
  ```bash
394
394
  # Phase 2, Phase 3 のタスクグループを順次実行
395
- /task-exec #123
396
- /task-exec #123
395
+ /einja:task-exec #123
396
+ /einja:task-exec #123
397
397
  ...
398
398
 
399
399
  # 最終的にすべてのタスクグループが [x] 完了状態になる
@@ -451,7 +451,7 @@ GitHub Issue #123 ← 実装タスク一覧(Phase 1〜3)
451
451
  stateDiagram-v2
452
452
  [*] --> 未着手: タスク作成
453
453
 
454
- 未着手 --> 着手中_TaskExec: /task-exec実行
454
+ 未着手 --> 着手中_TaskExec: /einja:task-exec実行
455
455
  未着手 --> Vibe登録: /task-vibe-kanban-loop実行
456
456
 
457
457
  着手中_TaskExec --> 実装中: 実装フェーズ
@@ -545,7 +545,7 @@ graph TD
545
545
  # 原因: 依存関係が満たされていない
546
546
  # 対処: 先行タスクグループを先に完了させる
547
547
 
548
- /task-exec #123 1.1 # 先行タスクグループを指定して実行
548
+ /einja:task-exec #123 1.1 # 先行タスクグループを指定して実行
549
549
  ```
550
550
 
551
551
  #### 2. レビューで差し戻される
@@ -575,8 +575,8 @@ graph TD
575
575
  ```mermaid
576
576
  sequenceDiagram
577
577
  participant User as ユーザー
578
- participant SpecCreate as /spec-create
579
- participant TaskExec as /task-exec
578
+ participant SpecCreate as /einja:spec-create
579
+ participant TaskExec as /einja:task-exec
580
580
  participant Executer as task-executer
581
581
  participant Reviewer as task-reviewer
582
582
  participant QA as task-qa
@@ -628,15 +628,15 @@ sequenceDiagram
628
628
 
629
629
  ### 実行の流れ
630
630
 
631
- 1. **仕様書作成**: `/spec-create`で要件・設計を作成し、GitHub Issueにタスク一覧を記述
632
- 2. **タスク実行**: `/task-exec`でタスクグループを1つずつ実行
631
+ 1. **仕様書作成**: `/einja:spec-create`で要件・設計を作成し、GitHub Issueにタスク一覧を記述
632
+ 2. **タスク実行**: `/einja:task-exec`でタスクグループを1つずつ実行
633
633
  - task-executerで実装
634
634
  - task-reviewerでレビュー
635
635
  - task-qaでQA
636
636
  - 完了時にタスクグループを完了状態に更新
637
- 3. **繰り返し**: 全タスクグループが完了するまで`/task-exec`を繰り返す
637
+ 3. **繰り返し**: 全タスクグループが完了するまで`/einja:task-exec`を繰り返す
638
638
 
639
- 開発を始める際は、まず`/spec-create`で仕様書を作成し、その後`/task-exec`でタスクグループを順次実行していきます。
639
+ 開発を始める際は、まず`/einja:spec-create`で仕様書を作成し、その後`/einja:task-exec`でタスクグループを順次実行していきます。
640
640
  <!-- @einja:managed:end -->
641
641
 
642
642
  ---
@@ -15,7 +15,7 @@ GitHub Issue からタスクを自動選定し、Vibe-Kanban に登録して連
15
15
 
16
16
  ```bash
17
17
  # 1. 仕様書を作成(requirements.md, design.md, GitHub Issue へのタスク記述)
18
- /spec-create <タスク内容の説明>
18
+ /einja:spec-create <タスク内容の説明>
19
19
 
20
20
  # 一旦ここまで終わったらDiscordでスレッドを作りチームにレビュー依頼
21
21
 
@@ -444,11 +444,11 @@ sequenceDiagram
444
444
 
445
445
  ---
446
446
 
447
- ## `/task-exec` との使い分け
447
+ ## `/einja:task-exec` との使い分け
448
448
 
449
449
  | コマンド | 用途 | 品質保証 | 推奨シーン |
450
450
  |---------|------|---------|----------|
451
- | **`/task-exec`** | 重要タスクの確実な完了 | ✅ 合格まで自動ループ | 複雑な実装、品質重視 |
451
+ | **`/einja:task-exec`** | 重要タスクの確実な完了 | ✅ 合格まで自動ループ | 複雑な実装、品質重視 |
452
452
  | **`pnpm task:loop`** | 大量タスクの自動消化 | 並列実行・監視 | 定型作業、並行開発 |
453
453
 
454
454
  ---
@@ -479,9 +479,9 @@ packages/cli/src/commands/task-loop/
479
479
 
480
480
  ## 関連ドキュメント
481
481
 
482
- - [タスク実行ワークフロー](./task-execute.md)
482
+ - [タスク実行ワークフロー](./einja:task-execute.md)
483
483
  - [タスク管理ガイドライン](../steering/task-management.md)
484
- - [仕様書作成ワークフロー](./spec-create.md)
484
+ - [仕様書作成ワークフロー](./einja:spec-create.md)
485
485
  - [ブランチ運用戦略](../steering/branch-strategy.md) - ブランチ命名規則、同期フロー、ワークフロー図
486
486
  <!-- @einja:managed:end -->
487
487
 
@@ -99,7 +99,7 @@ ACx.y: <振る舞いの名前>
99
99
  ```
100
100
 
101
101
  **シナリオテストの設計タイミング**:
102
- - `/spec-create` コマンドの QAテスト仕様生成フェーズで作成
102
+ - `/einja:spec-create` コマンドの QAテスト仕様生成フェーズで作成
103
103
  - requirements.md の受け入れ条件を分析し、複数ACをまたぐフローを特定
104
104
  - タスク分割前に完了させる
105
105