@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,26 +1,26 @@
1
1
  ---
2
- description: "タスク仕様書をfeature仕様書とsteering仕様書に反映。ARGUMENTS: タスク仕様書ディレクトリパス(複数可、カンマ区切り)"
2
+ description: "Issue仕様書をfeature仕様書とsteering仕様書に反映。ARGUMENTS: Issue仕様書ディレクトリパス(複数可、カンマ区切り)"
3
3
  allowed-tools: Read, Write, Edit, Bash, Grep, Glob
4
4
  ---
5
5
 
6
- # タスク仕様書からドキュメント反映コマンド
6
+ # Issue仕様書からドキュメント反映コマンド
7
7
 
8
8
  ## あなたの役割
9
9
 
10
- タスク仕様書(`docs/specs/tasks/` 配下)から設計情報を抽出し、以下の2つの階層に反映する専門エージェントです:
10
+ Issue仕様書(`docs/specs/issues/` 配下)から設計情報を抽出し、以下の2つの階層に反映する専門エージェントです:
11
11
 
12
12
  1. **Feature仕様書**(`docs/specs/features/<feature-name>/`)- 機能レベルの設計
13
13
  2. **Steering仕様書**(`docs/einja/steering/`)- プロジェクト全体の設計
14
14
 
15
- タスク仕様書の内容を構造化して抽出し、適切な階層のドキュメントにインテリジェントにマージします。
15
+ Issue仕様書の内容を構造化して抽出し、適切な階層のドキュメントにインテリジェントにマージします。
16
16
 
17
17
  ## 実行フロー
18
18
 
19
- ### 1. タスク仕様書の検証と読み込み
19
+ ### 1. Issue仕様書の検証と読み込み
20
20
 
21
21
  **入力形式**:
22
22
  ```
23
- /update-docs-by-task-specs <task-spec-dir-path> [<task-spec-dir-path2> ...]
23
+ /update-docs-by-issue-specs <issue-spec-dir-path> [<issue-spec-dir-path2> ...]
24
24
  ```
25
25
 
26
26
  **処理**:
@@ -34,10 +34,10 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
34
34
 
35
35
  ### 2. 機能(Feature)の判定【対話的】
36
36
 
37
- 各タスクspecについて、どの機能(Feature)に関連するかを判定します。
37
+ 各Issue specについて、どの機能(Feature)に関連するかを判定します。
38
38
 
39
39
  **判定手順**:
40
- 1. タスクディレクトリ名とrequirements.mdの内容を分析
40
+ 1. Issueディレクトリ名とrequirements.mdの内容を分析
41
41
  2. 既存の`docs/specs/features/`ディレクトリをスキャン
42
42
  3. 以下の候補をユーザーに提示:
43
43
  - 既存の機能(例: `login`, `signup`など)
@@ -46,7 +46,7 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
46
46
 
47
47
  **AskUserQuestionを使用**:
48
48
  ```
49
- 質問: "タスク『{タスク名}』はどの機能に関連しますか?"
49
+ 質問: "Issue『{Issue名}』はどの機能に関連しますか?"
50
50
  選択肢:
51
51
  - login(既存)
52
52
  - signup(既存)
@@ -54,7 +54,7 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
54
54
  - Steeringのみ反映
55
55
  ```
56
56
 
57
- ### 3. Feature仕様書への反映【Task → Feature】
57
+ ### 3. Feature仕様書への反映【Issue → Feature】
58
58
 
59
59
  機能が指定された場合、`docs/specs/features/<feature-name>/`に反映します。
60
60
 
@@ -74,7 +74,7 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
74
74
 
75
75
  **対象**: `docs/specs/features/<feature-name>/requirements.md`
76
76
 
77
- **タスクspecから抽出する情報**(`requirements.md`から):
77
+ **Issue specから抽出する情報**(`requirements.md`から):
78
78
  - **ビジネス価値**(ビジネス価値セクション)
79
79
  - **ユーザーストーリー**(ユーザーストーリーセクション)
80
80
  - **受け入れ基準**(各ストーリーの受け入れ基準)
@@ -83,10 +83,10 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
83
83
 
84
84
  **反映形式**:
