@einja/dev-cli 0.1.40 → 0.1.44

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 (207) hide show
  1. package/README.md +89 -1
  2. package/dist/cli.js +1 -0
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +71 -1
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/list.js.map +1 -1
  8. package/dist/commands/sync.d.ts.map +1 -1
  9. package/dist/commands/sync.js +187 -13
  10. package/dist/commands/sync.js.map +1 -1
  11. package/dist/commands/task-loop/lib/github-client.test.js.map +1 -1
  12. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +2 -2
  13. package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js.map +1 -1
  14. package/dist/lib/dependency-checker.d.ts.map +1 -1
  15. package/dist/lib/merger.d.ts +12 -0
  16. package/dist/lib/merger.d.ts.map +1 -1
  17. package/dist/lib/merger.js +28 -0
  18. package/dist/lib/merger.js.map +1 -1
  19. package/dist/lib/preset-update/cli-repo-detector.d.ts.map +1 -1
  20. package/dist/lib/preset-update/file-copier.d.ts.map +1 -1
  21. package/dist/lib/preset-update/file-copier.js +3 -3
  22. package/dist/lib/preset-update/file-copier.js.map +1 -1
  23. package/dist/lib/preset-update/preset-finder.d.ts.map +1 -1
  24. package/dist/lib/preset.d.ts.map +1 -1
  25. package/dist/lib/sync/category-validator.d.ts +1 -1
  26. package/dist/lib/sync/category-validator.d.ts.map +1 -1
  27. package/dist/lib/sync/category-validator.js +2 -1
  28. package/dist/lib/sync/category-validator.js.map +1 -1
  29. package/dist/lib/sync/category-validator.test.js +3 -1
  30. package/dist/lib/sync/category-validator.test.js.map +1 -1
  31. package/dist/lib/sync/conflict-reporter.d.ts.map +1 -1
  32. package/dist/lib/sync/diff-engine.d.ts.map +1 -1
  33. package/dist/lib/sync/file-filter.d.ts.map +1 -1
  34. package/dist/lib/sync/file-filter.js +1 -0
  35. package/dist/lib/sync/file-filter.js.map +1 -1
  36. package/dist/lib/sync/integration.test.js +255 -69
  37. package/dist/lib/sync/integration.test.js.map +1 -1
  38. package/dist/lib/sync/json-processor.d.ts +4 -4
  39. package/dist/lib/sync/json-processor.d.ts.map +1 -1
  40. package/dist/lib/sync/json-processor.js +11 -11
  41. package/dist/lib/sync/json-processor.js.map +1 -1
  42. package/dist/lib/sync/marker-processor.d.ts +60 -8
  43. package/dist/lib/sync/marker-processor.d.ts.map +1 -1
  44. package/dist/lib/sync/marker-processor.js +117 -26
  45. package/dist/lib/sync/marker-processor.js.map +1 -1
  46. package/dist/lib/sync/marker-processor.test.js +261 -40
  47. package/dist/lib/sync/marker-processor.test.js.map +1 -1
  48. package/dist/lib/sync/metadata-manager.d.ts +4 -0
  49. package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
  50. package/dist/lib/sync/metadata-manager.js +15 -0
  51. package/dist/lib/sync/metadata-manager.js.map +1 -1
  52. package/dist/lib/sync/metadata-manager.test.js +69 -0
  53. package/dist/lib/sync/metadata-manager.test.js.map +1 -1
  54. package/dist/lib/sync/orphan-cleaner.d.ts +29 -0
  55. package/dist/lib/sync/orphan-cleaner.d.ts.map +1 -0
  56. package/dist/lib/sync/orphan-cleaner.js +80 -0
  57. package/dist/lib/sync/orphan-cleaner.js.map +1 -0
  58. package/dist/lib/sync/orphan-cleaner.test.d.ts +2 -0
  59. package/dist/lib/sync/orphan-cleaner.test.d.ts.map +1 -0
  60. package/dist/lib/sync/orphan-cleaner.test.js +169 -0
  61. package/dist/lib/sync/orphan-cleaner.test.js.map +1 -0
  62. package/dist/lib/sync/project-private-synchronizer.d.ts +52 -0
  63. package/dist/lib/sync/project-private-synchronizer.d.ts.map +1 -0
  64. package/dist/lib/sync/project-private-synchronizer.js +110 -0
  65. package/dist/lib/sync/project-private-synchronizer.js.map +1 -0
  66. package/dist/lib/sync/project-private-synchronizer.test.d.ts +2 -0
  67. package/dist/lib/sync/project-private-synchronizer.test.d.ts.map +1 -0
  68. package/dist/lib/sync/project-private-synchronizer.test.js +348 -0
  69. package/dist/lib/sync/project-private-synchronizer.test.js.map +1 -0
  70. package/dist/types/index.d.ts +1 -0
  71. package/dist/types/index.d.ts.map +1 -1
  72. package/dist/types/sync.d.ts +36 -6
  73. package/dist/types/sync.d.ts.map +1 -1
  74. package/dist/types/sync.js +2 -2
  75. package/dist/types/sync.js.map +1 -1
  76. package/package.json +5 -4
  77. package/presets/default/.claude/agents/einja/Explore.md +140 -0
  78. package/presets/default/.claude/agents/einja/backend-architect.md +21 -1
  79. package/presets/default/.claude/agents/einja/codex-agent.md +5 -1
  80. package/presets/default/.claude/agents/einja/design-engineer.md +5 -1
  81. package/presets/default/.claude/agents/einja/docs/docs-updater.md +7 -93
  82. package/presets/default/.claude/agents/einja/frontend-architect.md +21 -1
  83. package/presets/default/.claude/agents/einja/frontend-coder.md +5 -1
  84. package/presets/default/.claude/agents/einja/{specs/spec-design-generator.md → issue-specs/design-generator.md} +16 -8
  85. package/presets/default/.claude/agents/einja/{specs/spec-qa-generator.md → issue-specs/qa-generator.md} +10 -4
  86. package/presets/default/.claude/agents/einja/{specs/spec-requirements-generator.md → issue-specs/requirements-generator.md} +9 -6
  87. package/presets/default/.claude/agents/einja/{specs/spec-tasks-generator.md → issue-specs/tasks-generator.md} +19 -16
  88. package/presets/default/.claude/agents/einja/{specs/spec-tasks-validator.md → issue-specs/tasks-validator.md} +13 -9
  89. package/presets/default/.claude/agents/einja/issue-specs/ui-design-generator.md +114 -0
  90. package/presets/default/.claude/agents/einja/task/task-executer.md +64 -116
  91. package/presets/default/.claude/agents/einja/task/task-modification-analyzer.md +6 -2
  92. package/presets/default/.claude/agents/einja/task/task-qa.md +7 -3
  93. package/presets/default/.claude/agents/einja/task/task-reviewer.md +17 -1
  94. package/presets/default/.claude/commands/einja/einja-sync.md +124 -45
  95. package/presets/default/.claude/commands/einja/frontend-implement.md +3 -1
  96. package/presets/default/.claude/commands/einja/issue-exec.md +413 -0
  97. package/presets/default/.claude/commands/einja/start-dev.md +4 -0
  98. package/presets/default/.claude/commands/einja/sync-cursor-commands.md +10 -6
  99. package/presets/default/.claude/commands/einja/{update-docs-by-task-specs.md → update-docs-by-issue-specs.md} +61 -57
  100. package/presets/default/.claude/hooks/einja/plan-mode-skill-loader.sh +27 -0
  101. package/presets/default/.claude/settings.json +29 -5
  102. package/presets/default/.claude/skills/{einja-general-context-loader → _einja-general-context-loader}/SKILL.md +6 -2
  103. package/presets/default/.claude/skills/{einja-output-format → _einja-output-format}/SKILL.md +5 -1
  104. package/presets/default/.claude/skills/_einja-project-overview/SKILL.md +29 -0
  105. package/presets/default/.claude/skills/{einja-spec-context-loader → _einja-spec-context-loader}/SKILL.md +9 -5
  106. package/presets/default/.claude/skills/einja-coding-standards/references/testing-strategy.md +899 -0
  107. package/presets/default/.claude/skills/einja-conflict-resolver/SKILL.md +5 -1
  108. package/presets/default/.claude/skills/einja-create-pr/SKILL.md +138 -0
  109. package/presets/default/.claude/skills/einja-infra-maintenance/SKILL.md +779 -0
  110. package/presets/default/.claude/{commands/einja/spec-create.md → skills/einja-issue-spec-create/SKILL.md} +60 -23
  111. package/presets/default/.claude/skills/einja-issue-spec-generator/SKILL.md +105 -0
  112. package/presets/default/.claude/skills/einja-issue-spec-generator/references/format-rules.md +35 -0
  113. package/presets/default/.claude/skills/einja-issue-spec-validator/SKILL.md +130 -0
  114. package/presets/default/.claude/skills/einja-issue-spec-validator/references/validation-rules.md +52 -0
  115. package/presets/default/.claude/skills/einja-npm-release/SKILL.md +242 -0
  116. package/presets/default/.claude/skills/einja-skill-creator/SKILL.md +311 -263
  117. package/presets/default/.claude/skills/einja-skill-creator/agents/analyzer.md +274 -0
  118. package/presets/default/.claude/skills/einja-skill-creator/agents/comparator.md +202 -0
  119. package/presets/default/.claude/skills/einja-skill-creator/agents/grader.md +195 -0
  120. package/presets/default/.claude/skills/einja-skill-creator/assets/eval_review.html +146 -0
  121. package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/generate_review.py +471 -0
  122. package/presets/default/.claude/skills/einja-skill-creator/eval-viewer/viewer.html +1325 -0
  123. package/presets/default/.claude/skills/einja-skill-creator/references/schemas.md +430 -0
  124. package/presets/default/.claude/skills/einja-skill-creator/scripts/aggregate_benchmark.py +401 -0
  125. package/presets/default/.claude/skills/einja-skill-creator/scripts/compare_runs.py +154 -0
  126. package/presets/default/.claude/skills/einja-skill-creator/scripts/generate_report.py +272 -0
  127. package/presets/default/.claude/skills/einja-skill-creator/scripts/improve_description.py +247 -0
  128. package/presets/default/.claude/skills/einja-skill-creator/scripts/init_skill.py +13 -19
  129. package/presets/default/.claude/skills/einja-skill-creator/scripts/package_skill.py +36 -7
  130. package/presets/default/.claude/skills/einja-skill-creator/scripts/run_eval.py +310 -0
  131. package/presets/default/.claude/skills/einja-skill-creator/scripts/run_loop.py +375 -0
  132. package/presets/default/.claude/skills/einja-skill-creator/scripts/utils.py +48 -0
  133. package/presets/default/.claude/skills/einja-skill-first/SKILL.md +265 -0
  134. package/presets/default/.claude/skills/einja-subagent-question-protocol/SKILL.md +98 -0
  135. package/presets/default/.claude/skills/einja-task-commit/SKILL.md +11 -7
  136. package/presets/default/.claude/{commands/einja/task-exec.md → skills/einja-task-exec/SKILL.md} +106 -89
  137. package/presets/default/.claude/skills/einja-task-qa/SKILL.md +8 -4
  138. package/presets/default/.claude/skills/einja-task-qa/references/troubleshooting.md +1 -1
  139. package/presets/default/.claude/skills/einja-task-qa/references/usage-patterns.md +2 -2
  140. package/presets/default/.claude/skills/einja-team-exec/SKILL.md +165 -0
  141. package/presets/default/.envrc +5 -0
  142. package/presets/default/.mcp.json +2 -12
  143. package/presets/default/CLAUDE.md.template +45 -8
  144. package/presets/default/docs/einja/example/specs/issues/issue999-example-task/tasks.md +1 -1
  145. package/presets/default/docs/einja/instructions/deployment-setup.md +4 -9
  146. package/presets/default/docs/einja/instructions/environment-setup.md +3 -8
  147. package/presets/default/docs/einja/instructions/issue-exec-workflow.md +276 -0
  148. package/presets/default/docs/einja/instructions/local-server-environment-and-worktree.md +71 -9
  149. package/presets/default/docs/einja/instructions/neon-cli-reference.md +3 -8
  150. package/presets/default/docs/einja/instructions/setup-flow.md +279 -0
  151. package/presets/default/docs/einja/instructions/task-execute.md +63 -68
  152. package/presets/default/docs/einja/instructions/vercel-cli-reference.md +17 -10
  153. package/presets/default/docs/einja/steering/README.md +11 -11
  154. package/presets/default/docs/einja/steering/acceptance-criteria-and-qa-guide.md +4 -9
  155. package/presets/default/docs/einja/steering/architecture.md +3 -8
  156. package/presets/default/docs/einja/steering/branch-strategy.md +63 -70
  157. package/presets/default/docs/einja/steering/commit-rules.md +3 -8
  158. package/presets/default/docs/einja/steering/db-schema-design.md +3 -8
  159. package/presets/default/docs/einja/steering/development/api-development.md +3 -8
  160. package/presets/default/docs/einja/steering/development/backend-architecture.md +3 -8
  161. package/presets/default/docs/einja/steering/development/coding-standards.md +723 -0
  162. package/presets/default/docs/einja/steering/development/component-design.md +502 -0
  163. package/presets/default/docs/einja/steering/development/database-guidelines.md +2 -2
  164. package/presets/default/docs/einja/steering/development/frontend-development.md +3 -8
  165. package/presets/default/docs/einja/steering/development/playwright-guidelines.md +59 -0
  166. package/presets/default/docs/einja/steering/development/review-guidelines.md +3 -8
  167. package/presets/default/docs/einja/steering/development/testing-strategy.md +3 -8
  168. package/presets/default/docs/einja/steering/development-workflow.md +155 -140
  169. package/presets/default/docs/einja/steering/infrastructure/deployment.md +156 -55
  170. package/presets/default/docs/einja/steering/infrastructure/environment-variables.md +4 -8
  171. package/presets/default/docs/einja/steering/product.md +3 -8
  172. package/presets/default/docs/einja/steering/task-management.md +22 -110
  173. package/presets/default/scripts/ensure-serena.sh +75 -0
  174. package/presets/default/scripts/env-rotate-secrets.ts +396 -0
  175. package/presets/default/scripts/env-show.ts +130 -0
  176. package/presets/default/scripts/env.ts +479 -0
  177. package/presets/default/scripts/init-github.ts +363 -0
  178. package/presets/default/scripts/init.sh +98 -0
  179. package/presets/default/scripts/lib/env-common.ts +108 -0
  180. package/presets/default/scripts/lib/worktree-config.ts +64 -0
  181. package/presets/default/scripts/setup-dev.ts +655 -0
  182. package/presets/default/scripts/stop-serena.sh +25 -0
  183. package/presets/default/scripts/worktree/dev.ts +872 -0
  184. package/dist/lib/sync/seed-synchronizer.d.ts +0 -27
  185. package/dist/lib/sync/seed-synchronizer.d.ts.map +0 -1
  186. package/dist/lib/sync/seed-synchronizer.js +0 -72
  187. package/dist/lib/sync/seed-synchronizer.js.map +0 -1
  188. package/dist/lib/sync/seed-synchronizer.test.d.ts +0 -2
  189. package/dist/lib/sync/seed-synchronizer.test.d.ts.map +0 -1
  190. package/dist/lib/sync/seed-synchronizer.test.js +0 -147
  191. package/dist/lib/sync/seed-synchronizer.test.js.map +0 -1
  192. package/presets/default/.claude/agents/einja/git/conflict-resolver.md +0 -148
  193. package/presets/default/.claude/hooks/einja/validate-git-commit.sh +0 -239
  194. package/presets/default/.claude/skills/einja-api-development/SKILL.md +0 -14
  195. package/presets/default/.claude/skills/einja-backend-architecture/SKILL.md +0 -18
  196. package/presets/default/.claude/skills/einja-coding-standards/SKILL.md +0 -132
  197. package/presets/default/.claude/skills/einja-coding-standards/references/import-conventions.md +0 -69
  198. package/presets/default/.claude/skills/einja-coding-standards/references/naming-conventions.md +0 -107
  199. package/presets/default/.claude/skills/einja-coding-standards/references/prohibited-patterns.md +0 -169
  200. package/presets/default/.claude/skills/einja-coding-standards/references/typescript-rules.md +0 -247
  201. package/presets/default/.claude/skills/einja-component-design/SKILL.md +0 -109
  202. package/presets/default/.claude/skills/einja-component-design/references/directory-structure.md +0 -117
  203. package/presets/default/.claude/skills/einja-component-design/references/props-patterns.md +0 -159
  204. package/presets/default/.claude/skills/einja-component-design/references/styling-guide.md +0 -122
  205. package/presets/default/.claude/skills/einja-frontend-development/SKILL.md +0 -14
  206. package/presets/default/.claude/skills/einja-project-overview/SKILL.md +0 -35
  207. package/presets/default/docs/einja/instructions/task-vibe-kanban-loop.md +0 -565
