@einja/dev-cli 0.1.9 → 0.1.11

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 (251) hide show
  1. package/README.md +30 -2
  2. package/dist/cli.js +3 -6
  3. package/dist/cli.js.map +1 -1
  4. package/dist/commands/init.d.ts.map +1 -1
  5. package/dist/commands/init.js +11 -6
  6. package/dist/commands/init.js.map +1 -1
  7. package/dist/commands/list.js +1 -1
  8. package/dist/commands/list.js.map +1 -1
  9. package/dist/commands/sync.d.ts.map +1 -1
  10. package/dist/commands/sync.js +69 -7
  11. package/dist/commands/sync.js.map +1 -1
  12. package/dist/commands/sync.test.js +11 -25
  13. package/dist/commands/sync.test.js.map +1 -1
  14. package/dist/commands/task-loop/index.d.ts.map +1 -1
  15. package/dist/commands/task-loop/index.js +5 -2
  16. package/dist/commands/task-loop/index.js.map +1 -1
  17. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.d.ts +227 -0
  18. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.d.ts.map +1 -0
  19. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.js +351 -0
  20. package/dist/commands/task-loop/lib/__mocks__/child-process.mock.js.map +1 -0
  21. package/dist/commands/task-loop/lib/__mocks__/sample-issues.d.ts +46 -0
  22. package/dist/commands/task-loop/lib/__mocks__/sample-issues.d.ts.map +1 -0
  23. package/dist/commands/task-loop/lib/__mocks__/sample-issues.js +224 -0
  24. package/dist/commands/task-loop/lib/__mocks__/sample-issues.js.map +1 -0
  25. package/dist/commands/task-loop/lib/branch-manager.d.ts.map +1 -1
  26. package/dist/commands/task-loop/lib/branch-manager.js +14 -8
  27. package/dist/commands/task-loop/lib/branch-manager.js.map +1 -1
  28. package/dist/commands/task-loop/lib/branch-manager.test.d.ts +2 -0
  29. package/dist/commands/task-loop/lib/branch-manager.test.d.ts.map +1 -0
  30. package/dist/commands/task-loop/lib/branch-manager.test.js +539 -0
  31. package/dist/commands/task-loop/lib/branch-manager.test.js.map +1 -0
  32. package/dist/commands/task-loop/lib/conflict-handler.js +1 -1
  33. package/dist/commands/task-loop/lib/conflict-handler.js.map +1 -1
  34. package/dist/commands/task-loop/lib/dependency-resolver.test.d.ts +2 -0
  35. package/dist/commands/task-loop/lib/dependency-resolver.test.d.ts.map +1 -0
  36. package/dist/commands/task-loop/lib/dependency-resolver.test.js +1129 -0
  37. package/dist/commands/task-loop/lib/dependency-resolver.test.js.map +1 -0
  38. package/dist/commands/task-loop/lib/gh-setup.d.ts.map +1 -1
  39. package/dist/commands/task-loop/lib/gh-setup.js.map +1 -1
  40. package/dist/commands/task-loop/lib/github-client.d.ts.map +1 -1
  41. package/dist/commands/task-loop/lib/github-client.js +3 -3
  42. package/dist/commands/task-loop/lib/github-client.js.map +1 -1
  43. package/dist/commands/task-loop/lib/github-client.test.d.ts +2 -0
  44. package/dist/commands/task-loop/lib/github-client.test.d.ts.map +1 -0
  45. package/dist/commands/task-loop/lib/github-client.test.js +377 -0
  46. package/dist/commands/task-loop/lib/github-client.test.js.map +1 -0
  47. package/dist/commands/task-loop/lib/issue-parser.js +4 -4
  48. package/dist/commands/task-loop/lib/issue-parser.js.map +1 -1
  49. package/dist/commands/task-loop/lib/issue-parser.test.d.ts +2 -0
  50. package/dist/commands/task-loop/lib/issue-parser.test.d.ts.map +1 -0
  51. package/dist/commands/task-loop/lib/issue-parser.test.js +854 -0
  52. package/dist/commands/task-loop/lib/issue-parser.test.js.map +1 -0
  53. package/dist/commands/task-loop/lib/pull-request-manager.d.ts +35 -0
  54. package/dist/commands/task-loop/lib/pull-request-manager.d.ts.map +1 -0
  55. package/dist/commands/task-loop/lib/pull-request-manager.js +150 -0
  56. package/dist/commands/task-loop/lib/pull-request-manager.js.map +1 -0
  57. package/dist/commands/task-loop/lib/task-number-utils.d.ts +10 -4
  58. package/dist/commands/task-loop/lib/task-number-utils.d.ts.map +1 -1
  59. package/dist/commands/task-loop/lib/task-number-utils.js +19 -10
  60. package/dist/commands/task-loop/lib/task-number-utils.js.map +1 -1
  61. package/dist/commands/task-loop/lib/task-number-utils.test.d.ts +2 -0
  62. package/dist/commands/task-loop/lib/task-number-utils.test.d.ts.map +1 -0
  63. package/dist/commands/task-loop/lib/task-number-utils.test.js +379 -0
  64. package/dist/commands/task-loop/lib/task-number-utils.test.js.map +1 -0
  65. package/dist/commands/task-loop/lib/task-state-manager.d.ts.map +1 -1
  66. package/dist/commands/task-loop/lib/task-state-manager.js +1 -1
  67. package/dist/commands/task-loop/lib/task-state-manager.js.map +1 -1
  68. package/dist/commands/task-loop/lib/task-state-manager.test.d.ts +2 -0
  69. package/dist/commands/task-loop/lib/task-state-manager.test.d.ts.map +1 -0
  70. package/dist/commands/task-loop/lib/task-state-manager.test.js +541 -0
  71. package/dist/commands/task-loop/lib/task-state-manager.test.js.map +1 -0
  72. package/dist/lib/file-system.js +1 -1
  73. package/dist/lib/file-system.js.map +1 -1
  74. package/dist/lib/mcp-config.d.ts.map +1 -1
  75. package/dist/lib/mcp-config.js +8 -4
  76. package/dist/lib/mcp-config.js.map +1 -1
  77. package/dist/lib/mcp-config.test.js +2 -2
  78. package/dist/lib/mcp-config.test.js.map +1 -1
  79. package/dist/lib/merger.d.ts.map +1 -1
  80. package/dist/lib/merger.js.map +1 -1
  81. package/dist/lib/preset-update/cli-repo-detector.test.js.map +1 -1
  82. package/dist/lib/preset-update/file-copier.d.ts +2 -0
  83. package/dist/lib/preset-update/file-copier.d.ts.map +1 -1
  84. package/dist/lib/preset-update/file-copier.js +12 -8
  85. package/dist/lib/preset-update/file-copier.js.map +1 -1
  86. package/dist/lib/preset-update/file-copier.test.js +36 -5
  87. package/dist/lib/preset-update/file-copier.test.js.map +1 -1
  88. package/dist/lib/preset-update/preset-finder.d.ts +1 -1
  89. package/dist/lib/preset-update/preset-finder.d.ts.map +1 -1
  90. package/dist/lib/preset-update/preset-finder.js +1 -1
  91. package/dist/lib/preset-update/preset-finder.js.map +1 -1
  92. package/dist/lib/preset-update/preset-finder.test.js +11 -11
  93. package/dist/lib/preset-update/preset-finder.test.js.map +1 -1
  94. package/dist/lib/preset.js +3 -3
  95. package/dist/lib/preset.js.map +1 -1
  96. package/dist/lib/sync/backup-manager.d.ts.map +1 -1
  97. package/dist/lib/sync/backup-manager.js +1 -1
  98. package/dist/lib/sync/backup-manager.js.map +1 -1
  99. package/dist/lib/sync/backup-manager.test.js +2 -2
  100. package/dist/lib/sync/backup-manager.test.js.map +1 -1
  101. package/dist/lib/sync/batch-processor.d.ts.map +1 -1
  102. package/dist/lib/sync/batch-processor.js.map +1 -1
  103. package/dist/lib/sync/batch-processor.test.js.map +1 -1
  104. package/dist/lib/sync/category-validator.d.ts.map +1 -1
  105. package/dist/lib/sync/category-validator.js.map +1 -1
  106. package/dist/lib/sync/category-validator.test.js +2 -11
  107. package/dist/lib/sync/category-validator.test.js.map +1 -1
  108. package/dist/lib/sync/conflict-reporter.d.ts.map +1 -1
  109. package/dist/lib/sync/conflict-reporter.js +1 -2
  110. package/dist/lib/sync/conflict-reporter.js.map +1 -1
  111. package/dist/lib/sync/conflict-reporter.test.js +2 -7
  112. package/dist/lib/sync/conflict-reporter.test.js.map +1 -1
  113. package/dist/lib/sync/diff-engine.d.ts.map +1 -1
  114. package/dist/lib/sync/diff-engine.js +2 -4
  115. package/dist/lib/sync/diff-engine.js.map +1 -1
  116. package/dist/lib/sync/diff-engine.test.js.map +1 -1
  117. package/dist/lib/sync/file-filter.d.ts.map +1 -1
  118. package/dist/lib/sync/file-filter.js +26 -3
  119. package/dist/lib/sync/file-filter.js.map +1 -1
  120. package/dist/lib/sync/file-filter.test.js +26 -2
  121. package/dist/lib/sync/file-filter.test.js.map +1 -1
  122. package/dist/lib/sync/hash-cache.d.ts.map +1 -1
  123. package/dist/lib/sync/hash-cache.js.map +1 -1
  124. package/dist/lib/sync/hash-cache.test.js +2 -2
  125. package/dist/lib/sync/hash-cache.test.js.map +1 -1
  126. package/dist/lib/sync/integration.test.js +289 -2
  127. package/dist/lib/sync/integration.test.js.map +1 -1
  128. package/dist/lib/sync/marker-processor.d.ts +34 -10
  129. package/dist/lib/sync/marker-processor.d.ts.map +1 -1
  130. package/dist/lib/sync/marker-processor.js +142 -41
  131. package/dist/lib/sync/marker-processor.js.map +1 -1
  132. package/dist/lib/sync/marker-processor.test.js +134 -1
  133. package/dist/lib/sync/marker-processor.test.js.map +1 -1
  134. package/dist/lib/sync/metadata-manager.d.ts.map +1 -1
  135. package/dist/lib/sync/metadata-manager.js.map +1 -1
  136. package/dist/lib/sync/metadata-manager.test.js +4 -6
  137. package/dist/lib/sync/metadata-manager.test.js.map +1 -1
  138. package/dist/lib/sync/performance.test.js +2 -2
  139. package/dist/lib/sync/performance.test.js.map +1 -1
  140. package/dist/lib/sync/seed-synchronizer.d.ts +27 -0
  141. package/dist/lib/sync/seed-synchronizer.d.ts.map +1 -0
  142. package/dist/lib/sync/seed-synchronizer.js +72 -0
  143. package/dist/lib/sync/seed-synchronizer.js.map +1 -0
  144. package/dist/lib/sync/seed-synchronizer.test.d.ts +2 -0
  145. package/dist/lib/sync/seed-synchronizer.test.d.ts.map +1 -0
  146. package/dist/lib/sync/seed-synchronizer.test.js +147 -0
  147. package/dist/lib/sync/seed-synchronizer.test.js.map +1 -0
  148. package/dist/types/index.d.ts.map +1 -1
  149. package/dist/types/preset-update.d.ts +1 -1
  150. package/dist/types/sync.d.ts +4 -2
  151. package/dist/types/sync.d.ts.map +1 -1
  152. package/dist/types/sync.js.map +1 -1
  153. package/package.json +1 -2
  154. package/presets/default/.claude/agents/einja/backend-architect.md +1131 -0
  155. package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/design-engineer.md +1 -1
  156. package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/frontend-architect.md +1 -1
  157. package/presets/{minimal/.claude/agents/einja/frontend → default/.claude/agents/einja}/frontend-coder.md +1 -37
  158. package/presets/{minimal → default}/.claude/agents/einja/task/task-committer.md +12 -6
  159. package/presets/{minimal → default}/.claude/agents/einja/task/task-executer.md +9 -9
  160. package/presets/{minimal → default}/.claude/commands/einja/frontend-implement.md +1 -1
  161. package/presets/{minimal → default}/.claude/commands/einja/update-docs-by-task-specs.md +6 -6
  162. package/presets/{minimal/.claude/skills/einja/api-development → default/.claude/skills/einja-api-development}/SKILL.md +5 -5
  163. package/presets/{minimal/.claude/skills/einja/backend-architecture → default/.claude/skills/einja-backend-architecture}/SKILL.md +5 -5
  164. package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/SKILL.md +6 -6
  165. package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/SKILL.md +6 -6
  166. package/presets/{minimal/.claude/skills/einja/frontend-development → default/.claude/skills/einja-frontend-development}/SKILL.md +5 -5
  167. package/presets/{minimal/.claude/skills/einja/output-format → default/.claude/skills/einja-output-format}/SKILL.md +54 -5
  168. package/presets/{minimal → default}/preset.yaml +1 -1
  169. package/presets/{minimal → default}/symlinks.json +10 -10
  170. package/scaffolds/cli/preset.yaml +110 -0
  171. package/scaffolds/example/README.md +35 -0
  172. package/scaffolds/example/specs/issues/issue999-example-task/design.md +879 -0
  173. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/README.md +150 -0
  174. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/phase1/1-1.md +268 -0
  175. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/phase1/1-2.md +179 -0
  176. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/phase1/1-3.md +392 -0
  177. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/phase1/evidence/.gitkeep +0 -0
  178. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/phase2/2-1.md +459 -0
  179. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/phase2/evidence/.gitkeep +0 -0
  180. package/scaffolds/example/specs/issues/issue999-example-task/qa-tests/scenarios.md +125 -0
  181. package/scaffolds/example/specs/issues/issue999-example-task/requirements.md +494 -0
  182. package/scaffolds/example/specs/issues/issue999-example-task/tasks.md +212 -0
  183. package/scaffolds/instructions/deployment-setup.md +458 -0
  184. package/scaffolds/instructions/environment-setup.md +509 -0
  185. package/scaffolds/instructions/local-server-environment-and-worktree.md +539 -0
  186. package/scaffolds/instructions/task-execute.md +649 -0
  187. package/scaffolds/instructions/task-vibe-kanban-loop.md +495 -0
  188. package/scaffolds/memory/archive/.gitkeep +0 -0
  189. package/scaffolds/memory/decisions.md +35 -0
  190. package/scaffolds/memory/patterns.md +37 -0
  191. package/scaffolds/steering/README.md +42 -0
  192. package/scaffolds/steering/acceptance-criteria-and-qa-guide.md +11 -0
  193. package/scaffolds/steering/architecture.md +11 -0
  194. package/scaffolds/steering/branch-strategy.md +11 -0
  195. package/scaffolds/steering/commit-rules.md +12 -1
  196. package/scaffolds/steering/db-schema-design.md +11 -0
  197. package/scaffolds/steering/development/api-development.md +15 -4
  198. package/scaffolds/steering/development/backend-architecture.md +11 -0
  199. package/scaffolds/steering/development/frontend-development.md +11 -0
  200. package/scaffolds/steering/development/review-guidelines.md +11 -0
  201. package/scaffolds/steering/development/testing-strategy.md +85 -0
  202. package/scaffolds/steering/development-workflow.md +11 -0
  203. package/scaffolds/steering/infrastructure/deployment.md +11 -0
  204. package/scaffolds/steering/infrastructure/environment-variables.md +11 -0
  205. package/scaffolds/steering/product.md +11 -0
  206. package/scaffolds/steering/task-management.md +11 -0
  207. package/scaffolds/CLAUDE.md.template +0 -386
  208. /package/presets/{minimal → default}/.claude/agents/einja/docs/docs-updater.md +0 -0
  209. /package/presets/{minimal → default}/.claude/agents/einja/git/conflict-resolver.md +0 -0
  210. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-design-generator.md +0 -0
  211. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-qa-generator.md +0 -0
  212. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-requirements-generator.md +0 -0
  213. /package/presets/{minimal → default}/.claude/agents/einja/specs/spec-tasks-generator.md +0 -0
  214. /package/presets/{minimal → default}/.claude/agents/einja/task/task-modification-analyzer.md +0 -0
  215. /package/presets/{minimal → default}/.claude/agents/einja/task/task-qa.md +0 -0
  216. /package/presets/{minimal → default}/.claude/agents/einja/task/task-reviewer.md +0 -0
  217. /package/presets/{minimal → default}/.claude/commands/einja/spec-create.md +0 -0
  218. /package/presets/{minimal → default}/.claude/commands/einja/start-dev.md +0 -0
  219. /package/presets/{minimal → default}/.claude/commands/einja/sync-cursor-commands.md +0 -0
  220. /package/presets/{minimal → default}/.claude/commands/einja/task-exec.md +0 -0
  221. /package/presets/{minimal → default}/.claude/hooks/einja/biome-format.sh +0 -0
  222. /package/presets/{minimal → default}/.claude/hooks/einja/design-doc-check.sh +0 -0
  223. /package/presets/{minimal → default}/.claude/hooks/einja/detect-secrets.sh +0 -0
  224. /package/presets/{minimal → default}/.claude/hooks/einja/large-file-warning.sh +0 -0
  225. /package/presets/{minimal → default}/.claude/hooks/einja/playwright-resize.sh +0 -0
  226. /package/presets/{minimal → default}/.claude/hooks/einja/typecheck.sh +0 -0
  227. /package/presets/{minimal → default}/.claude/hooks/einja/unset-volta-recursion.sh +0 -0
  228. /package/presets/{minimal → default}/.claude/hooks/einja/validate-git-commit.sh +0 -0
  229. /package/presets/{minimal → default}/.claude/hooks/einja/warn-index-ts.sh +0 -0
  230. /package/presets/{minimal → default}/.claude/hooks/einja/warn-relative-import.sh +0 -0
  231. /package/presets/{minimal → default}/.claude/settings.json +0 -0
  232. /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/naming-conventions.md +0 -0
  233. /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/prohibited-patterns.md +0 -0
  234. /package/presets/{minimal/.claude/skills/einja/coding-standards → default/.claude/skills/einja-coding-standards}/reference/typescript-rules.md +0 -0
  235. /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/directory-structure.md +0 -0
  236. /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/props-patterns.md +0 -0
  237. /package/presets/{minimal/.claude/skills/einja/component-design → default/.claude/skills/einja-component-design}/reference/styling-guide.md +0 -0
  238. /package/presets/{minimal/.claude/skills/einja/conflict-resolver → default/.claude/skills/einja-conflict-resolver}/SKILL.md +0 -0
  239. /package/presets/{minimal/.claude/skills/einja/general-context-loader → default/.claude/skills/einja-general-context-loader}/SKILL.md +0 -0
  240. /package/presets/{minimal/.claude/skills/einja/spec-context-loader → default/.claude/skills/einja-spec-context-loader}/SKILL.md +0 -0
  241. /package/presets/{minimal/.claude/skills/einja/task-commit → default/.claude/skills/einja-task-commit}/SKILL.md +0 -0
  242. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/SKILL.md +0 -0
  243. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/failure-patterns.md +0 -0
  244. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/troubleshooting.md +0 -0
  245. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/reference/usage-patterns.md +0 -0
  246. /package/presets/{minimal/.claude/skills/einja/task-qa → default/.claude/skills/einja-task-qa}/templates/qa-test-template.md +0 -0
  247. /package/{templates → scaffolds/templates}/README.md +0 -0
  248. /package/{templates → scaffolds/templates}/design-simple.md.template +0 -0
  249. /package/{templates → scaffolds/templates}/design.md.template +0 -0
  250. /package/{templates → scaffolds/templates}/qa-test.md.template +0 -0
  251. /package/{templates → scaffolds/templates}/requirements.md.template +0 -0