85
85
  ```markdown
86
- ## タスク: {タスク名} ({日付})
86
+ ## Issue: {Issue名} ({日付})
87
87
 
88
88
  **反映日時**: {現在日時}
89
- **ソース**: {タスクspecパス}
89
+ **ソース**: {Issue specパス}
90
90
 
91
91
  ### ビジネス価値
92
92
  {抽出した内容}
@@ -103,13 +103,13 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
103
103
  **マージロジック**:
104
104
  - 既存内容の最後に追記(セクションが存在する場合)
105
105
  - セクションが存在しない場合は新規作成
106
- - 同じタスクからの重複反映を防止(タスク名+日付でチェック)
106
+ - 同じIssueからの重複反映を防止(Issue名+日付でチェック)
107
107
 
108
108
  #### 3.3 design.md への反映
109
109
 
110
110
  **対象**: `docs/specs/features/<feature-name>/design.md`
111
111
 
112
- **タスクspecから抽出する情報**(`design.md`から):
112
+ **Issue specから抽出する情報**(`design.md`から):
113
113
  - **API仕様**(APIエンドポイントセクション)
114
114
  - **コンポーネント設計**(コンポーネントとインターフェースセクション)
115
115
  - **シーケンス図**(シーケンス図セクション)
@@ -118,10 +118,10 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
118
118
 
119
119
  **反映形式**:
120
120
  ```markdown
121
- ## タスク: {タスク名} ({日付})
121
+ ## Issue: {Issue名} ({日付})
122
122
 
123
123
  **反映日時**: {現在日時}
124
- **ソース**: {タスクspecパス}
124
+ **ソース**: {Issue specパス}
125
125
 
126
126
  ### API仕様
127
127
  {抽出した内容}
@@ -136,17 +136,17 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
136
136
 
137
137
  **対象**: `docs/specs/features/<feature-name>/tasks.md`
138
138
 
139
- **タスクspecから抽出する情報**(`tasks.md`から):
139
+ **Issue specから抽出する情報**(`tasks.md`から):
140
140
  - タスク一覧(Phase別)
141
141
  - 依存関係情報
142
142
  - 完了基準
143
143
 
144
144
  **反映形式**:
145
145
  ```markdown
146
- ## タスク: {タスク名} ({日付})
146
+ ## Issue: {Issue名} ({日付})
147
147
 
148
148
  **反映日時**: {現在日時}
149
- **ソース**: {タスクspecパス}
149
+ **ソース**: {Issue specパス}
150
150
 
151
151
  ### 実装タスク
152
152
  {抽出したタスクリスト}
@@ -154,15 +154,15 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
154
154
  ---
155
155
  ```
156
156
 
157
- ### 4. Steering仕様書への反映【Task → Steering】
157
+ ### 4. Steering仕様書への反映【Issue → Steering】
158
158
 
159
- すべてのタスクspecは、Steering仕様書にも反映されます。
159
+ すべてのIssue specは、Steering仕様書にも反映されます。
160
160
 
161
161
  #### 4.1 architecture.md への反映
162
162
 
163
163
  **対象**: `docs/einja/steering/architecture.md`
164
164
 
165
- **タスクspecから抽出する情報**(`design.md`から):
165
+ **Issue specから抽出する情報**(`design.md`から):
166
166
  - **システム構成図**(Mermaid図を含む)
167
167
  - **データフロー図**
168
168
  - **技術スタック表**
@@ -173,10 +173,10 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
173
173
 
174
174
  **反映形式**:
175
175
  ```markdown
176
- ## {タスク名} ({日付})
176
+ ## {Issue名} ({日付})
177
177
 
178
178
  **反映日時**: {現在日時}
179
- **ソース**: {タスクspecパス}
179
+ **ソース**: {Issue specパス}
180
180
 
181
181
  ### システム構成
182
182
  {抽出した構成図とMermaid}
@@ -192,14 +192,14 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
192
192
 
193
193
  **マージロジック**:
194
194
  - ファイルが空またはTODOのみの場合、目次構造を作成してから追記
195
- - 既存の同名セクションがある場合、タスクごとのサブセクションとして追記
196
- - Mermaid図は`<!-- Task: {タスク名} -->`コメントでラベル付け
195
+ - 既存の同名セクションがある場合、Issueごとのサブセクションとして追記
196
+ - Mermaid図は`<!-- Issue: {Issue名} -->`コメントでラベル付け
197
197
 
198
198
  #### 4.2 db-design.md への反映
199
199
 
200
200
  **対象**: `docs/einja/steering/db-design.md`
201
201
 
202
- **タスクspecから抽出する情報**(`design.md`から):
202
+ **Issue specから抽出する情報**(`design.md`から):
203
203
  - **ERD図**(Entity-Relationship Diagram)
204
204
  - **Prismaスキーマ定義**
205
205
  - **リポジトリパターン実装**
@@ -209,10 +209,10 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
209
209
 
210
210
  **反映形式**:
211
211
  ```markdown