@@ -1,18 +1,18 @@
1
1
  <!-- @einja:managed:start -->
2
2
  # 開発ワークフロー
3
3
 
4
- このドキュメントでは、`/einja:spec-create`と`/einja:task-exec`コマンドを使用したATDD(受け入れテスト駆動開発)に基づく開発ワークフローについて説明します。
4
+ このドキュメントでは、`einja-issue-spec-create` Skillと`einja-task-exec` Skillを使用したATDD(受け入れテスト駆動開発)に基づく開発ワークフローについて説明します。
5
5
 
6
6
  ## 概要
7
7
 
8
8
  開発プロセスは2つの主要なコマンドで構成されています:
9
9
 
10
- 1. **`/einja:spec-create`**: 仕様書の作成(要件定義 → 設計 → GitHub Issueへのタスク記述)
11
- 2. **`/einja:task-exec`**: タスクの実行(選定 → 実装 → レビュー → QA → 完了)
10
+ 1. **`einja-issue-spec-create` Skill**: 仕様書の作成(要件定義 → 設計 → GitHub Issueへのタスク記述)
11
+ 2. **`einja-task-exec` Skill**: タスクの実行(選定 → 実装 → レビュー → QA → 完了)
12
12
 
13
13
  ## 全体フロー図
14
14
 