@@ -7,7 +7,7 @@ color: pink
7
7
 
8
8
  ## ✅ 最重要: 出力形式
9
9
 
10
- **@.claude/skills/einja/output-format/SKILL.md の「design-engineer」テンプレートに従って報告すること。この形式から逸脱しないこと。**
10
+ **@.claude/skills/einja-output-format/SKILL.md の「design-engineer」テンプレートに従って報告すること。この形式から逸脱しないこと。**
11
11
 
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ color: purple
7
7
 
8
8
  ## ✅ 最重要: 出力形式
9
9
 
10
- **@.claude/skills/einja/output-format/SKILL.md の「frontend-architect」テンプレートに従って報告すること。この形式から逸脱しないこと。**
10
+ **@.claude/skills/einja-output-format/SKILL.md の「frontend-architect」テンプレートに従って報告すること。この形式から逸脱しないこと。**
11
11
 
12
12
  ---
13
13
 
@@ -7,7 +7,7 @@ color: blue
7
7
 
8
8
  ## ✅ 最重要: 出力形式
9
9
 
10
- **@.claude/skills/einja/output-format/SKILL.md の「frontend-coder」テンプレートに従って報告すること。この形式から逸脱しないこと。**
10
+ **@.claude/skills/einja-output-format/SKILL.md の「frontend-coder」テンプレートに従って報告すること。この形式から逸脱しないこと。**
11
11
 
