@sk8metal/michi-cli 0.8.7 → 0.11.0
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/CHANGELOG.md +70 -1
- package/README.md +77 -847
- package/dist/scripts/config/config-schema.d.ts +3 -0
- package/dist/scripts/config/config-schema.d.ts.map +1 -1
- package/dist/scripts/config/config-schema.js +18 -0
- package/dist/scripts/config/config-schema.js.map +1 -1
- package/dist/scripts/phase-runner.js +1 -1
- package/dist/scripts/phase-runner.js.map +1 -1
- package/dist/scripts/utils/multi-repo-validator.d.ts +38 -1
- package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
- package/dist/scripts/utils/multi-repo-validator.js +166 -1
- package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
- package/dist/scripts/utils/tasks-format-validator.js +3 -3
- package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
- package/docs/README.md +20 -83
- package/docs/getting-started/configuration.md +379 -0
- package/docs/getting-started/installation.md +59 -0
- package/docs/getting-started/quick-start.md +76 -0
- package/docs/guides/ai-tools.md +311 -0
- package/docs/guides/atlassian-integration.md +116 -0
- package/docs/guides/claude-code.md +155 -0
- package/docs/guides/multi-repo.md +117 -0
- package/docs/guides/workflow.md +382 -0
- package/docs/reference/ai-commands.md +92 -0
- package/docs/reference/cli.md +756 -0
- package/docs/reference/environment-variables.md +192 -0
- package/docs/troubleshooting.md +543 -0
- package/package.json +1 -1
- package/scripts/__tests__/multi-repo-config-schema.test.ts +106 -0
- package/scripts/__tests__/multi-repo-validator.test.ts +229 -1
- package/scripts/config/config-schema.ts +20 -0
- package/scripts/phase-runner.ts +1 -1
- package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
- package/scripts/utils/multi-repo-validator.ts +210 -1
- package/scripts/utils/tasks-format-validator.ts +3 -3
- package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
- package/templates/claude/agents/mermaid-validator/AGENT.md +257 -0
- package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
- package/templates/claude/commands/michi/e2e-plan.md +1 -1
- package/templates/claude/commands/michi/spec-design.md +2 -2
- package/templates/claude/commands/michi/spec-tasks.md +156 -0
- package/templates/claude/commands/michi/test-planning.md +1 -1
- package/templates/claude/commands/michi/validate-design.md +3 -3
- package/templates/claude/commands/michi-multi-repo/impl-all.md +293 -0
- package/templates/claude/commands/michi-multi-repo/propagate-specs.md +284 -0
- package/templates/claude/commands/michi-multi-repo/spec-design.md +66 -3
- package/templates/claude/commands/michi-multi-repo/spec-review.md +261 -0
- package/templates/claude/skills/mermaid-validator/SKILL.md +261 -0
- package/templates/claude-agent/agents/cross-repo-reviewer.md +194 -0
- package/templates/claude-agent/agents/repo-spec-executor.md +113 -0
- package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
- package/templates/claude-agent/rules/code-size-monitor.md +26 -0
- package/templates/claude-agent/rules/code-size-rules.md +32 -0
- package/templates/codex/AGENTS.override.md +1 -1
- package/templates/codex/rules/README.md +2 -2
- package/templates/cursor/commands/michi/spec-tasks.md +117 -0
- package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
- package/docs/context.md +0 -59
- package/docs/michi-development/contributing/development.md +0 -341
- package/docs/michi-development/contributing/release.md +0 -365
- package/docs/michi-development/design/config-unification.md +0 -733
- package/docs/michi-development/design/design-config-current-state.md +0 -330
- package/docs/michi-development/design/design-config-implementation.md +0 -628
- package/docs/michi-development/design/design-config-migration.md +0 -952
- package/docs/michi-development/design/design-config-security.md +0 -771
- package/docs/michi-development/design/design-config-solution.md +0 -583
- package/docs/michi-development/design/design-config-testing.md +0 -892
- package/docs/michi-development/testing/manual-verification-flow.md +0 -871
- package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
- package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
- package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
- package/docs/michi-development/testing-strategy.md +0 -87
- package/docs/plan.md +0 -275
- package/docs/user-guide/getting-started/github-token-setup.md +0 -510
- package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
- package/docs/user-guide/getting-started/quick-start.md +0 -212
- package/docs/user-guide/getting-started/setup.md +0 -819
- package/docs/user-guide/guides/agent-skills-integration.md +0 -222
- package/docs/user-guide/guides/customization.md +0 -537
- package/docs/user-guide/guides/internationalization.md +0 -540
- package/docs/user-guide/guides/migration-guide.md +0 -138
- package/docs/user-guide/guides/multi-project.md +0 -368
- package/docs/user-guide/guides/multi-repo-guide.md +0 -1147
- package/docs/user-guide/guides/phase-automation.md +0 -419
- package/docs/user-guide/guides/workflow.md +0 -584
- package/docs/user-guide/hands-on/README.md +0 -142
- package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
- package/docs/user-guide/hands-on/claude-setup.md +0 -452
- package/docs/user-guide/hands-on/cursor-setup.md +0 -353
- package/docs/user-guide/hands-on/troubleshooting.md +0 -964
- package/docs/user-guide/hands-on/verification-checklist.md +0 -439
- package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -909
- package/docs/user-guide/reference/config.md +0 -589
- package/docs/user-guide/reference/multi-repo-api.md +0 -771
- package/docs/user-guide/reference/quick-reference.md +0 -297
- package/docs/user-guide/reference/security-test-payloads.md +0 -50
- package/docs/user-guide/reference/tasks-template.md +0 -550
- package/docs/user-guide/release/ci-setup-java.md +0 -114
- package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
- package/docs/user-guide/release/ci-setup-php.md +0 -102
- package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
- package/docs/user-guide/release/ci-setup.md +0 -188
- package/docs/user-guide/release/release-flow.md +0 -476
- package/docs/user-guide/templates/test-specs/README.md +0 -173
- package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
- package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
- package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
- package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
- package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
- package/docs/user-guide/testing/integration-tests.md +0 -312
- package/docs/user-guide/testing/tdd-cycle.md +0 -349
- package/docs/user-guide/testing/test-execution-flow.md +0 -396
- package/docs/user-guide/testing/test-failure-handling.md +0 -521
- package/docs/user-guide/testing/test-planning-flow.md +0 -185
- package/docs/user-guide/testing-strategy.md +0 -185
- package/docs/verification-guide.md +0 -518
|
@@ -35,7 +35,7 @@ export function validateTasksFormat(tasksPath: string): void {
|
|
|
35
35
|
throw new Error(
|
|
36
36
|
'tasks.md appears to be in AI-DLC format instead of Michi workflow format.\n' +
|
|
37
37
|
'Detected "- [ ] 1." pattern without Phase structure.\n' +
|
|
38
|
-
'Please regenerate tasks.md using /
|
|
38
|
+
'Please regenerate tasks.md using /michi:spec-tasks command with correct template.',
|
|
39
39
|
);
|
|
40
40
|
}
|
|
41
41
|
|
|
@@ -72,7 +72,7 @@ export function validateTasksFormat(tasksPath: string): void {
|
|
|
72
72
|
'tasks.md does not match either workflow structure.\n\n' +
|
|
73
73
|
`Missing required phases (new workflow):\n${missingNewPhases.map((p) => ` - ${p}`).join('\n')}\n\n` +
|
|
74
74
|
`Missing phases (legacy workflow):\n${missingLegacyPhases.map((p) => ` - ${p}`).join('\n')}\n\n` +
|
|
75
|
-
'Please regenerate tasks.md using /
|
|
75
|
+
'Please regenerate tasks.md using /michi:spec-tasks command with the latest template.',
|
|
76
76
|
);
|
|
77
77
|
}
|
|
78
78
|
|
|
@@ -100,7 +100,7 @@ export function validateTasksFormat(tasksPath: string): void {
|
|
|
100
100
|
throw new Error(
|
|
101
101
|
'tasks.md does not contain valid Story headers.\n' +
|
|
102
102
|
'Expected format: "### Story X.Y: Title"\n' +
|
|
103
|
-
'Please regenerate tasks.md using /
|
|
103
|
+
'Please regenerate tasks.md using /michi:spec-tasks command.',
|
|
104
104
|
);
|
|
105
105
|
}
|
|
106
106
|
|
|
@@ -3,7 +3,7 @@ name: e2e-first-planner
|
|
|
3
3
|
description: |
|
|
4
4
|
E2Eファースト開発計画を自動生成する実行エージェント。
|
|
5
5
|
Walking Skeleton、MVP計画、縦割りタスク分割を提案。
|
|
6
|
-
タスク分割フェーズ(/
|
|
6
|
+
タスク分割フェーズ(/michi:spec-tasks実行時)に PROACTIVELY 使用してください。
|
|
7
7
|
allowed-tools: Bash, Read, Grep, Glob
|
|
8
8
|
---
|
|
9
9
|
|
|
@@ -0,0 +1,257 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: mermaid-validator
|
|
3
|
+
description: |
|
|
4
|
+
Mermaid図の構文検証と自動修正を行う実行エージェント。
|
|
5
|
+
architecture.md生成時やドキュメント編集時に PROACTIVELY 使用してください。
|
|
6
|
+
allowed-tools: Bash, Read, Grep, Glob, Edit, Write, WebFetch
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
# Mermaid Validator Agent
|
|
10
|
+
|
|
11
|
+
## 目的
|
|
12
|
+
|
|
13
|
+
Markdownファイル内のMermaid図を検証し、構文エラーを検出して自動修正する。
|
|
14
|
+
|
|
15
|
+
## 前提条件
|
|
16
|
+
|
|
17
|
+
- Mermaid図を含むMarkdownファイルが存在
|
|
18
|
+
- 検証対象: `docs/**/*.md`, `*.md`
|
|
19
|
+
|
|
20
|
+
## 参照すべきスキル
|
|
21
|
+
|
|
22
|
+
実行前に必ず `.claude/skills/mermaid-validator/SKILL.md` を確認し、そのガイドラインに従ってMermaid図を検証してください。
|
|
23
|
+
|
|
24
|
+
## 実行フロー
|
|
25
|
+
|
|
26
|
+
### Step 1: Mermaid図の検出
|
|
27
|
+
|
|
28
|
+
```bash
|
|
29
|
+
# Mermaid図を含むMarkdownファイルを検索
|
|
30
|
+
echo "=== Mermaid diagrams found in: ==="
|
|
31
|
+
find . -name "*.md" -exec grep -l '```mermaid' {} \; | head -20
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
### Step 2: Mermaid図の抽出と検証
|
|
35
|
+
|
|
36
|
+
各ファイルから Mermaid ブロックを抽出し、構文チェックを実行:
|
|
37
|
+
|
|
38
|
+
```bash
|
|
39
|
+
# ファイルからMermaid図を抽出
|
|
40
|
+
FILE="docs/michi/project/overview/architecture.md"
|
|
41
|
+
|
|
42
|
+
# Mermaidブロックを抽出
|
|
43
|
+
sed -n '/```mermaid/,/```/p' "$FILE" > /tmp/extracted-mermaid.txt
|
|
44
|
+
|
|
45
|
+
# 抽出結果を確認
|
|
46
|
+
cat /tmp/extracted-mermaid.txt
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
### Step 3: 構文エラーの検出
|
|
50
|
+
|
|
51
|
+
以下の項目をチェック:
|
|
52
|
+
|
|
53
|
+
#### 3.1 C4モデルの検証
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
# C4モデルの構文チェック
|
|
57
|
+
grep -E 'C4(Context|Container|Component)' /tmp/extracted-mermaid.txt
|
|
58
|
+
|
|
59
|
+
# タイトル行のチェック(コロンが含まれていないか)
|
|
60
|
+
grep -E '^\s*title:' /tmp/extracted-mermaid.txt && echo "ERROR: 'title:' should be 'title' (no colon)"
|
|
61
|
+
|
|
62
|
+
# Rel()の引数チェック(4つの引数が必須)
|
|
63
|
+
grep -E 'Rel\(' /tmp/extracted-mermaid.txt | grep -v 'Rel([^,]+,[^,]+,[^,]+,[^,]+)' && echo "WARNING: Rel() requires 4 arguments"
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
#### 3.2 シーケンス図の検証
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
# シーケンス図の矢印記法チェック
|
|
70
|
+
grep -E 'sequenceDiagram' /tmp/extracted-mermaid.txt && {
|
|
71
|
+
# 不正な矢印記法を検出(->, -->, -x ではなく ->>, -->>, ->> を使用すべき)
|
|
72
|
+
grep -E '([A-Za-z]+)->([A-Za-z]+):' /tmp/extracted-mermaid.txt && echo "WARNING: Use '->' instead of '->'"
|
|
73
|
+
}
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
#### 3.3 グラフの検証
|
|
77
|
+
|
|
78
|
+
```bash
|
|
79
|
+
# サブグラフのインデントチェック
|
|
80
|
+
grep -E 'subgraph' /tmp/extracted-mermaid.txt && {
|
|
81
|
+
# サブグラフの直後の行がインデントされていない場合
|
|
82
|
+
grep -A 1 'subgraph' /tmp/extracted-mermaid.txt | grep -v '^\s\+' && echo "WARNING: Subgraph content should be indented"
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
#### 3.4 ER図の検証
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
# ER図のリレーションシップ記法チェック
|
|
90
|
+
grep -E 'erDiagram' /tmp/extracted-mermaid.txt && {
|
|
91
|
+
# 不正なリレーションシップ記法を検出
|
|
92
|
+
grep -E '([A-Z_]+)\s*->\s*([A-Z_]+)' /tmp/extracted-mermaid.txt && echo "ERROR: Use proper ER relationship notation (e.g., ||--o{)"
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
### Step 4: 自動修正
|
|
97
|
+
|
|
98
|
+
検出されたエラーを自動修正:
|
|
99
|
+
|
|
100
|
+
#### 修正ルール1: C4モデルのタイトル修正
|
|
101
|
+
|
|
102
|
+
```bash
|
|
103
|
+
# "title: System Context" → "title System Context"
|
|
104
|
+
sed -i 's/^\s*title:\s*/ title /g' "$FILE"
|
|
105
|
+
```
|
|
106
|
+
|
|
107
|
+
#### 修正ルール2: シーケンス図の矢印記法修正
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
# "->" → "->>"(同期呼び出し)
|
|
111
|
+
# ただし、既に "-->" の場合は修正しない
|
|
112
|
+
sed -i 's/\([A-Za-z]\+\)->\([A-Za-z]\+\):/\1->>\2:/g' "$FILE"
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
#### 修正ルール3: サブグラフのインデント修正
|
|
116
|
+
|
|
117
|
+
```bash
|
|
118
|
+
# サブグラフ内のインデントを自動追加(簡易版)
|
|
119
|
+
# 実際の実装では、構文解析が必要
|
|
120
|
+
# ここではガイダンスのみ提供
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
#### 修正ルール4: ER図のリレーションシップ記法修正
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# 簡易的な修正例(実際にはコンテキストに応じて調整が必要)
|
|
127
|
+
# 1対多の場合
|
|
128
|
+
sed -i 's/\([A-Z_]\+\)\s*->\s*\([A-Z_]\+\)/\1 ||--o{ \2/g' "$FILE"
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
### Step 5: 検証レポート出力
|
|
132
|
+
|
|
133
|
+
修正内容をレポート形式で出力:
|
|
134
|
+
|
|
135
|
+
```markdown
|
|
136
|
+
# Mermaid検証レポート
|
|
137
|
+
|
|
138
|
+
## 検証日時
|
|
139
|
+
YYYY-MM-DD HH:MM:SS
|
|
140
|
+
|
|
141
|
+
## 検証対象ファイル
|
|
142
|
+
- `docs/michi/project/overview/architecture.md`
|
|
143
|
+
- `docs/michi/project/overview/sequence.md`
|
|
144
|
+
|
|
145
|
+
## 検出されたエラー
|
|
146
|
+
|
|
147
|
+
### Critical(即時修正必要)
|
|
148
|
+
|
|
149
|
+
#### architecture.md:15 - C4モデル: タイトル記法エラー
|
|
150
|
+
- **エラー内容**: `title: System Context Diagram`
|
|
151
|
+
- **修正内容**: `title System Context Diagram`
|
|
152
|
+
- **ステータス**: ✅ 自動修正済み
|
|
153
|
+
|
|
154
|
+
#### sequence.md:8 - シーケンス図: 矢印記法エラー
|
|
155
|
+
- **エラー内容**: `User->Frontend: リクエスト`
|
|
156
|
+
- **修正内容**: `User->>Frontend: リクエスト`
|
|
157
|
+
- **ステータス**: ✅ 自動修正済み
|
|
158
|
+
|
|
159
|
+
### Warning(推奨修正)
|
|
160
|
+
|
|
161
|
+
#### architecture.md:45 - グラフ: サブグラフのインデント不足
|
|
162
|
+
- **エラー内容**: サブグラフ内の要素がインデントされていない
|
|
163
|
+
- **推奨修正**: 4スペースでインデント
|
|
164
|
+
- **ステータス**: ⚠️ 手動修正を推奨
|
|
165
|
+
|
|
166
|
+
### Info(任意対応)
|
|
167
|
+
|
|
168
|
+
#### design.md:30 - Rel()の引数が3つのみ
|
|
169
|
+
- **警告内容**: `Rel(user, system, "Uses")`
|
|
170
|
+
- **推奨修正**: プロトコル情報を追加 `Rel(user, system, "Uses", "HTTPS")`
|
|
171
|
+
- **ステータス**: 🟢 動作するが推奨形式ではない
|
|
172
|
+
|
|
173
|
+
## サマリー
|
|
174
|
+
|
|
175
|
+
- **検証ファイル数**: 3
|
|
176
|
+
- **検出エラー数**: 5
|
|
177
|
+
- Critical: 2(自動修正済み)
|
|
178
|
+
- Warning: 2(要手動修正)
|
|
179
|
+
- Info: 1(任意対応)
|
|
180
|
+
|
|
181
|
+
## 修正済みファイル
|
|
182
|
+
|
|
183
|
+
以下のファイルが自動修正されました:
|
|
184
|
+
- `docs/michi/project/overview/architecture.md`
|
|
185
|
+
- `docs/michi/project/overview/sequence.md`
|
|
186
|
+
|
|
187
|
+
## 次のステップ
|
|
188
|
+
|
|
189
|
+
1. 修正内容を確認: `git diff docs/michi/project/overview/architecture.md`
|
|
190
|
+
2. 残りのWarningを手動修正
|
|
191
|
+
3. Mermaid Live Editorで最終確認: https://mermaid.live/
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
## 安全性ルール
|
|
195
|
+
|
|
196
|
+
### 自動修正の範囲
|
|
197
|
+
|
|
198
|
+
- ✅ 明らかな構文エラー(タイトル記法、矢印記法)
|
|
199
|
+
- ✅ インデントの正規化
|
|
200
|
+
- ❌ **構造的な変更は行わない**(ノード追加、削除、関係性変更)
|
|
201
|
+
|
|
202
|
+
### 必須確認ケース
|
|
203
|
+
|
|
204
|
+
1. **修正前のバックアップ**: 元のファイルを`.backup`として保存
|
|
205
|
+
2. **修正内容の報告**: どのような修正を行ったかを明示
|
|
206
|
+
3. **手動確認推奨**: 複雑な図は手動確認を推奨
|
|
207
|
+
|
|
208
|
+
### 禁止事項
|
|
209
|
+
|
|
210
|
+
- ❌ ユーザー確認なしでの構造的変更
|
|
211
|
+
- ❌ 図の意味を変える修正
|
|
212
|
+
- ❌ ノードやリレーションシップの追加・削除
|
|
213
|
+
|
|
214
|
+
### 推奨パターン
|
|
215
|
+
|
|
216
|
+
```
|
|
217
|
+
AIエージェント:
|
|
218
|
+
「Mermaid図の検証結果:
|
|
219
|
+
|
|
220
|
+
🔴 Critical (2件)
|
|
221
|
+
- architecture.md:15 - C4モデルのタイトル記法エラー → 自動修正済み
|
|
222
|
+
- sequence.md:8 - シーケンス図の矢印記法エラー → 自動修正済み
|
|
223
|
+
|
|
224
|
+
⚠️ Warning (1件)
|
|
225
|
+
- architecture.md:45 - サブグラフのインデント不足 → 手動修正を推奨
|
|
226
|
+
|
|
227
|
+
修正内容を確認しますか?
|
|
228
|
+
A) git diffで差分確認
|
|
229
|
+
B) Mermaid Live Editorで動作確認
|
|
230
|
+
C) そのまま続行」
|
|
231
|
+
```
|
|
232
|
+
|
|
233
|
+
## Mermaid Live Editorでの検証
|
|
234
|
+
|
|
235
|
+
修正後、Mermaid Live Editorで最終確認を推奨:
|
|
236
|
+
|
|
237
|
+
```bash
|
|
238
|
+
# 修正後のMermaid図を抽出
|
|
239
|
+
sed -n '/```mermaid/,/```/p' architecture.md | sed '1d;$d' > /tmp/diagram.mmd
|
|
240
|
+
|
|
241
|
+
echo "以下のURLで図を確認してください:"
|
|
242
|
+
echo "https://mermaid.live/"
|
|
243
|
+
echo ""
|
|
244
|
+
echo "下記のコードをエディタに貼り付けてください:"
|
|
245
|
+
cat /tmp/diagram.mmd
|
|
246
|
+
```
|
|
247
|
+
|
|
248
|
+
## CI/CD統合
|
|
249
|
+
|
|
250
|
+
バージョン管理に組み込む場合、`ci-cd` スキル(`.claude/skills/ci-cd/SKILL.md`)を参照してください。
|
|
251
|
+
|
|
252
|
+
## 参考資料
|
|
253
|
+
|
|
254
|
+
- [Mermaid公式ドキュメント](https://mermaid.js.org/)
|
|
255
|
+
- [Mermaid Live Editor](https://mermaid.live/)
|
|
256
|
+
- [C4モデルガイド](https://c4model.com/)
|
|
257
|
+
- [Mermaid CLI](https://github.com/mermaid-js/mermaid-cli)
|
|
@@ -30,15 +30,27 @@ gh pr view <PR番号> --json number,title,state
|
|
|
30
30
|
|
|
31
31
|
GitHub GraphQL APIでreviewThreadsを取得(`isResolved: false`)
|
|
32
32
|
|
|
33
|
-
### 3.
|
|
33
|
+
### 3. CI/CDステータス確認
|
|
34
|
+
|
|
35
|
+
CI/CDステータスを確認し、失敗しているjobがあれば、原因調査
|
|
36
|
+
|
|
37
|
+
### 4. 未resolveスレッドについて対応するかどうか判断する
|
|
38
|
+
|
|
39
|
+
tasks.mdを参考に、今後のタスクとして対応予定のものなのか、それとも、今すぐに対応すべき課題なのかを判断する
|
|
40
|
+
|
|
41
|
+
### 5. CI/CDステータスが失敗だった時の対応
|
|
42
|
+
|
|
43
|
+
失敗しているjobについてログを確認し、事実ベースで解決策を検討
|
|
44
|
+
|
|
45
|
+
### 6. ユーザー確認
|
|
34
46
|
|
|
35
47
|
resolveするスレッドを提示し、確認を得る。
|
|
36
48
|
|
|
37
|
-
###
|
|
49
|
+
### 7. resolve実行
|
|
38
50
|
|
|
39
51
|
`resolveReviewThread` mutationを実行。
|
|
40
52
|
|
|
41
|
-
###
|
|
53
|
+
### 8. 結果報告
|
|
42
54
|
|
|
43
55
|
resolve済みスレッド数とステータスを報告。
|
|
44
56
|
|
|
@@ -66,10 +66,10 @@ Phase 0.3-0.4 完了後、以下のステップに進んでください:
|
|
|
66
66
|
|
|
67
67
|
**推奨フロー**:
|
|
68
68
|
1. `/michi:validate-design {feature}` で設計レビューを実施(任意)
|
|
69
|
-
2. `/
|
|
69
|
+
2. `/michi:spec-tasks {feature}` でタスク生成
|
|
70
70
|
|
|
71
71
|
**クイックフロー**:
|
|
72
|
-
- `/
|
|
72
|
+
- `/michi:spec-tasks {feature} -y` で自動承認してタスク生成
|
|
73
73
|
|
|
74
74
|
**重要**: テスト計画(Phase 0.3-0.4)を完了してからタスク生成することで、実装タスクにテスト実装が適切に含まれます。
|
|
75
75
|
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: /michi:spec-tasks
|
|
3
|
+
description: Generate implementation tasks with JIRA sync option (Michi version)
|
|
4
|
+
allowed-tools: Read, Write, Edit, MultiEdit, Glob, Grep, Bash
|
|
5
|
+
argument-hint: <feature-name> [-y] [--sequential]
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# Michi: Spec Tasks with JIRA Sync Option
|
|
9
|
+
|
|
10
|
+
## Base Command Reference
|
|
11
|
+
@.claude/commands/kiro/spec-tasks.md
|
|
12
|
+
|
|
13
|
+
## Development Guidelines
|
|
14
|
+
{{DEV_GUIDELINES}}
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Michi Extension: JIRA Sync Prompt
|
|
19
|
+
|
|
20
|
+
このコマンドは cc-sdd 標準の `/kiro:spec-tasks` を拡張し、タスク生成完了後にJIRA同期オプションを提示します。
|
|
21
|
+
|
|
22
|
+
### 機能追加内容
|
|
23
|
+
|
|
24
|
+
1. **タスク生成完了後の次ステップ案内**:
|
|
25
|
+
- JIRA連携が設定されている場合: JIRA同期の選択肢(A/B/C形式)を表示
|
|
26
|
+
- JIRA連携が未設定の場合: 実装フェーズへの案内 + JIRA設定ヒントを表示
|
|
27
|
+
|
|
28
|
+
2. **環境変数による条件分岐**:
|
|
29
|
+
- 以下の環境変数がすべて設定されている場合のみ、JIRA同期の選択肢を表示
|
|
30
|
+
- `ATLASSIAN_URL`
|
|
31
|
+
- `ATLASSIAN_EMAIL`
|
|
32
|
+
- `ATLASSIAN_API_TOKEN`
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## タスク生成完了後のフロー
|
|
37
|
+
|
|
38
|
+
基底コマンド `/kiro:spec-tasks` によるタスク生成が完了した後、以下のフローを実行してください:
|
|
39
|
+
|
|
40
|
+
### Step 1: 環境変数チェック
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# JIRA連携の環境変数をチェック
|
|
44
|
+
if [ -n "$ATLASSIAN_URL" ] && [ -n "$ATLASSIAN_EMAIL" ] && [ -n "$ATLASSIAN_API_TOKEN" ]; then
|
|
45
|
+
JIRA_CONFIGURED=true
|
|
46
|
+
else
|
|
47
|
+
JIRA_CONFIGURED=false
|
|
48
|
+
fi
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Step 2a: JIRA連携が設定されている場合の表示
|
|
52
|
+
|
|
53
|
+
`JIRA_CONFIGURED=true` の場合、以下のメッセージと選択肢を表示:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
============================================
|
|
57
|
+
タスク生成完了 - JIRA同期オプション
|
|
58
|
+
============================================
|
|
59
|
+
|
|
60
|
+
次のアクション:
|
|
61
|
+
A) JIRAにタスクを同期する(推奨: タスク管理を一元化)
|
|
62
|
+
→ `michi jira:sync {{FEATURE_NAME}}` を実行
|
|
63
|
+
|
|
64
|
+
B) JIRAへの同期をスキップして実装に進む
|
|
65
|
+
→ `/michi:spec-impl {{FEATURE_NAME}}` を実行
|
|
66
|
+
|
|
67
|
+
C) 何もせずにこのまま終了する
|
|
68
|
+
|
|
69
|
+
選択 (A/B/C): _
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
**選択肢の説明**:
|
|
73
|
+
- **A**: Epic/Story/Subtaskを自動作成し、タスクをJIRAに同期します
|
|
74
|
+
- **B**: JIRA同期をスキップして直接TDD実装フェーズに進みます
|
|
75
|
+
- **C**: タスク生成のみで終了し、ユーザーが手動で次のステップを選択します
|
|
76
|
+
|
|
77
|
+
### Step 2b: JIRA連携が未設定の場合の表示
|
|
78
|
+
|
|
79
|
+
`JIRA_CONFIGURED=false` の場合、以下のメッセージを表示:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
============================================
|
|
83
|
+
タスク生成完了
|
|
84
|
+
============================================
|
|
85
|
+
|
|
86
|
+
次のステップ:
|
|
87
|
+
→ `/michi:spec-impl {{FEATURE_NAME}}` で実装を開始
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
ℹ️ ヒント: JIRA連携を使用すると、タスクを自動的にJIRAに同期できます。
|
|
91
|
+
|
|
92
|
+
設定方法: 以下の環境変数を .env に追加してください:
|
|
93
|
+
- ATLASSIAN_URL=https://your-domain.atlassian.net
|
|
94
|
+
- ATLASSIAN_EMAIL=your-email@company.com
|
|
95
|
+
- ATLASSIAN_API_TOKEN=your-api-token
|
|
96
|
+
|
|
97
|
+
詳細はドキュメントを参照: docs/guides/atlassian-integration.md
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
## Michi Extension: Task Diff Size Guidelines
|
|
103
|
+
|
|
104
|
+
タスク分割時に、各サブタスクの git diff サイズを考慮してください。
|
|
105
|
+
|
|
106
|
+
### 推奨サイズ
|
|
107
|
+
- **目標**: 各サブタスクで 200-400 行の diff
|
|
108
|
+
- **最大**: 500 行まで(超過時は分割を検討)
|
|
109
|
+
- **警告**: 400行超過時は分割を推奨
|
|
110
|
+
|
|
111
|
+
### 除外対象ファイル(行数カウント対象外)
|
|
112
|
+
- **ロックファイル**: package-lock.json, yarn.lock, pnpm-lock.yaml, composer.lock, Gemfile.lock, poetry.lock, Pipfile.lock, Cargo.lock, go.sum
|
|
113
|
+
- **自動生成ファイル**: *.min.js, *.min.css, *.map, dist/*, build/*, coverage/*, .next/*, *.d.ts, *.generated.ts, __snapshots__/*
|
|
114
|
+
|
|
115
|
+
### 分割戦略
|
|
116
|
+
|
|
117
|
+
タスクが大きすぎる場合の分割方法:
|
|
118
|
+
|
|
119
|
+
1. **水平分割(レイヤー別)**
|
|
120
|
+
- model/repository → service/logic → controller/handler
|
|
121
|
+
- 例: 「User CRUD」→「User model作成」「User service作成」「User controller作成」
|
|
122
|
+
|
|
123
|
+
2. **垂直分割(機能スライス別)**
|
|
124
|
+
- core機能 → validation → error handling → edge cases
|
|
125
|
+
- 例: 「認証機能」→「ログインcore」「バリデーション追加」「エラーハンドリング」
|
|
126
|
+
|
|
127
|
+
3. **フェーズ分割(段階別)**
|
|
128
|
+
- 基本実装 → テスト追加 → 最適化
|
|
129
|
+
- 例: 「検索機能」→「基本検索」「フィルター追加」「パフォーマンス最適化」
|
|
130
|
+
|
|
131
|
+
### タスク生成時の確認事項
|
|
132
|
+
|
|
133
|
+
タスク分割完了後、以下を確認してください:
|
|
134
|
+
|
|
135
|
+
- [ ] 各サブタスクの予想diff行数が500行以内か
|
|
136
|
+
- [ ] 大きなサブタスクは適切に分割されているか
|
|
137
|
+
- [ ] ロックファイルや自動生成ファイルを含むタスクはその旨が明記されているか
|
|
138
|
+
|
|
139
|
+
---
|
|
140
|
+
|
|
141
|
+
## 実装上の注意点
|
|
142
|
+
|
|
143
|
+
1. **基底コマンドの実行結果を維持**:
|
|
144
|
+
- `/kiro:spec-tasks` の「Output Description」セクションで出力されるタスクサマリーは維持してください
|
|
145
|
+
- Michi Extensionの選択肢はその**後**に追加で表示します
|
|
146
|
+
|
|
147
|
+
2. **言語設定の考慮**:
|
|
148
|
+
- メッセージは日本語固定(将来的にspec.jsonの言語設定に対応する可能性あり)
|
|
149
|
+
|
|
150
|
+
3. **ユーザーインタラクション**:
|
|
151
|
+
- 選択肢を表示した後、ユーザーの入力を待ちます
|
|
152
|
+
- 選択に応じて適切なコマンド/処理を案内または実行してください
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
**Michi 固有機能**: このコマンドは cc-sdd 標準の `/kiro:spec-tasks` を拡張し、Phase 0.6(JIRA同期)への誘導を Next Phase として案内します。また、タスク粒度ガイドライン(git diff 500行制限)を提供し、適切なタスク分割を支援します。
|
|
@@ -153,7 +153,7 @@ This command will:
|
|
|
153
153
|
### Or: Proceed to Task Generation
|
|
154
154
|
|
|
155
155
|
```bash
|
|
156
|
-
/
|
|
156
|
+
/michi:spec-tasks {feature-name} [-y]
|
|
157
157
|
```
|
|
158
158
|
|
|
159
159
|
This will generate implementation tasks based on requirements, design, and test specifications.
|
|
@@ -42,15 +42,15 @@ Phase 0.3-0.4 が未完了の場合は、タスク生成前に完了すること
|
|
|
42
42
|
- 統合テスト: `docs/user-guide/templates/test-specs/integration-test-spec-template.md`
|
|
43
43
|
- 出力先: `.kiro/specs/$1/test-specs/`
|
|
44
44
|
|
|
45
|
-
3. **完了後**: `/
|
|
45
|
+
3. **完了後**: `/michi:spec-tasks $1` でタスク生成に進む
|
|
46
46
|
|
|
47
47
|
### Next Phase Guidance
|
|
48
48
|
|
|
49
49
|
**テスト計画完了済みの場合**:
|
|
50
|
-
- `/
|
|
50
|
+
- `/michi:spec-tasks $1` でタスク生成
|
|
51
51
|
|
|
52
52
|
**テスト計画未完了の場合**:
|
|
53
|
-
- Phase 0.3-0.4 を実施してから `/
|
|
53
|
+
- Phase 0.3-0.4 を実施してから `/michi:spec-tasks $1`
|
|
54
54
|
- または `/michi:spec-design $1` を再実行して Next Phase ガイダンスを確認
|
|
55
55
|
|
|
56
56
|
---
|