15
- ### フェーズ1: 仕様書作成 (`/einja:spec-create`)
15
+ ### フェーズ1: 仕様書作成 (`einja-issue-spec-create` Skill)
16
16
 
17
17
  ```mermaid
18
18
  graph TD
@@ -27,15 +27,15 @@ graph TD
27
27
  E --> H
28
28
  G --> H
29
29
 
30
- H --> I["requirements.md 作成 (spec-requirements-generator)"]
30
+ H --> I["requirements.md 作成 (requirements-generator)"]
31
31
  I --> J["ユーザーストーリー / 受け入れ基準ATDD形式 / 既存コード分析"]
32
32
  J --> K{ユーザー承認}
33
- K -->|承認| L["design.md 作成 (spec-design-generator)"]
33
+ K -->|承認| L["design.md 作成 (design-generator)"]
34
34
  K -->|修正依頼| I
35
35
 
36
36
  L --> M["技術アーキテクチャ / データモデル設計 / API仕様"]
37
37
  M --> N{ユーザー承認}
38
- N -->|承認| O["GitHub Issueにタスク記述 (spec-tasks-generator)"]
38
+ N -->|承認| O["GitHub Issueにタスク記述 (tasks-generator)"]
39
39
  N -->|修正依頼| L
40
40
 
41
41
  O --> P["実装タスク分解 / 依存関係管理 / 優先順位設定"]
@@ -47,7 +47,7 @@ graph TD
47
47
  style Q fill:#c8e6c9
48
48
  ```