12
12
  ---
13
13
 
@@ -48,44 +48,8 @@ color: blue
48
48
  - 再利用可能なコンポーネントを特定
49
49
  - 命名規則とディレクトリ構造を把握
50
50
 
51
- 3. **既存パターンとの整合性確認**:
52
-
53
- 既存実装の分析後、既存パターンと異なる実装が必要な場合はAskUserQuestionで方針承認を得ます。
54
-
55
- ```yaml
56
- AskUserQuestion:
57
- question: "既存パターンと異なる実装方針が必要です。どのように進めますか?"
58
- header: "実装方針"
59
- options:
60
- - label: "新パターンで実装(推奨)"
61
- description: "推奨理由: 既存パターンでは要件を満たせない。メリット: 要件を完全に満たせる。デメリット: 新パターンが今後の標準となる可能性、学習コスト"
62
- - label: "既存パターンに合わせて要件調整"
63
- description: "メリット: プロジェクトの一貫性を維持。デメリット: 機能制限が発生し、ビジネス要件を満たせない可能性"
64
- - label: "両パターンの折衷案"
65
- description: "メリット: 既存との互換性を保ちつつ新機能を実現。デメリット: 実装が複雑化し、保守コストが増加する可能性"
66
- ```
67
-
68
51
  ### 2. コンポーネント実装
