@einja/dev-cli 0.1.41 → 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.
- package/dist/commands/task-loop/lib/github-client.test.js.map +1 -1
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js +2 -2
- package/dist/commands/task-loop/lib/vibe-kanban-rest-client.js.map +1 -1
- package/dist/lib/preset-update/file-copier.js +3 -3
- package/dist/lib/preset-update/file-copier.js.map +1 -1
- package/dist/lib/sync/marker-processor.js.map +1 -1
- package/dist/lib/sync/metadata-manager.js +1 -1
- package/dist/lib/sync/metadata-manager.js.map +1 -1
- package/dist/lib/sync/metadata-manager.test.js +3 -2
- package/dist/lib/sync/metadata-manager.test.js.map +1 -1
- package/dist/lib/sync/project-private-synchronizer.d.ts.map +1 -1
- package/dist/lib/sync/project-private-synchronizer.js +5 -1
- package/dist/lib/sync/project-private-synchronizer.js.map +1 -1
- package/package.json +1 -1
- package/presets/default/.claude/agents/einja/backend-architect.md +17 -1
- package/presets/default/.claude/agents/einja/codex-agent.md +1 -1
- package/presets/default/.claude/agents/einja/design-engineer.md +1 -1
- package/presets/default/.claude/agents/einja/docs/docs-updater.md +3 -93
- package/presets/default/.claude/agents/einja/frontend-architect.md +17 -1
- package/presets/default/.claude/agents/einja/frontend-coder.md +1 -1
- package/presets/default/.claude/agents/einja/{specs/spec-design-generator.md → issue-specs/design-generator.md} +12 -7
- package/presets/default/.claude/agents/einja/{specs/spec-qa-generator.md → issue-specs/qa-generator.md} +6 -4
- package/presets/default/.claude/agents/einja/{specs/spec-requirements-generator.md → issue-specs/requirements-generator.md} +5 -5
- package/presets/default/.claude/agents/einja/{specs/spec-tasks-generator.md → issue-specs/tasks-generator.md} +13 -14
- package/presets/default/.claude/agents/einja/{specs/spec-tasks-validator.md → issue-specs/tasks-validator.md} +9 -9
- package/presets/default/.claude/agents/einja/issue-specs/ui-design-generator.md +114 -0
- package/presets/default/.claude/agents/einja/task/task-executer.md +9 -3
- package/presets/default/.claude/agents/einja/task/task-modification-analyzer.md +2 -2
- package/presets/default/.claude/agents/einja/task/task-qa.md +3 -3
- package/presets/default/.claude/agents/einja/task/task-reviewer.md +13 -1
- package/presets/default/.claude/commands/einja/einja-sync.md +119 -44
- package/presets/default/.claude/commands/einja/issue-exec.md +29 -19
- package/presets/default/.claude/commands/einja/sync-cursor-commands.md +6 -6
- package/presets/default/.claude/commands/einja/{update-docs-by-task-specs.md → update-docs-by-issue-specs.md} +58 -58
- package/presets/default/.claude/hooks/einja/plan-mode-skill-loader.sh +5 -1
- package/presets/default/.claude/settings.json +14 -4
- package/presets/default/.claude/skills/{einja-general-context-loader → _einja-general-context-loader}/SKILL.md +2 -2
- package/presets/default/.claude/skills/{einja-output-format → _einja-output-format}/SKILL.md +1 -1
- package/presets/default/.claude/skills/_einja-project-overview/SKILL.md +29 -0
- package/presets/default/.claude/skills/{einja-spec-context-loader → _einja-spec-context-loader}/SKILL.md +5 -5
- package/presets/default/.claude/skills/einja-coding-standards/references/testing-strategy.md +899 -0
- package/presets/default/.claude/skills/einja-conflict-resolver/SKILL.md +1 -1
- package/presets/default/.claude/skills/einja-create-pr/SKILL.md +138 -0
- package/presets/default/.claude/skills/einja-infra-maintenance/SKILL.md +779 -0
- package/presets/default/.claude/{commands/einja/spec-create.md → skills/einja-issue-spec-create/SKILL.md} +47 -24
- package/presets/default/.claude/skills/einja-issue-spec-generator/SKILL.md +105 -0
- package/presets/default/.claude/skills/einja-issue-spec-generator/references/format-rules.md +35 -0
- package/presets/default/.claude/skills/einja-issue-spec-validator/SKILL.md +130 -0
- package/presets/default/.claude/skills/einja-issue-spec-validator/references/validation-rules.md +52 -0
- package/presets/default/.claude/skills/einja-npm-release/SKILL.md +242 -0
- package/presets/default/.claude/skills/einja-skill-creator/SKILL.md +68 -12
- package/presets/default/.claude/skills/einja-skill-creator/scripts/aggregate_benchmark.py +368 -121
- package/presets/default/.claude/skills/einja-skill-creator/scripts/compare_runs.py +154 -0
- package/presets/default/.claude/skills/einja-skill-creator/scripts/generate_report.py +14 -7
- package/presets/default/.claude/skills/einja-skill-creator/scripts/improve_description.py +2 -7
- package/presets/default/.claude/skills/einja-skill-creator/scripts/run_loop.py +263 -183
- package/presets/default/.claude/skills/einja-skill-first/SKILL.md +265 -0
- package/presets/default/.claude/skills/einja-subagent-question-protocol/SKILL.md +98 -0
- package/presets/default/.claude/skills/einja-task-commit/SKILL.md +7 -7
- package/presets/default/.claude/{commands/einja/task-exec.md → skills/einja-task-exec/SKILL.md} +3 -78
- package/presets/default/.claude/skills/einja-task-qa/SKILL.md +4 -4
- package/presets/default/.claude/skills/einja-task-qa/references/troubleshooting.md +1 -1
- package/presets/default/.claude/skills/einja-task-qa/references/usage-patterns.md +2 -2
- package/presets/default/.claude/skills/einja-team-exec/SKILL.md +165 -0
- package/presets/default/CLAUDE.md.template +21 -6
- package/presets/default/docs/einja/instructions/deployment-setup.md +1 -1
- package/presets/default/docs/einja/instructions/issue-exec-workflow.md +11 -11
- package/presets/default/docs/einja/instructions/local-server-environment-and-worktree.md +1 -1
- package/presets/default/docs/einja/instructions/setup-flow.md +279 -0
- package/presets/default/docs/einja/instructions/task-execute.md +42 -42
- package/presets/default/docs/einja/steering/acceptance-criteria-and-qa-guide.md +1 -1
- package/presets/default/docs/einja/steering/branch-strategy.md +1 -1
- package/presets/default/docs/einja/steering/development-workflow.md +93 -25
- package/presets/default/docs/einja/steering/infrastructure/deployment.md +107 -0
- package/presets/default/docs/einja/steering/task-management.md +9 -13
- package/presets/default/scripts/ensure-serena.sh +2 -2
- package/presets/default/scripts/env-rotate-secrets.ts +66 -6
- package/presets/default/scripts/init-github.ts +363 -0
- package/presets/default/scripts/init.sh +11 -5
- package/presets/default/scripts/setup-dev.ts +16 -1
- package/presets/default/.claude/agents/einja/git/conflict-resolver.md +0 -152
- package/presets/default/.claude/hooks/einja/validate-git-commit.sh +0 -239
- package/presets/default/.claude/skills/einja-project-overview/SKILL.md +0 -39
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
---
|
|
2
|
-
description: "
|
|
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
|
-
|
|
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-
|
|
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
|
-
|
|
37
|
+
各Issue specについて、どの機能(Feature)に関連するかを判定します。
|
|
38
38
|
|
|
39
39
|
**判定手順**:
|
|
40
|
-
1.
|
|
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仕様書への反映【
|
|
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
|
-
|
|
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
|
-
**ソース**: {
|
|
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
|
-
|
|
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
|
-
**ソース**: {
|
|
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
|
-
|
|
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
|
-
**ソース**: {
|
|
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仕様書への反映【
|
|
157
|
+
### 4. Steering仕様書への反映【Issue → Steering】
|
|
158
158
|
|
|
159
|
-
|
|
159
|
+
すべてのIssue specは、Steering仕様書にも反映されます。
|
|
160
160
|
|
|
161
161
|
#### 4.1 architecture.md への反映
|
|
162
162
|
|
|
163
163
|
**対象**: `docs/einja/steering/architecture.md`
|
|
164
164
|
|
|
165
|
-
|
|
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
|
-
**ソース**: {
|
|
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図は`<!--
|
|
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
|
-
|
|
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
|
-
**ソース**: {
|
|
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
|
-
|
|
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
|
-
**ソース**: {
|
|
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
|
-
###
|
|
293
|
+
### Issue: Monorepo Setup (20251104)
|
|
294
294
|
...
|
|
295
295
|
|
|
296
296
|
## 技術スタック
|
|
297
297
|
|
|
298
|
-
###
|
|
298
|
+
### Issue: Monorepo Setup (20251104)
|
|
299
299
|
...
|
|
300
300
|
|
|
301
301
|
## デプロイメント戦略
|
|
302
302
|
|
|
303
|
-
###
|
|
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
|
-
<!--
|
|
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
|
-
|
|
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
|
-
-
|
|
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
|
|
395
|
+
- 1つのIssue specずつ処理する
|
|
396
396
|
- 各ステップの結果を明確に表示する
|
|
397
|
-
-
|
|
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,21 +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-
|
|
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-
|
|
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-
|
|
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
449
|
|
|
450
|
-
<!-- @einja:project-private:start id="update-docs-by-
|
|
450
|
+
<!-- @einja:project-private:start id="update-docs-by-issue-specs-project" -->
|
|
451
451
|
<!-- プロジェクト固有の情報を記入 -->
|
|
452
452
|
<!-- @einja:project-private:end -->
|
|
@@ -18,6 +18,10 @@ if [[ "$permission_mode" != "plan" ]]; then
|
|
|
18
18
|
fi
|
|
19
19
|
|
|
20
20
|
# 軽量リマインダーを注入
|
|
21
|
+
# UserPromptSubmit の additionalContext は hookSpecificOutput 内に配置する必要がある
|
|
21
22
|
jq -n '{
|
|
22
|
-
"
|
|
23
|
+
"hookSpecificOutput": {
|
|
24
|
+
"hookEventName": "UserPromptSubmit",
|
|
25
|
+
"additionalContext": "【Plan mode自動リマインダー】計画作成前にeinja-skill-firstの評価を実施してください。.claude/skills/einja-skill-first/SKILL.mdを参照し、スキップ基準に該当しない場合はSkill作成の必要性を評価してください。スキップ基準(単発の小規模修正、既存キーワードトリガー一致、具体的かつ限定的な作業指示、1回限りの作業)に該当する場合は省略可。"
|
|
26
|
+
}
|
|
23
27
|
}'
|
|
@@ -78,6 +78,20 @@
|
|
|
78
78
|
"mcp__playwright__browser_network_requests",
|
|
79
79
|
"mcp__playwright__browser_close",
|
|
80
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",
|
|
81
95
|
"mcp__serena",
|
|
82
96
|
"mcp__serena__activate_project",
|
|
83
97
|
"mcp__serena__check_onboarding_performed",
|
|
@@ -128,10 +142,6 @@
|
|
|
128
142
|
{
|
|
129
143
|
"type": "command",
|
|
130
144
|
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/einja/unset-volta-recursion.sh"
|
|
131
|
-
},
|
|
132
|
-
{
|
|
133
|
-
"type": "command",
|
|
134
|
-
"command": "\"$CLAUDE_PROJECT_DIR\"/.claude/hooks/einja/validate-git-commit.sh"
|
|
135
145
|
}
|
|
136
146
|
]
|
|
137
147
|
},
|
|
@@ -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. または
|
|
206
|
+
2. または `einja-issue-spec-create` Skillで仕様書を作成する
|
|
207
207
|
```
|
|
208
208
|
|
|
209
209
|
---
|
|
@@ -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
|
-
- **推奨アクション**:
|
|
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 未完了 |
|
|
159
|
-
| design.md 不在 | Phase
|
|
160
|
-
| qa-tests/ 不在 | Phase
|
|
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
|
|