49
49
 
50
- ### フェーズ2: タスク実行 (`/einja:task-exec`)
50
+ ### フェーズ2: タスク実行 (`einja-task-exec` Skill)
51
51
 
52
52
  **注記**: 品質保証ループにより、レビュー/QA失敗時は自動的に実装フェーズに戻ります。複数タスク一括実行も可能です。
53
53
 
@@ -59,7 +59,7 @@ graph TD
59
59
  C --> LoopStart["⟲ 品質保証ループ開始"]
60
60
 
61
61
  LoopStart --> D["ステップ1: 実装フェーズ<br/>(task-executer)"]
62
- D --> E["requirements.md design.md を参照"]
62
+ D --> E["requirements.md, ui-design.pen, design.md を参照"]
63
63
  E --> F["SerenaMAP で既存コード分析"]
64
64
  F --> G["コード実装・修正<br/>ファイル作成/編集<br/>テストコード追加"]
65
65
 
@@ -91,11 +91,11 @@ graph TD
91
91
 
92
92
  ```mermaid
93
93
  graph LR
94
- A[/einja:spec-create] --> B[requirements.md]
94
+ A[einja-issue-spec-create Skill] --> B[requirements.md]
95
95
  A --> C[design.md]
96
96
  A --> D[GitHub Issue]
97
97
 
98
- D --> E[/einja:task-exec]
98
+ D --> E[einja-task-exec Skill]
99
99
  B --> E
100
100
  C --> E
101
101
 
@@ -115,7 +115,7 @@ graph LR
115
115
 
116
116
  ## コマンド詳細
117
117
 
118
- ### 1. `/einja:spec-create` コマンド
118
+ ### 1. `einja-issue-spec-create` Skill
119
119
 
120
120
  **役割**: プロダクト開発のシニアテクニカルアーキテクト兼シニアプロダクトエンジニアとして、ATDD形式の仕様書を段階的に作成します。
121
121
 
@@ -123,13 +123,13 @@ graph LR
123
123
 
124
124
  ```bash
125
125
  # Asanaタスクから仕様書作成
126
- /einja:spec-create https://app.asana.com/0/project/task-id
126
+ einja-issue-spec-create: https://app.asana.com/0/project/task-id
127
127
 