69
52
 
70
- #### 状態管理方法の確認
71
-
72
- コンポーネント実装前に、複数の状態管理方法が選択可能な場合はAskUserQuestionで確認します。
73
-
74
- ```yaml
75
- AskUserQuestion:
76
- question: "状態管理の方法を選択してください"
77
- header: "状態管理"
78
- options:
79
- - label: "TanStack Query(推奨)"
80
- description: "推奨理由: サーバー状態管理に最適。メリット: キャッシュ・再取得が自動化、宣言的なデータフェッチ。デメリット: 学習コスト、ライブラリ依存"
81
- - label: "Context API"
82
- description: "メリット: 外部依存なし、シンプル。デメリット: 大規模な状態には不向き、再レンダリングの最適化が必要"
83
- - label: "useReducer"
84
- description: "メリット: 状態遷移が明確、テストしやすい。デメリット: ボイラープレートが増える、グローバル状態には不向き"
85
- - label: "useState(複数)"
86
- description: "メリット: 最もシンプル、学習コストなし。デメリット: 状態が増えると管理が複雑化、状態間の連携が困難"
87
- ```
88
-
89
53
  #### ディレクトリ構造(モノレポ対応)
90
54
  ```
91
55
  apps/web/src/
@@ -19,16 +19,22 @@ QA合格後の変更をコミット・プッシュします。
19
19
 
20
20
  ## 処理
21
21
 
22
- task-commit Skillを **自動モード(確認なしで実行)** で実行し、結果を返却します。
22
+ task-commit Skillを実行し、結果を返却します。
23
23
 
24
- ### task-exec経由での自動実行
24
+ ### コミット分割案の確認
25
25
 
26
- task-exec経由で呼び出される場合、以下を自動的にスキップします:
26
+ 呼び出し時の指示に**明示的なコミット分割の指定がない場合**は、**AskUserQuestionツールを使用**してコミット分割案の承認を得ます。
27
27
 
28
- 1. **コミット分割案の確認**: QA合格済みの変更であるため、自動で適切に分割してコミット
29
- 2. **品質チェック(prepush)**: QAフェーズで既に lint/typecheck/test が実行済みのため、重複実行は不要
28
+ - ✅ 「この分割でお願い」「1コミットで」等の指定がある 指定に従って実行
29
+ - 分割指定がない AskUserQuestionで確認を取る
30
30
 
31
- これにより、task-exec → task-qa → task-committer の一連のフローが迅速に完了します。
31
+ ### task-exec経由での呼び出し
32
+
33
+ task-exec経由で呼び出される場合、以下のみスキップします:
34
+
35
+ - **品質チェック(prepush)**: QAフェーズで既に lint/typecheck/test が実行済みのため、重複実行は不要
36
+
37
+ **注意**: コミット分割案の確認はスキップしません。
32
38
 
33
39
  ## 出力形式
34
40
 
@@ -103,17 +103,17 @@ Skill: general-context-loader
103
103
 
104
104
  | 実装種別 | 読み込むSkill |
105
105
  |---------|--------------|
106
- | **API実装** | `.claude/skills/einja/api-development/SKILL.md` |
107
- | **フロントエンド実装** | `.claude/skills/einja/frontend-development/SKILL.md` |
108
- | **バックエンド実装** | `.claude/skills/einja/backend-architecture/SKILL.md` |
109
- | **コード全般** | `.claude/skills/einja/coding-standards/SKILL.md` |
110
- | **コンポーネント設計** | `.claude/skills/einja/component-design/SKILL.md` |
106
+ | **API実装** | `.claude/skills/einja-api-development/SKILL.md` |
107
+ | **フロントエンド実装** | `.claude/skills/einja-frontend-development/SKILL.md` |
108
+ | **バックエンド実装** | `.claude/skills/einja-backend-architecture/SKILL.md` |
109
+ | **コード全般** | `.claude/skills/einja-coding-standards/SKILL.md` |
110
+ | **コンポーネント設計** | `.claude/skills/einja-component-design/SKILL.md` |
111
111
 
112
112
  **詳細規約が必要な場合**:
113
- - 命名規則: `.claude/skills/einja/coding-standards/reference/naming-conventions.md`
114
- - 禁止パターン: `.claude/skills/einja/coding-standards/reference/prohibited-patterns.md`
115
- - TypeScript規約: `.claude/skills/einja/coding-standards/reference/typescript-rules.md`
116
- - スタイリング: `.claude/skills/einja/component-design/reference/styling-guide.md`
113
+ - 命名規則: `.claude/skills/einja-coding-standards/reference/naming-conventions.md`
114
+ - 禁止パターン: `.claude/skills/einja-coding-standards/reference/prohibited-patterns.md`
115
+ - TypeScript規約: `.claude/skills/einja-coding-standards/reference/typescript-rules.md`
116
+ - スタイリング: `.claude/skills/einja-component-design/reference/styling-guide.md`
117
117
 
118
118
  ### 2. 実装方針の策定
119
119
 
@@ -311,7 +311,7 @@ frontend-implement "認証フロー(ログイン・サインアップ・パス
311
311
 
312
312
  ### Panda CSS生成エラー
313
313
  ```bash