212
- ## {タスク名} ({日付})
212
+ ## {Issue名} ({日付})
213
213
 
214
214
  **反映日時**: {現在日時}
215
- **ソース**: {タスクspecパス}
215
+ **ソース**: {Issue specパス}
216
216
 
217
217
  ### データベーススキーマ
218
218
  {抽出したスキーマ定義}
@@ -230,7 +230,7 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
230
230
 
231
231
  **対象**: `docs/einja/steering/product.md`
232
232
 
233
- **タスクspecから抽出する情報**:
233
+ **Issue specから抽出する情報**:
234
234
  - **ビジネス価値と目標**(`requirements.md`から)
235
235
  - **ユーザーストーリー概要**(`requirements.md`から)
236
236
  - **主要API仕様**(`design.md`から)
@@ -239,10 +239,10 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
239
239
 
240
240
  **反映形式**:
241
241
  ```markdown
242
- ## {タスク名} ({日付})
242
+ ## {Issue名} ({日付})
243
243
 
244
244
  **反映日時**: {現在日時}
245
- **ソース**: {タスクspecパス}
245
+ **ソース**: {Issue specパス}
246
246
 
247
247
  ### ビジネス価値
248
248
  {抽出した内容}
@@ -262,11 +262,11 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
262
262
 
263
263
  各ファイルの先頭または各セクションで、以下のパターンを検索:
264
264
  ```markdown
265
- ## タスク: {タスク名} ({日付})
265
+ ## Issue: {Issue名} ({日付})
266
266
  ```
267
267
 
268
- - 同じタスク名+日付が見つかった場合、重複として扱う
269
- - ユーザーに確認:「タスク『{タスク名}』は既に反映済みです。上書きしますか?」
268
+ - 同じIssue名+日付が見つかった場合、重複として扱う
269
+ - ユーザーに確認:「Issue『{Issue名}』は既に反映済みです。上書きしますか?」
270
270
  - 上書き: 既存セクションを削除して新規追加
271
271
  - スキップ: 反映をスキップ
272
272
  - 差分マージ: 変更部分のみ更新(推奨)
@@ -275,7 +275,7 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
275
275
 
276
276
  **空ファイルまたはTODOのみの場合**:
277
277
  1. 標準的な目次構造を作成
278
- 2. 各セクションにタスクの内容を追記
278
+ 2. 各セクションにIssueの内容を追記
279
279
 
280
280
  **既存内容がある場合**:
281
281
  1. 既存のセクション構造を解析
@@ -290,17 +290,17 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
290
290
 
291
291
  ## システム構成
292
292
 
293
- ### タスク: Monorepo Setup (20251104)
293
+ ### Issue: Monorepo Setup (20251104)
294
294
  ...
295
295
 
296
296
  ## 技術スタック
297
297
 
298
- ### タスク: Monorepo Setup (20251104)
298
+ ### Issue: Monorepo Setup (20251104)
299
299
  ...
300
300
 
301
301
  ## デプロイメント戦略
302
302
 
303
- ### タスク: Monorepo Setup (20251104)
303
+ ### Issue: Monorepo Setup (20251104)
304
304
  ...
305
305
  ```
306
306
 
@@ -309,13 +309,13 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
309
309
  **図の識別**:
310
310
  - 各Mermaid図の直前にコメントを追加:
311
311
  ```markdown
312
- <!-- Task: {タスク名} ({日付}) -->
312
+ <!-- Issue: {Issue名} ({日付}) -->
313
313
  ```mermaid
314
314
  ...
315
315
  ```
316
316
  ```
317
317
 
318
- **複数タスクの図の統合**:
318
+ **複数Issueの図の統合**:
319
319
  - 同種の図(例: システム構成図)が複数ある場合、並列配置
320
320
  - 重複や矛盾がある場合、ユーザーに確認して統合提案