128
128
  # 機能説明から仕様書作成
129
- /einja:spec-create "ユーザー認証機能の実装:マジックリンク認証とセッション管理"
129
+ einja-issue-spec-create: "ユーザー認証機能の実装:マジックリンク認証とセッション管理"
130
130
 
131
131
  # 既存仕様書を修正
132
- /einja:spec-create "認証機能の改善" /docs/specs/issues/auth/20250111-auth-magic-link/
132
+ einja-issue-spec-create: "認証機能の改善" /docs/specs/issues/auth/20250111-auth-magic-link/
133
133
  ```
134
134
 
135
135
  #### 処理フロー詳細
@@ -150,7 +150,7 @@ Step 1: 外部リソース確認
150
150
  └─ /docs/specs/issues/{domain}/{YYYYMMDD}-{domain}-{feature}/
151
151
 
152
152
  Step 2: requirements.md 作成(要件定義書)
153
- ├─ spec-requirements-generator エージェント起動
153
+ ├─ requirements-generator エージェント起動
154
154
  ├─ 既存コードベース分析
155
155
  ├─ ATDD形式のユーザーストーリー作成
156
156
  ├─ 受け入れ基準(Acceptance Criteria)定義
@@ -166,7 +166,7 @@ Step 2: requirements.md 作成(要件定義書)
166
166
  - 非機能要件
167
167
 
168
168
  Step 3: design.md 作成(設計書)
169
- ├─ spec-design-generator エージェント起動
169
+ ├─ design-generator エージェント起動
170
170
  ├─ 既存アーキテクチャ調査
171
171
  ├─ 技術スタック選定(Next.js + Hono + Prisma)
172
172
  ├─ データモデル設計
@@ -184,7 +184,7 @@ Step 3: design.md 作成(設計書)
184
184
  - エラーハンドリング
185
185
 
186
186
  Step 4: GitHub Issueにタスク一覧を記述
187
- ├─ spec-tasks-generator エージェント起動
187
+ ├─ tasks-generator エージェント起動
188
188
  ├─ 実装タスクの洗い出し
189
189
  ├─ タスクの分解(Phase別)
190
190
  ├─ 依存関係の定義
@@ -195,7 +195,7 @@ Step 4: GitHub Issueにタスク一覧を記述
195
195
  │ └─ 修正依頼 → 再作成
196
196
  └─ 📄 成果物構成:
197
197
  **基本構成**(各ファイル1000行以下):
198
- - requirements.md, design.md
198
+ - requirements.md, ui-design.pen, design.md
199
199
  - GitHub Issueにタスク一覧
200
200
 
201
201
  **分割構成**(1000行超過時):
@@ -207,7 +207,7 @@ Step 4: GitHub Issueにタスク一覧を記述
207
207
 
208
208
  ---
209
209
 
210
- ### 2. `/einja:task-exec` コマンド
210
+ ### 2. `einja-task-exec` Skill
211
211
 
212
212
  **役割**: タスク実行マネージャーとして、タスクの選定から実装、レビュー、QA、完了までの一連のプロセスを管理します。
213
213
 
@@ -220,13 +220,13 @@ Step 4: GitHub Issueにタスク一覧を記述
220
220
 
221
221
  ```bash
222
222
  # Issue番号を指定(自動選定)
223
- /einja:task-exec #123
223
+ einja-task-exec: #123
224
224
 
225
225
  # 特定のタスクグループを指定
226
- /einja:task-exec #123 1.1
226
+ einja-task-exec: #123 1.1
227
227
 
228
228
  # Issue番号のみ(#なし)
229
- /einja:task-exec 123
229
+ einja-task-exec: 123
230
230
  ```
231
231
 
232
232
  #### 処理フロー詳細
@@ -239,7 +239,7 @@ Step 4: GitHub Issueにタスク一覧を記述
239
239
  └─────────────────────────────────────────────────────┘
240
240
 
241
241
  ├─ task-executerサブエージェント起動
242
- ├─ requirements.md design.md を参照
242
+ ├─ requirements.md, ui-design.pen, design.md を参照
243
243
  ├─ SerenaMAP で既存コード分析
244
244
  │ ├─ 関連ファイルの検索
245
245
  │ ├─ シンボル定義の確認
@@ -316,21 +316,21 @@ Step 4: GitHub Issueにタスク一覧を記述
316
316
 
317
317
  ---
318
318
 
319
- ### 3. `pnpm task:loop` コマンド
319
+ ### 3. `/einja:issue-exec` コマンド
320
320
 
321
- **役割**: 複数タスクの自動連続実行とVibe-Kanbanによる進捗追跡
321
+ **役割**: Issue全体のタスクをManager→Director→Workerの3階層で並列実行
322
322
 
323
323
  詳細については、専用ドキュメントを参照してください:
324
- **📖 [Vibe-Kanban自動実行ガイド](./task-vibe-kanban-loop.md)**
324
+ **📖 [Issue実行ワークフローガイド](./issue-exec-workflow.md)**
325
325
 
326
- #### `/einja:task-exec`との使い分け
326
+ #### `einja-task-exec` Skillとの使い分け
327
327
 
328
- | コマンド | 用途 | 品質保証 | 推奨シーン |
329
- |---------|------|---------|----------|
330
- | **`/einja:task-exec`** | 重要タスクの確実な完了 | 合格まで自動ループ | 複雑な実装、品質重視 |
331
- | **`pnpm task:loop`** | 大量タスクの自動消化 | 各タスクは別プロセス | 定型作業、並行開発 |
328
+ | 実行方法 | 用途 | 対象 | 推奨シーン |
329
+ |---------|------|------|----------|
330
+ | **`/einja:issue-exec`** | Issue全体の並列実行 | 複数Phase・複数タスクグループ | 大規模機能実装 |
331
+ | **`einja-task-exec` Skill** | 単一タスクグループの確実な完了 | 1つのタスクグループ | 複雑な実装、品質重視 |
332
332
 
333
- **詳細な使い分け基準**: [task-vibe-kanban-loop.md](./task-vibe-kanban-loop.md#task-execとの使い分け)
333
+ **詳細な使い分け基準**: [issue-exec-workflow.md](./issue-exec-workflow.md#task-execとの使い分け)
334
334
 
335
335
  ---
336
336
 
@@ -342,10 +342,10 @@ Step 4: GitHub Issueにタスク一覧を記述
342
342
 
343
343
  ```bash