314
- pnpm --filter @einja/web panda codegen
314
+ pnpm --filter @repo/web panda codegen
315
315
  ```
316
316
 
317
317
  ### 型エラー
@@ -332,9 +332,9 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
332
332
  - features/login/design.md: 5セクション追加
333
333
 
334
334
  ### Steering仕様書
335
- - einja/steering/architecture.md: 7セクション追加
336
- - einja/steering/db-design.md: 4セクション追加
337
- - einja/steering/product.md: 3セクション追加
335
+ - steering/architecture.md: 7セクション追加
336
+ - steering/db-design.md: 4セクション追加
337
+ - steering/product.md: 3セクション追加
338
338
  ```
339
339
 
340
340
  2. **各ファイルの詳細プレビュー**(オプション):
@@ -420,9 +420,9 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
420
420
  - **features/login/tasks.md**: 1セクション追加(156行)
421
421
 
422
422
  ### Steering仕様書
423
- - **einja/steering/architecture.md**: 7セクション追加(1,245行)
424
- - **einja/steering/db-design.md**: 4セクション追加(567行)
425
- - **einja/steering/product.md**: 3セクション追加(334行)
423
+ - **steering/architecture.md**: 7セクション追加(1,245行)
424
+ - **steering/db-design.md**: 4セクション追加(567行)
425
+ - **steering/product.md**: 3セクション追加(334行)
426
426
 