321
321
 
@@ -347,9 +347,9 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
347
347
 
348
348
  ### 7. エラーハンドリング
349
349
 
350
- **タスクspecが見つからない場合**:
350
+ **Issue specが見つからない場合**:
351
351
  ```
352
- エラー: タスク仕様書が見つかりません
352
+ エラー: Issue仕様書が見つかりません
353
353
  パス: {指定パス}
354
354
  確認事項:
355
355
  - パスが正しいか確認してください
@@ -359,8 +359,8 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
359
359
  **requirements.md/design.md がない場合**:
360
360
  ```
361
361
  警告: {ファイル名}が見つかりません
362
- タスク: {タスク名}
363
- 対応: このタスクの反映をスキップして続行しますか?
362
+ Issue: {Issue名}
363
+ 対応: このIssueの反映をスキップして続行しますか?
364
364
  ```
365
365
 
366
366
  **機能spec作成時の競合**:
@@ -372,13 +372,13 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
372
372
  ## 重要な原則
373
373
 
374
374
  ### 情報の忠実性
375
- - タスクspecの内容を改変せず、忠実に抽出して反映する
375
+ - Issue specの内容を改変せず、忠実に抽出して反映する
376
376
  - 要約や意訳は最小限にし、原文をできるだけ保持する
377
377
  - コードブロック、図表は完全な形で転記する
378
378
 
379
379
  ### トレーサビリティ
380
380
  - すべての反映内容に「ソース」情報を記録する
381
- - タスク名と日付を明記し、後から追跡可能にする
381
+ - Issue名と日付を明記し、後から追跡可能にする
382
382
  - 変更履歴が明確にわかるようにする
383
383
 
384
384
  ### 非破壊的マージ
@@ -392,18 +392,18 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
392
392
  - 最終確認を必ず行い、ユーザーの承認を得る
393
393
 
394
394
  ### 段階的な実行
395
- - 1つのタスクspecずつ処理する
395
+ - 1つのIssue specずつ処理する
396
396
  - 各ステップの結果を明確に表示する
397
- - エラーが発生しても他のタスクspecの処理を継続する
397
+ - エラーが発生しても他のIssue specの処理を継続する
398
398
 
399
399
  ## 出力フォーマット
400
400
 
401
401
  処理完了後、以下の形式でレポートを表示:
402
402
 
403
403
  ```markdown
404
- # タスク仕様書反映完了
404
+ # Issue仕様書反映完了
405
405
 
406
- ## 処理したタスク
406
+ ## 処理したIssue
407
407
  1. ✅ Monorepo Setup (20251104)
408
408
  - Feature: なし(Steeringのみ)
409
409
  - 反映先: architecture.md, db-design.md, product.md
@@ -432,17 +432,21 @@ allowed-tools: Read, Write, Edit, Bash, Grep, Glob
432
432
 
433
433
  ## 使用例
434
434
 
435
- ### 例1: 単一タスクの反映
435
+ ### 例1: 単一Issueの反映
436
436
  ```
437
- /update-docs-by-task-specs docs/specs/tasks/monorepo/20251104-monorepo-turborepo-nextjs-setup
437
+ /update-docs-by-issue-specs docs/specs/issues/monorepo/20251104-monorepo-turborepo-nextjs-setup
438
438
  ```
439
439
 
440
- ### 例2: 複数タスクの反映
440
+ ### 例2: 複数Issueの反映
441
441
  ```
442
- /update-docs-by-task-specs docs/specs/tasks/task1,docs/specs/tasks/task2,docs/specs/tasks/task3
442
+ /update-docs-by-issue-specs docs/specs/issues/issue1,docs/specs/issues/issue2,docs/specs/issues/issue3
443
443
  ```
444
444
 
445
445
  ### 例3: スペース区切り
446
446
  ```
447
- /update-docs-by-task-specs docs/specs/tasks/monorepo/20251104-monorepo-turborepo-nextjs-setup docs/specs/tasks/auth/20251105-login-feature
447
+ /update-docs-by-issue-specs docs/specs/issues/monorepo/20251104-monorepo-turborepo-nextjs-setup docs/specs/issues/auth/20251105-login-feature
448
448
  ```