344
344
  # Asanaタスクから仕様書を作成
345
- /einja:spec-create https://app.asana.com/0/project/auth-magic-link
345
+ einja-issue-spec-create: https://app.asana.com/0/project/auth-magic-link
346
346
 
347
347
  # または機能説明から作成
348
- /einja:spec-create "マジックリンク認証機能:
348
+ einja-issue-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
- /einja: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
- /einja: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
- /einja:task-exec #123
396
- /einja:task-exec #123
395
+ einja-task-exec: #123
396
+ einja-task-exec: #123
397
397
  ...
398
398
 
399
399
  # 最終的にすべてのタスクグループが [x] 完了状態になる
@@ -451,8 +451,8 @@ GitHub Issue #123 ← 実装タスク一覧(Phase 1〜3)
451
451
  stateDiagram-v2
452
452
  [*] --> 未着手: タスク作成
453
453
 
454
- 未着手 --> 着手中_TaskExec: /einja:task-exec実行
455
- 未着手 --> Vibe登録: /task-vibe-kanban-loop実行
454
+ 未着手 --> 着手中_TaskExec: einja-task-exec Skill実行
455
+ 未着手 --> IssueExec開始: /einja:issue-exec実行
456
456
 
457
457
  着手中_TaskExec --> 実装中: 実装フェーズ
458
458
  実装中 --> レビュー中: 実装完了
@@ -461,16 +461,16 @@ stateDiagram-v2
461
461
  QA中 --> 実装中: テスト失敗<br/>(ループバック)
462
462
  QA中 --> 完了_TaskExec: 全テスト合格
463
463
 
464
- Vibe登録 --> 実行待機: Vibe-Kanban登録完了
465
- 実行待機 --> 実行中_Vibe: エージェント開始
466
- 実行中_Vibe --> 完了_Vibe: 実行成功
467
- 実行中_Vibe --> 失敗: 実行失敗
464
+ IssueExec開始 --> Worker割当: Manager/Directorが管理
465
+ Worker割当 --> 実行中_IssueExec: Worker起動
466
+ 実行中_IssueExec --> PR作成: task-exec完了
467
+ PR作成 --> 完了_IssueExec: PRマージ
468
468
 
469
- 失敗 --> 手動修正: 開発者が修正
470
- 手動修正 --> Vibe登録: 再実行
469
+ 実行中_IssueExec --> 失敗: 実行失敗
470
+ 失敗 --> Worker割当: リトライ(最大2回)
471
471
 
472
472
  完了_TaskExec --> [*]
473
- 完了_Vibe --> [*]
473
+ 完了_IssueExec --> [*]
474
474
 
475
475
  note right of 未着手
476
476
  状態: [ ]
@@ -482,16 +482,16 @@ stateDiagram-v2
482
482
  状態: [🔄]
483
483
  end note
484
484
 
485
- note right of 実行待機
486
- 1分間隔で再試行
487
- 最大30回まで
485
+ note right of Worker割当
486
+ tmux + worktree で
487
+ 並列実行
488
488
  end note
489
489
 
490
490
  note right of 完了_TaskExec
491
491
  状態: [x]
492
492
  end note
493
493
 
494
- note right of 完了_Vibe
494
+ note right of 完了_IssueExec
495
495
  状態: [x]
496
496
  end note
497
497
  ```
@@ -545,14 +545,14 @@ graph TD
545
545
  # 原因: 依存関係が満たされていない
546
546
  # 対処: 先行タスクグループを先に完了させる
547
547
 
548
- /einja:task-exec #123 1.1 # 先行タスクグループを指定して実行
548
+ einja-task-exec: #123 1.1 # 先行タスクグループを指定して実行
549
549
  ```
550
550
 
551
551
  #### 2. レビューで差し戻される
552
552
 
553
553
  ```bash
554
554
  # 原因: 要件や設計との不整合
555
- # 対処: requirements.md design.md を再確認
555
+ # 対処: requirements.md, ui-design.pen, design.md を再確認
556
556
 
557
557
  # レビュー結果を確認後、再度実装フェーズから実行される
558
558
  # (task-exec内で自動的に実装をやり直します)
@@ -575,8 +575,8 @@ graph TD
575
575
  ```mermaid
576
576
  sequenceDiagram
577
577
  participant User as ユーザー
578
- participant SpecCreate as /einja:spec-create
579
- participant TaskExec as /einja:task-exec
578
+ participant SpecCreate as einja-issue-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,22 +628,17 @@ sequenceDiagram
628
628
 
629
629
  ### 実行の流れ
630
630
 