427
427
  ## 次のステップ
428
428
  - 反映された内容を確認してください
@@ -1,9 +1,9 @@
1
- # API開発ガイド Skill
2
-
3
- name: "api-development"
1
+ ---
2
+ name: api-development
4
3
  description: "Hono + Zodを使用したAPI実装のガイドライン"
5
- invocation: "agent-requested"
6
- version: "1.0.0"
4
+ ---
5
+
6
+ # API開発ガイド Skill
7
7
 
8
8
  ## 概要
9
9
 
@@ -1,9 +1,9 @@
1
- # バックエンドアーキテクチャ Skill
2
-
3
- name: "backend-architecture"
1
+ ---
2
+ name: backend-architecture
4
3
  description: "4層レイヤードアーキテクチャ、Repositoryパターン、Result型パターンのガイドライン"
5
- invocation: "agent-requested"
6
- version: "1.0.0"
4
+ ---
5
+
6
+ # バックエンドアーキテクチャ Skill
7
7
 
8
8
  ## 概要
9
9
 
@@ -1,9 +1,9 @@
1
- # Coding Standards Skill
2
-
3
- name: "coding-standards"
1
+ ---
2
+ name: coding-standards
4
3
  description: "TypeScript/React/Next.jsのコーディング規約とベストプラクティス"
5
- invocation: "agent-requested"
6
- version: "1.0.0"
4
+ ---
5
+
6
+ # Coding Standards Skill
7
7
 
8
8
  ## 概要
9
9
 