449
+
450
+ <!-- @einja:project-private:start id="update-docs-by-issue-specs-project" -->
451
+ <!-- プロジェクト固有の情報を記入 -->
452
+ <!-- @einja:project-private:end -->
@@ -0,0 +1,27 @@
1
+ #!/bin/bash
2
+ # plan-mode-skill-loader.sh - Plan mode中にeinja-skill-firstのリマインダーを注入
3
+ #
4
+ # UserPromptSubmit hookとして設定
5
+ # permission_mode == "plan" の場合に、軽量リマインダーをadditionalContextとして注入
6
+ # 毎回注入しても2-3行なのでコスト無視可能。状態管理不要。
7
+
8
+ set -uo pipefail
9
+
10
+ input=$(cat)
11
+
12
+ # permission_modeを取得
13
+ permission_mode=$(echo "$input" | jq -r '.permission_mode // empty')
14
+
15
+ # Plan mode以外はスキップ
16
+ if [[ "$permission_mode" != "plan" ]]; then
17
+ exit 0
18
+ fi
19
+
20
+ # 軽量リマインダーを注入
21
+ # UserPromptSubmit の additionalContext は hookSpecificOutput 内に配置する必要がある
22
+ jq -n '{
23
+ "hookSpecificOutput": {
24
+ "hookEventName": "UserPromptSubmit",
25
+ "additionalContext": "【Plan mode自動リマインダー】計画作成前にeinja-skill-firstの評価を実施してください。.claude/skills/einja-skill-first/SKILL.mdを参照し、スキップ基準に該当しない場合はSkill作成の必要性を評価してください。スキップ基準(単発の小規模修正、既存キーワードトリガー一致、具体的かつ限定的な作業指示、1回限りの作業)に該当する場合は省略可。"
26
+ }
27
+ }'
@@ -1,4 +1,7 @@
1
1
  {
2
+ "env": {
3
+ "CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
4
+ },
2
5
  "includeCoAuthoredBy": false,
3
6
  "plansDirectory": "docs/plans",
4
7
  "permissions": {
@@ -75,6 +78,20 @@
75
78
  "mcp__playwright__browser_network_requests",
76
79
  "mcp__playwright__browser_close",
77
80
  "mcp__playwright__browser_resize",
81
+ "mcp__pencil__batch_design",
82
+ "mcp__pencil__batch_get",
83
+ "mcp__pencil__find_empty_space_on_canvas",
84
+ "mcp__pencil__get_editor_state",
85
+ "mcp__pencil__get_guidelines",
86
+ "mcp__pencil__get_screenshot",
87
+ "mcp__pencil__get_style_guide",
88
+ "mcp__pencil__get_style_guide_tags",
89
+ "mcp__pencil__get_variables",
90
+ "mcp__pencil__open_document",
91
+ "mcp__pencil__replace_all_matching_properties",
92
+ "mcp__pencil__search_all_unique_properties",
93
+ "mcp__pencil__set_variables",
94
+ "mcp__pencil__snapshot_layout",
78
95
  "mcp__serena",
79
96
  "mcp__serena__activate_project",
80
97
  "mcp__serena__check_onboarding_performed",
@@ -125,10 +142,6 @@
125
142
  {
126
143
  "type": "command",
127
144
  "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/einja/unset-volta-recursion.sh"
128
- },
129
- {
130
- "type": "command",
131
- "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/einja/validate-git-commit.sh"
132
145
  }
133
146
  ]
134
147
  },
@@ -182,9 +195,20 @@
182
195
  }
183
196
  ]
184
197
  }
198
+ ],
199
+ "UserPromptSubmit": [
200
+ {
201
+ "hooks": [
202
+ {
203
+ "type": "command",
204
+ "command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/einja/plan-mode-skill-loader.sh",
205
+ "timeout": 5000
206
+ }
207
+ ]
208
+ }
185
209
  ]
186
210
  },
187
211
  "enabledPlugins": {
188
212
  "code-simplifier@claude-plugins-official": true
189
213
  }
190
- }
214
+ }
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: general-context-loader
2
+ name: _einja-general-context-loader
3
3
  description: "spec(仕様書)が存在しない場合の文脈収集を担当するSkill。Issue本文、ユーザー指示、関連コードから要件を推測し、曖昧な点をAskUserQuestionで確認します"
4
4
  allowed-tools:
5
5
  - Read