631
- 1. **仕様書作成**: `/einja:spec-create`で要件・設計を作成し、GitHub Issueにタスク一覧を記述
632
- 2. **タスク実行**: `/einja:task-exec`でタスクグループを1つずつ実行
631
+ 1. **仕様書作成**: `einja-issue-spec-create` Skillで要件・設計を作成し、GitHub Issueにタスク一覧を記述
632
+ 2. **タスク実行**: `einja-task-exec` Skillでタスクグループを1つずつ実行
633
633
  - task-executerで実装
634
634
  - task-reviewerでレビュー
635
635
  - task-qaでQA
636
636
  - 完了時にタスクグループを完了状態に更新
637
- 3. **繰り返し**: 全タスクグループが完了するまで`/einja:task-exec`を繰り返す
637
+ 3. **繰り返し**: 全タスクグループが完了するまで`einja-task-exec` Skillを繰り返す
638
638
 
639
- 開発を始める際は、まず`/einja:spec-create`で仕様書を作成し、その後`/einja:task-exec`でタスクグループを順次実行していきます。
639
+ 開発を始める際は、まず`einja-issue-spec-create` Skillで仕様書を作成し、その後`einja-task-exec` Skillでタスクグループを順次実行していきます。
640
640
  <!-- @einja:managed:end -->
641
641
 
642
- ---
643
-
644
- <!-- @einja:seed:start id="task-execute-project" -->
645
- ## プロジェクト固有の設定
646
-
647
- <!-- このセクションはプロジェクト固有の内容を追記する場所です -->
648
- <!-- einja syncで上書きされません -->
649
- <!-- @einja:seed:end -->
642
+ <!-- @einja:project-private:start id="task-execute-project" -->
643
+ <!-- プロジェクト固有の情報を記入 -->
644
+ <!-- @einja:project-private:end -->
@@ -463,6 +463,7 @@ jobs:
463
463
  | `vercel deploy` | `--yes` | デプロイ確認をスキップ |
464
464
  | `vercel env add` | パイプ入力 | `echo "value" \| vercel env add NAME <environment>` (environment: production/preview/development 必須) |
465
465
  | `vercel env rm` | `--yes` | 削除確認をスキップ |
466
+ | `vercel deploy` | `--env KEY=VALUE` | `vercel deploy --prebuilt --env KEY1=VAL1 --env KEY2=VAL2` (CI/CDでは`--env`で全encrypted変数を実行時注入) |
466
467
 
467
468
  ### トークン認証
468
469
 
@@ -495,10 +496,21 @@ curl -s -H "Authorization: Bearer $VERCEL_TOKEN" \
495
496
 
496
497
  ## 環境変数同期自動化
497
498
 
499
+ ### CI/CDでの自動同期
500
+
501
+ GitHub Actions (`deploy-stable-branches.yml`) が環境変数を自動管理します:
502
+
503
+ | ブランチ | 方式 | 説明 |
504
+ |---------|------|------|
505
+ | main | `vercel env add` + `vercel deploy --env` | Vercel環境変数ストアに同期 + 実行時注入 |
506
+ | develop/staging | `vercel deploy --env` のみ | 実行時注入のみ(`vercel env add`は使用しない) |
507
+ | PR Preview | `vercel deploy --env` のみ | 実行時注入のみ(並行PR競合防止) |
508
+
509
+ **設計意図**: `vercel env add`によるVercel環境変数ストアへの書き込みはmainブランチのみ。develop/staging/PRは`vercel deploy --env`で環境変数を実行時注入し、並行デプロイ間の競合を防止する。
510
+
498
511
  ### 初回セットアップ時の手動同期
499
512
 
500
- **注意**: 通常はGitHub Actions (`deploy-stable-branches.yml`) が環境変数を自動同期します。
501
- 以下の手順は**初回セットアップ時のみ**手動で実行してください。
513
+ **注意**: 以下の手順は**初回セットアップ時のみ**手動で実行してください。
502
514
 
503
515
  ### .env.* からVercelへの環境変数同期
504
516
 
@@ -521,11 +533,6 @@ Neon CLIの詳細は [Neon CLI リファレンス](./neon-cli-reference.md) を
521
533
 
522
534
  <!-- @einja:managed:end -->
523
535
 
524
- ---
525
-
526
- <!-- @einja:seed:start id="vercel-cli-reference-project" -->
527
- ## プロジェクト固有の設定
528
-
529
- <!-- このセクションはプロジェクト固有の内容を追記する場所です -->
530
- <!-- einja syncで上書きされません -->
531
- <!-- @einja:seed:end -->
536
+ <!-- @einja:project-private:start id="vercel-cli-reference-project" -->
537
+ <!-- プロジェクト固有の情報を記入 -->
538
+ <!-- @einja:project-private:end -->
@@ -37,6 +37,8 @@
37
37
  **必読**:
38
38
  - **[フロントエンド開発ガイド](development/frontend-development.md)** ⭐ - Tanstack Query、React Hook Form
39
39
  - **[API開発ガイド](development/api-development.md)** - Hono Clientの使い方
40
+ - **[コンポーネント設計](development/component-design.md)** - ディレクトリ構造、Props設計
41
+ - **[コーディング規約](development/coding-standards.md)** - TypeScript/React命名規則
40
42
 
41
43
  **参考**:
42
44
  - **[コードレビューガイドライン](review-guidelines.md)**
@@ -79,7 +81,7 @@
79
81
  | ドキュメント | 説明 | 対象者 |
80
82
  |-------------|------|--------|
81
83
  | [開発ワークフロー](development-workflow.md) | 仕様書作成からタスク実行・レビューまでの全体フロー | 全員 |