@@ -114,7 +114,7 @@ const customStyles = css({
114
114
 
115
115
  ## 関連Skill・ドキュメント
116
116
 
117
- - [component-design](../component-design/SKILL.md) - コンポーネント設計ガイドライン
117
+ - [component-design](../einja-component-design/SKILL.md) - コンポーネント設計ガイドライン
118
118
  - `docs/einja/steering/development/testing-strategy.md` - テスト戦略
119
119
  - `docs/einja/steering/development/review-guidelines.md` - コードレビューガイドライン
120
120
  - `docs/einja/steering/commit-rules.md` - コミットルール
@@ -1,9 +1,9 @@
1
- # Component Design Skill
2
-
3
- name: "component-design"
1
+ ---
2
+ name: component-design
4
3
  description: "Reactコンポーネントの設計原則と実装ガイドライン"
5
- invocation: "agent-requested"
6
- version: "1.0.0"
4
+ ---
5
+
6
+ # Component Design Skill
7
7
 
8
8
  ## 概要
9
9
 
@@ -98,7 +98,7 @@ interface ButtonProps {
98
98
 
99
99
  ## 関連Skill・ドキュメント
100
100
 
101
- - [coding-standards](../coding-standards/SKILL.md) - コーディング規約
101
+ - [coding-standards](../einja-coding-standards/SKILL.md) - コーディング規約
102
102
  - `docs/einja/steering/development/testing-strategy.md` - テスト戦略
103
103
  - `docs/einja/steering/development/frontend-development.md` - フロントエンド開発ガイド
104
104
 
@@ -1,9 +1,9 @@
1
- # フロントエンド開発ガイド Skill
2
-
3
- name: "frontend-development"
1
+ ---
2
+ name: frontend-development
4
3
  description: "Next.js + React + Tanstack Queryを使用したフロントエンド実装のガイドライン"
5
- invocation: "agent-requested"
6
- version: "1.0.0"
4
+ ---
5
+
6
+ # フロントエンド開発ガイド Skill
7
7
 
8
8
  ## 概要
9
9
 
@@ -1,9 +1,9 @@
1
- # サブエージェント出力形式 Skill
2
-
3
- name: "output-format"
1
+ ---
2
+ name: output-format
4
3
  description: "サブエージェントの統一出力形式を定義"
5
- invocation: "agent-requested"
6
- version: "1.0.0"
4
+ ---
5
+
6
+ # サブエージェント出力形式 Skill
7
7
 
8
8
  ## 概要
9
9
 
@@ -113,6 +113,55 @@ version: "1.0.0"
113
113
  [後続処理の説明]
114
114
  ```
115
115
 
116
+ ### backend-architect
117
+
118
+ ```markdown
119
+ ## 🔧 バックエンドアーキテクチャ設計完了
120
+
121
+ ### タスク: [機能名/API名]
122
+
123
+ ### 設計結果: [✅ SUCCESS / ⚠️ PARTIAL / ❌ FAILURE]
124
+
125
+ ### 設計サマリー
126
+ - **API数**: N個
127
+ - **Repository数**: M個
128
+ - **UseCase数**: K個
129
+ - **新規Entity数**: L個
130
+ - **テーブル数**: P個
131
+
132
+ ### アーキテクチャ構造
133
+ ```
134
+ [ディレクトリ構造図]
135
+ ```
136
+
137
+ ### 層間の依存関係
138
+ | 層 | 依存先 | 主なコンポーネント |
139
+ |---|-------|-----------------|
140
+
141
+ ### デザインパターン適用
142
+ - **Repositoryパターン**: [適用状況]
143
+ - **Mapperパターン**: [適用状況]
144
+ - **Result型パターン**: [適用状況]
145
+
146
+ ### DB設計
147
+ | テーブル名 | 主なカラム | インデックス |
148
+ |----------|----------|------------|
149
+
150
+ ### API設計
151
+ | エンドポイント | メソッド | 説明 |
152
+ |--------------|--------|------|
153
+
154
+ ### テスト設計方針
155
+ - **ユニットテスト対象**: [対象コンポーネント]
156
+ - **統合テスト対象**: [対象フロー]
157
+
158
+ ### 技術選定
159
+ - **[決定1]**: [選定理由]
160
+
161
+ ### 次のステップ
162
+ [後続処理の説明]
163
+ ```
164
+
116
165
  ## 長い出力の取り扱い
117
166
 
118
167
  出力が50行を超える場合、以下の形式で表示:
@@ -1,4 +1,4 @@
1
- name: minimal
1
+ name: default
2
2
  displayName: "Einja ATDD Workflow"
3
3
  description: "ATDDワークフロー構成(Next.js、Vibe-Kanban統合)"
4
4
  version: "1.0.0"
@@ -2,43 +2,43 @@
2
2
  "version": 1,
3
3
  "symlinks": [
4
4
  {
5
- "link": ".claude/skills/einja/api-development/reference/api-development.md",
5
+ "link": ".claude/skills/einja-api-development/reference/api-development.md",
6
6
  "target": "docs/einja/steering/development/api-development.md"
7
7
  },
8
8
  {
9
- "link": ".claude/skills/einja/backend-architecture/reference/backend-architecture.md",
9
+ "link": ".claude/skills/einja-backend-architecture/reference/backend-architecture.md",
10
10
  "target": "docs/einja/steering/development/backend-architecture.md"
11
11
  },
12
12
  {
13
- "link": ".claude/skills/einja/coding-standards/reference/commit-rules.md",
13
+ "link": ".claude/skills/einja-coding-standards/reference/commit-rules.md",
14
14
  "target": "docs/einja/steering/commit-rules.md"
15
15
  },
16
16
  {
17
- "link": ".claude/skills/einja/coding-standards/reference/review-guidelines.md",
17
+ "link": ".claude/skills/einja-coding-standards/reference/review-guidelines.md",
18
18
  "target": "docs/einja/steering/development/review-guidelines.md"
19
19
  },
20
20
  {
21
- "link": ".claude/skills/einja/coding-standards/reference/testing-strategy.md",
21
+ "link": ".claude/skills/einja-coding-standards/reference/testing-strategy.md",
22
22
  "target": "docs/einja/steering/development/testing-strategy.md"
23
23
  },
24
24
  {
25
- "link": ".claude/skills/einja/component-design/reference/frontend-development.md",
25
+ "link": ".claude/skills/einja-component-design/reference/frontend-development.md",
26
26
  "target": "docs/einja/steering/development/frontend-development.md"
27
27
  },
28
28
  {
29
- "link": ".claude/skills/einja/component-design/reference/testing-strategy.md",
29
+ "link": ".claude/skills/einja-component-design/reference/testing-strategy.md",
30
30
  "target": "docs/einja/steering/development/testing-strategy.md"
31
31
  },
32
32
  {
33
- "link": ".claude/skills/einja/frontend-development/reference/frontend-development.md",
33
+ "link": ".claude/skills/einja-frontend-development/reference/frontend-development.md",
34
34
  "target": "docs/einja/steering/development/frontend-development.md"
35
35
  },
36
36
  {
37
- "link": ".claude/skills/einja/task-commit/reference/commit-rules.md",
37
+ "link": ".claude/skills/einja-task-commit/reference/commit-rules.md",
38
38
  "target": "docs/einja/steering/commit-rules.md"
39
39
  },
40
40
  {
41
- "link": ".claude/skills/einja/task-qa/reference/acceptance-criteria-and-qa-guide.md",
41
+ "link": ".claude/skills/einja-task-qa/reference/acceptance-criteria-and-qa-guide.md",
42
42
  "target": "docs/einja/steering/acceptance-criteria-and-qa-guide.md"
43
43
  }
44
44
  ]
@@ -0,0 +1,110 @@
1
+ name: default
2
+ displayName: "Einja ATDD Workflow"
3
+ description: "ATDDワークフロー構成(Next.js、Vibe-Kanban統合)"
4
+ version: "1.0.0"
5
+
6
+ # 変数定義(ユーザーがカスタマイズ可能)
7
+ variables:
8
+ # CLAUDE.mdテンプレート用
9
+ PROJECT_NAME: "my-project"
10
+ INSTALL_COMMAND: "pnpm install"
11
+ DEV_COMMAND: "pnpm dev"
12
+ START_COMMAND: "pnpm start"
13
+ FORMAT_COMMAND: "pnpm format"
14
+ # 既存の変数
15
+ BUILD_COMMAND: "pnpm build"
16
+ TEST_COMMAND: "pnpm test"
17
+ LINT_COMMAND: "pnpm lint"
18
+ TYPE_CHECK_COMMAND: "pnpm typecheck"
19
+ PROJECT_STRUCTURE: |
20
+ src/ # ソースコード
21
+ tests/ # テストコード
22
+ CODING_STANDARDS_PATH: "README.md"
23
+ MCP_TOOLS: |
24
+ - Serena MCP: コード分析・編集
25
+ - Playwright MCP: ブラウザテスト
26
+ - GitHub MCP: Issue・PR操作
27
+ - Vibe-Kanban MCP: タスク自動化
28
+
29
+ # MCP設定
30
+ mcpServers:
31
+ - codex
32
+ - context7
33
+ - playwright
34
+ - serena
35
+ - github
36
+ - vibe_kanban
37
+
38
+ # 追加パーミッション
39
+ additionalPermissions:
40
+ - "Bash(npm:*)"
41
+ - "Bash(pnpm:*)"
42
+ - "Bash(npx:*)"
43
+ - "Bash(node:*)"
44
+ - "Bash(yarn:*)"
45
+ - "Bash(bun:*)"
46
+ - "Bash(python3:*)"
47
+ - "Bash(curl:*)"
48
+ - "Bash(wget:*)"
49
+ - "Bash(unzip:*)"
50
+ - "Bash(docker-compose :*)"
51
+ - "Bash(jq:*)"
52
+ - "mcp__codex__codex"
53
+ - "mcp__github__get_pull_request"
54
+ - "mcp__github__get_pull_request_files"
55
+ - "mcp__github__update_pull_request"
56
+ - "mcp__github__list_commits"
57
+ - "mcp__github__get_commit"
58
+ - "mcp__github__get_file_contents"
59
+ - "mcp__github__search_code"
60
+ - "mcp__playwright"
61
+ - "mcp__playwright__browser_navigate"
62
+ - "mcp__playwright__browser_click"
63
+ - "mcp__playwright__browser_wait_for"
64
+ - "mcp__playwright__browser_evaluate"
65
+ - "mcp__playwright__browser_snapshot"
66
+ - "mcp__playwright__browser_console_messages"
67
+ - "mcp__playwright__browser_handle_dialog"
68
+ - "mcp__playwright__browser_type"
69
+ - "mcp__serena"
70
+ - "mcp__serena__activate_project"
71
+ - "mcp__serena__check_onboarding_performed"
72
+ - "mcp__serena__find_file"
73
+ - "mcp__serena__find_referencing_symbols"
74
+ - "mcp__serena__find_symbol"
75
+ - "mcp__serena__get_symbols_overview"
76
+ - "mcp__serena__insert_before_symbol"
77
+ - "mcp__serena__list_dir"
78
+ - "mcp__serena__replace_symbol_body"
79
+ - "mcp__serena__search_for_pattern"
80
+ - "mcp__serena__think_about_collected_information"
81
+ - "mcp__serena__think_about_whether_you_are_done"
82
+ - "Bash(test:*)"
83
+ - "mcp__vibe_kanban__list_projects"
84
+ - "mcp__vibe_kanban__list_tasks"
85
+ - "mcp__vibe_kanban__get_task"
86
+ - "mcp__vibe_kanban__create_task"
87
+ - "mcp__vibe_kanban__update_task"
88
+ - "mcp__vibe_kanban__delete_task"
89
+ - "mcp__vibe_kanban__start_task_attempt"
90
+ - "Bash(gh pr view:*)"
91
+ - "Bash(gh pr close:*)"
92
+ - "Bash(gh pr create:*)"
93
+ - "Bash(gh pr list:*)"
94
+ - "Bash(tree:*)"
95
+ - "Bash(bash:*)"
96
+ - "Bash(./verify.sh:*)"
97
+ - "Bash(gh issue create:*)"
98
+ - "Skill(task-exec)"
99
+ - "Skill(task-qa)"
100
+
101
+ # 追加エージェント
102
+ additionalAgents:
103
+ - frontend-architect
104
+ - design-engineer
105
+ - frontend-coder
106
+
107
+ # 追加コマンド
108
+ additionalCommands:
109
+ - frontend-implement
110
+ - start-dev
@@ -0,0 +1,35 @@
1
+ # 実装例ディレクトリ
2
+
3
+ このディレクトリには、完全に実装されたタスクの例が含まれています。
4
+
5
+ ## 収録例
6
+
7
+ ### issue999-example-task: マジックリンク認証機能
8
+
9
+ **学習ポイント**:
10
+ - 包括的な要件定義(requirements.md)
11
+ - AC 番号体系と検証レベルの使い方
12
+ - 詳細な設計書(design.md)
13
+ - 段階的なタスク分解(tasks.md)
14
+ - Integration/E2E テストを含む QA 仕様書(qa-tests/)
15
+
16
+ ## 活用方法
17
+
18
+ ### 1. 全体の流れを理解する
19
+ - requirements.md → design.md → tasks.md → qa-tests/ の順で読む
20
+ - 各フェーズでどのような内容を記述すべきか確認
21
+
22
+ ### 2. テンプレート記述の参考にする
23
+ - `../templates/` のテンプレートと照らし合わせる
24
+ - 各セクションの具体的な記述例を確認
25
+
26
+ ### 3. QA 仕様書の構造を理解する
27
+ - qa-tests/phaseN/X-Y.md の形式を確認
28
+ - 失敗時の報告方法を参考にする
29
+
30
+ ## 次のステップ
31
+
32
+ 実装例を確認したら:
33
+ 1. [テンプレート](../templates/) を使用して新規タスクを作成
34
+ 2. task-exec コマンドで自動化されたワークフローを実行
35
+ 3. [受け入れ基準とQAガイド](../steering/acceptance-criteria-and-qa-guide.md) で詳細を確認