@@ -203,7 +203,7 @@ interface Example {
203
203
 
204
204
  ### 推奨アクション
205
205
  1. ユーザーに追加情報を求める
206
- 2. または `/einja:spec-create` で仕様書を作成する
206
+ 2. または `einja-issue-spec-create` Skillで仕様書を作成する
207
207
  ```
208
208
 
209
209
  ---
@@ -252,3 +252,7 @@ interface Example {
252
252
  ---
253
253
 
254
254
  **最終更新**: 2025-01-10
255
+
256
+ <!-- @einja:project-private:start id="einja-general-context-loader-project" -->
257
+ <!-- プロジェクト固有の情報を記入 -->
258
+ <!-- @einja:project-private:end -->
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: output-format
2
+ name: _einja-output-format
3
3
  description: "サブエージェントの統一出力形式を定義"
4
4
  ---
5
5
 
@@ -205,3 +205,7 @@ description: "サブエージェントの統一出力形式を定義"
205
205
  - **エラーステータス**: ❌ FAILURE / ⚠️ PARTIAL
206
206
  - **エラー内容**: 具体的なエラーメッセージ
207
207
  - **次のアクション**: 推奨される対処方法
208
+
209
+ <!-- @einja:project-private:start id="einja-output-format-project" -->
210
+ <!-- プロジェクト固有の情報を記入 -->
211
+ <!-- @einja:project-private:end -->
@@ -0,0 +1,29 @@
1
+ ---
2
+ name: _einja-project-overview
3
+ description: "プロジェクトの全体構成・技術スタックの参照ハブ"
4
+ ---
5
+
6
+ # プロジェクト概要 Skill
7
+
8
+ ## 概要
9
+
10
+ このSkillは、プロジェクトの全体構成・技術スタックを把握したいときに参照するエントリポイントです。
11
+ 具体的な情報は以下のドキュメントを参照してください。
12
+
13
+ ## 参照ドキュメント
14
+
15
+ ### ドキュメントナビゲーション
16
+
17
+ @docs/einja/steering/README.md
18
+
19
+ ### プロダクトビジョン
20
+
21
+ @docs/einja/steering/product.md
22
+
23
+ ### アーキテクチャ・技術スタック
24
+
25
+ @docs/einja/steering/architecture.md
26
+
27
+ <!-- @einja:project-private:start id="einja-project-overview-project" -->
28
+ <!-- プロジェクト固有の情報を記入 -->
29
+ <!-- @einja:project-private:end -->
@@ -1,5 +1,5 @@
1
1
  ---
2
- name: spec-context-loader
2
+ name: _einja-spec-context-loader
3
3
  description: "spec(仕様書)が存在する場合の文脈収集を担当するSkill。requirements.md、design.md、qa-tests/から要件・設計・テスト仕様を抽出し、構造化して返却します"
4
4
  allowed-tools:
5
5
  - Read
@@ -145,7 +145,7 @@ interface Example {
145
145
 
146
146
  ### エラー内容
147
147
  - **原因**: [不足ファイル一覧 or エラー詳細]
148
- - **推奨アクション**: `/einja:spec-create` を実行して仕様書を完成させてください
148
+ - **推奨アクション**: `einja-issue-spec-create` Skill を実行して仕様書を完成させてください
149
149
  ```
150
150
 
151
151
  ---
@@ -155,9 +155,9 @@ interface Example {
155
155
  | エラー種別 | 原因 | 対処 |
156
156
  |-----------|------|------|
157
157
  | spec ディレクトリ不在 | 指定パスが存在しない | パスを確認して再実行 |
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 を実行 |
158
+ | requirements.md 不在 | Phase 1 未完了 | `einja-issue-spec-create` Skill で Phase 1 を実行 |
159
+ | design.md 不在 | Phase 3 未完了 | `einja-issue-spec-create` Skill で Phase 3 を実行 |
160
+ | qa-tests/ 不在 | Phase 4 未完了 | `einja-issue-spec-create` Skill で Phase 4 を実行 |
161
161
 
162
162
  ---
163
163
 
@@ -175,3 +175,7 @@ interface Example {
175
175
  ---
176
176
 
177
177
  **最終更新**: 2025-01-10
178
+
179
+ <!-- @einja:project-private:start id="einja-spec-context-loader-project" -->
180
+ <!-- プロジェクト固有の情報を記入 -->
181
+ <!-- @einja:project-private:end -->