82
- | [タスク管理](task-management.md) | タスク階層、粒度基準、Vibe-Kanban連携 | 全員 |
84
+ | [タスク管理](task-management.md) | タスク階層、粒度基準、issue-exec連携 | 全員 |
83
85
  | [ブランチ戦略](branch-strategy.md) | Git運用ルール、ブランチ命名規則 | 全員 |
84
86
 
85
87
  ### システム全体
@@ -93,6 +95,9 @@
93
95
  | [バックエンドアーキテクチャ](development/backend-architecture.md) | ディレクトリ構造、4層アーキテクチャ、デザインパターン | バックエンド開発者 |
94
96
  | [API開発ガイド](development/api-development.md) | Hono API実装、エラーハンドリング、Hono Client | 全開発者 |
95
97
  | [フロントエンド開発ガイド](development/frontend-development.md) | Tanstack Query、React Hook Form、コンポーネント設計 | フロントエンド開発者 |
98
+ | [コーディング規約](development/coding-standards.md) | TypeScript/React命名規則、禁止パターン、インポート規約 | 全開発者 |
99
+ | [コンポーネント設計](development/component-design.md) | ディレクトリ構造、Props設計、スタイリング | フロントエンド開発者 |
100
+ | [Playwright動作確認](development/playwright-guidelines.md) | 一時ファイル管理、ブラウザ設定 | QA、開発者 |
96
101
 
97
102
  ### データベース
98
103
  | ドキュメント | 説明 | 対象者 |
@@ -162,12 +167,12 @@
162
167
  | マーカー | 説明 |
163
168
  |---------|------|
164
169
  | `@einja:managed` | CLIの更新時に自動で最新化される共通ルール部分 |
165
- | `@einja:seed` | 初回のみ追加され、以降は編集内容が保持されるプロジェクト固有部分 |
170
+ | `@einja:project-private` | 初回のみ追加され、以降は編集内容が保持されるプロジェクト固有部分 |
166
171
  | `@einja:excluded` | テンプレートのみに存在し、syncでコピーされない部分 |
167
172
 
168
173
  ### プロジェクト固有の追記
169
174
 
170
- 各ファイルの末尾にある`@einja:seed`セクションに、プロジェクト固有のルールや設定を追記できます。このセクションは`einja sync`実行時も上書きされません。
175
+ 各ファイルの末尾にある`@einja:project-private`セクションに、プロジェクト固有のルールや設定を追記できます。このセクションは`einja sync`実行時も上書きされません。
171
176
 
172
177
  詳細な仕様は [CLIのマーカー仕様書](https://github.com/einja-inc/einja-management-template/blob/main/packages/cli/docs/MARKER_SPECIFICATION.md) を参照してください。
173
178
 
@@ -204,11 +209,6 @@ pnpm einja:sync --dry-run
204
209
  より良いドキュメントを一緒に作りましょう!
205
210
  <!-- @einja:managed:end -->
206
211
 
207
- ---
208
-
209
- <!-- @einja:seed:start id="steering-readme-project" -->
210
- ## プロジェクト固有の設定
211
-
212
- <!-- このセクションはプロジェクト固有の内容を追記する場所です -->
213
- <!-- einja syncで上書きされません -->
214
- <!-- @einja:seed:end -->
212
+ <!-- @einja:project-private:start id="steering-readme-project" -->
213
+ <!-- プロジェクト固有の情報を記入 -->
214
+ <!-- @einja:project-private:end -->
@@ -110,7 +110,7 @@ ACx.y: <振る舞いの1文要約>
110
110
  ```
111
111
 
112
112
  **シナリオテストの設計タイミング**:
113
- - `/einja:spec-create` コマンドの QAテスト仕様生成フェーズで作成
113
+ - `einja-issue-spec-create` Skill QAテスト仕様生成フェーズで作成
114
114
  - requirements.md の受け入れ条件を分析し、複数ACをまたぐフローを特定
115
115
  - タスク分割前に完了させる
116
116
 
@@ -427,11 +427,6 @@ QAテスト仕様書では、以下の表形式で手順を記述します:
427
427
  - 「-」は手順のみで確認項目がない場合に使用
428
428
  <!-- @einja:managed:end -->
429
429
 
430
- ---
431
-
432
- <!-- @einja:seed:start id="acceptance-criteria-and-qa-guide-project" -->
433
- ## プロジェクト固有の設定
434
-
435
- <!-- このセクションはプロジェクト固有の内容を追記する場所です -->
436
- <!-- einja syncで上書きされません -->
437
- <!-- @einja:seed:end -->
430
+ <!-- @einja:project-private:start id="acceptance-criteria-and-qa-guide-project" -->
431
+ <!-- プロジェクト固有の情報を記入 -->
432
+ <!-- @einja:project-private:end -->
@@ -482,11 +482,6 @@ export function calculatePorts(branchName: string): WorktreePorts {
482
482
  - **[CI/CDパイプライン](infrastructure/ci-cd.md)** - ビルド・デプロイ自動化
483
483
  <!-- @einja:managed:end -->
484
484
 
485
- ---
486
-
487
- <!-- @einja:seed:start id="architecture-project" -->
488
- ## プロジェクト固有の設定
489
-
490
- <!-- このセクションはプロジェクト固有の内容を追記する場所です -->
491
- <!-- einja syncで上書きされません -->
492
- <!-- @einja:seed:end -->
485
+ <!-- @einja:project-private:start id="architecture-project" -->
486
+ <!-- プロジェクト固有の情報を記入 -->
487
+ <!-- @einja:project-private:end -->