@sk8metal/michi-cli 0.0.8 → 0.0.9
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 +33 -0
- package/README.md +202 -9
- package/dist/scripts/__tests__/setup-existing-project.test.js +67 -5
- package/dist/scripts/__tests__/setup-existing-project.test.js.map +1 -1
- package/dist/scripts/constants/__tests__/environments.test.d.ts +2 -0
- package/dist/scripts/constants/__tests__/environments.test.d.ts.map +1 -0
- package/dist/scripts/constants/__tests__/environments.test.js +91 -0
- package/dist/scripts/constants/__tests__/environments.test.js.map +1 -0
- package/dist/scripts/constants/__tests__/languages.test.d.ts +2 -0
- package/dist/scripts/constants/__tests__/languages.test.d.ts.map +1 -0
- package/dist/scripts/constants/__tests__/languages.test.js +82 -0
- package/dist/scripts/constants/__tests__/languages.test.js.map +1 -0
- package/dist/scripts/constants/environments.d.ts +33 -0
- package/dist/scripts/constants/environments.d.ts.map +1 -0
- package/dist/scripts/constants/environments.js +49 -0
- package/dist/scripts/constants/environments.js.map +1 -0
- package/dist/scripts/constants/languages.d.ts +23 -0
- package/dist/scripts/constants/languages.d.ts.map +1 -0
- package/dist/scripts/constants/languages.js +53 -0
- package/dist/scripts/constants/languages.js.map +1 -0
- package/dist/scripts/create-project.d.ts +4 -0
- package/dist/scripts/create-project.d.ts.map +1 -1
- package/dist/scripts/create-project.js +51 -22
- package/dist/scripts/create-project.js.map +1 -1
- package/dist/scripts/setup-existing-project.d.ts +3 -1
- package/dist/scripts/setup-existing-project.d.ts.map +1 -1
- package/dist/scripts/setup-existing-project.js +110 -55
- package/dist/scripts/setup-existing-project.js.map +1 -1
- package/dist/scripts/template/__tests__/renderer.test.d.ts +2 -0
- package/dist/scripts/template/__tests__/renderer.test.d.ts.map +1 -0
- package/dist/scripts/template/__tests__/renderer.test.js +165 -0
- package/dist/scripts/template/__tests__/renderer.test.js.map +1 -0
- package/dist/scripts/template/renderer.d.ts +70 -0
- package/dist/scripts/template/renderer.d.ts.map +1 -0
- package/dist/scripts/template/renderer.js +99 -0
- package/dist/scripts/template/renderer.js.map +1 -0
- package/dist/scripts/utils/template-finder.d.ts +37 -0
- package/dist/scripts/utils/template-finder.d.ts.map +1 -0
- package/dist/scripts/utils/template-finder.js +63 -0
- package/dist/scripts/utils/template-finder.js.map +1 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.js +125 -0
- package/dist/src/__tests__/integration/setup/claude-agent.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/claude.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/claude.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/claude.test.js +111 -0
- package/dist/src/__tests__/integration/setup/claude.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/cursor.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/cursor.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/cursor.test.js +162 -0
- package/dist/src/__tests__/integration/setup/cursor.test.js.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts +32 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js +72 -0
- package/dist/src/__tests__/integration/setup/helpers/fs-assertions.js.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts +38 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.js +83 -0
- package/dist/src/__tests__/integration/setup/helpers/test-project.js.map +1 -0
- package/dist/src/__tests__/integration/setup/validation.test.d.ts +5 -0
- package/dist/src/__tests__/integration/setup/validation.test.d.ts.map +1 -0
- package/dist/src/__tests__/integration/setup/validation.test.js +318 -0
- package/dist/src/__tests__/integration/setup/validation.test.js.map +1 -0
- package/dist/src/cli.d.ts.map +1 -1
- package/dist/src/cli.js +20 -0
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/setup-existing.d.ts +22 -0
- package/dist/src/commands/setup-existing.d.ts.map +1 -0
- package/dist/src/commands/setup-existing.js +408 -0
- package/dist/src/commands/setup-existing.js.map +1 -0
- package/dist/vitest.config.d.ts.map +1 -1
- package/dist/vitest.config.js +4 -3
- package/dist/vitest.config.js.map +1 -1
- package/docs/getting-started/new-repository-setup.md +108 -28
- package/docs/getting-started/quick-start.md +57 -6
- package/docs/getting-started/setup.md +250 -2
- package/docs/guides/customization.md +3 -3
- package/docs/guides/multi-project.md +1 -1
- package/docs/reference/quick-reference.md +25 -16
- package/docs/testing/integration-tests.md +297 -0
- package/package.json +7 -2
- package/scripts/__tests__/setup-existing-project.test.ts +73 -5
- package/scripts/constants/__tests__/environments.test.ts +110 -0
- package/scripts/constants/__tests__/languages.test.ts +100 -0
- package/scripts/constants/environments.ts +61 -0
- package/scripts/constants/languages.ts +70 -0
- package/scripts/create-project.ts +52 -22
- package/scripts/setup-existing-project.ts +136 -57
- package/scripts/setup-existing.sh +130 -3
- package/scripts/template/__tests__/renderer.test.ts +207 -0
- package/scripts/template/renderer.ts +133 -0
- package/scripts/utils/template-finder.ts +75 -0
- package/templates/claude/commands/michi/confluence-sync.md +38 -0
- package/templates/claude/commands/michi/project-switch.md +36 -0
- package/templates/claude/rules/atlassian-integration.md +35 -0
- package/templates/claude/rules/michi-core.md +54 -0
- package/templates/claude-agent/README.md +25 -0
- package/templates/cursor/commands/michi/confluence-sync.md +76 -0
- package/templates/cursor/commands/michi/project-switch.md +69 -0
- package/templates/cursor/rules/atlassian-mcp.mdc +188 -0
- package/templates/cursor/rules/github-ssot.mdc +151 -0
- package/templates/cursor/rules/multi-project.mdc +81 -0
- package/scripts/setup-env.sh +0 -52
|
@@ -35,31 +35,111 @@ npm run create-project -- \
|
|
|
35
35
|
5. 共通ファイルコピー
|
|
36
36
|
6. `projects/{project-id}/.env` テンプレート作成
|
|
37
37
|
7. npm install(リポジトリルートで実行)
|
|
38
|
-
8.
|
|
38
|
+
8. 初期コミット(`main`ブランチ作成)
|
|
39
|
+
|
|
40
|
+
**注意**: プッシュは手動で実行する必要があります。スクリプト完了後、以下のコマンドを実行してください:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
# Jujutsu (jj) を使用する場合
|
|
44
|
+
jj git push --bookmark main --allow-new
|
|
45
|
+
|
|
46
|
+
# Git を使用する場合
|
|
47
|
+
git push -u origin main
|
|
48
|
+
```
|
|
39
49
|
|
|
40
50
|
**重要**: すべてのプロジェクトは`projects/{project-id}/`配下に配置されます。
|
|
41
51
|
|
|
42
|
-
### 方法2: 既存プロジェクトにMichi
|
|
52
|
+
### 方法2: 既存プロジェクトにMichi共通ルール・コマンドを追加(推奨 - 既存リポジトリ)
|
|
53
|
+
|
|
54
|
+
既存のリポジトリにMichiを導入する推奨ワークフロー:
|
|
55
|
+
|
|
56
|
+
#### cc-sdd準拠の3ステップ
|
|
57
|
+
|
|
58
|
+
```bash
|
|
59
|
+
# Step 1: cc-sddで標準ファイル生成
|
|
60
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
61
|
+
|
|
62
|
+
# Step 2: Michi固有ファイルを追加
|
|
63
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
64
|
+
# または npm run michi:setup:cursor
|
|
65
|
+
|
|
66
|
+
# Step 3: 環境設定
|
|
67
|
+
npm run setup:interactive
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
#### IDE別実行例
|
|
43
71
|
|
|
44
|
-
|
|
72
|
+
**Cursor IDE(推奨)**:
|
|
45
73
|
|
|
46
74
|
```bash
|
|
47
75
|
# 既存プロジェクトのディレクトリに移動
|
|
48
76
|
cd /path/to/existing-repo
|
|
49
77
|
|
|
50
|
-
#
|
|
51
|
-
|
|
78
|
+
# Step 1: cc-sdd導入
|
|
79
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
80
|
+
|
|
81
|
+
# Step 2: Michi固有ファイル追加
|
|
82
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
83
|
+
# または npm run michi:setup:cursor
|
|
84
|
+
|
|
85
|
+
# Step 3: 環境設定
|
|
86
|
+
npm run setup:interactive
|
|
52
87
|
```
|
|
53
88
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
89
|
+
**Claude Code**:
|
|
90
|
+
|
|
91
|
+
```bash
|
|
92
|
+
# 既存プロジェクトのディレクトリに移動
|
|
93
|
+
cd /path/to/existing-repo
|
|
94
|
+
|
|
95
|
+
# Step 1: cc-sdd導入
|
|
96
|
+
npx cc-sdd@latest --claude --lang ja
|
|
97
|
+
|
|
98
|
+
# Step 2: Michi固有ファイル追加
|
|
99
|
+
npx @sk8metal/michi-cli setup-existing --claude --lang ja
|
|
100
|
+
# または npm run michi:setup:claude
|
|
101
|
+
|
|
102
|
+
# Step 3: 環境設定
|
|
103
|
+
npm run setup:interactive
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
**その他のIDE(Gemini, Codex, Windsurf)**:
|
|
107
|
+
|
|
108
|
+
```bash
|
|
109
|
+
# 既存プロジェクトのディレクトリに移動
|
|
110
|
+
cd /path/to/existing-repo
|
|
111
|
+
|
|
112
|
+
# Step 1: cc-sdd導入(IDE別)
|
|
113
|
+
npx cc-sdd@latest --gemini --lang ja # Gemini CLI
|
|
114
|
+
npx cc-sdd@next --codex --lang ja # Codex CLI
|
|
115
|
+
npx cc-sdd@next --windsurf --lang ja # Windsurf IDE
|
|
116
|
+
|
|
117
|
+
# Step 2: Michi固有ファイル追加(Cursor互換モード)
|
|
118
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
119
|
+
|
|
120
|
+
# Step 3: 環境設定
|
|
121
|
+
npm run setup:interactive
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
#### 自動的に追加されるもの
|
|
125
|
+
|
|
126
|
+
このワークフローにより以下が自動的に追加されます:
|
|
127
|
+
|
|
128
|
+
1. **cc-sdd導入(Step 1)**:
|
|
129
|
+
- `.kiro/settings/` - テンプレート設定
|
|
130
|
+
- `.cursor/commands/kiro/` または `.claude/commands/kiro/` - 11のスラッシュコマンド
|
|
131
|
+
- `AGENTS.md` または `CLAUDE.md` - プロジェクト設定
|
|
132
|
+
|
|
133
|
+
2. **Michi固有ファイル追加(Step 2)**:
|
|
134
|
+
- 共通ルール(`.cursor/rules/` または `.claude/rules/`)
|
|
135
|
+
- Michi専用コマンド(`.cursor/commands/michi/` または `.claude/commands/michi/`)
|
|
136
|
+
- Steeringテンプレート(`.kiro/steering/`)
|
|
137
|
+
- Specテンプレート(`.kiro/settings/templates/`)
|
|
138
|
+
- プロジェクトメタデータ(`.kiro/project.json`)
|
|
139
|
+
- 環境変数テンプレート(`.env`)
|
|
140
|
+
|
|
141
|
+
3. **環境設定(Step 3)**:
|
|
142
|
+
- 対話的に `project.json` と `.env` を設定
|
|
63
143
|
|
|
64
144
|
**重要**: すべてのプロジェクトは`projects/{project-id}/`配下に配置されます。
|
|
65
145
|
|
|
@@ -345,40 +425,40 @@ git push -u origin main
|
|
|
345
425
|
/kiro:spec-requirements <feature>
|
|
346
426
|
jj commit -m "docs: 要件定義追加"
|
|
347
427
|
jj git push
|
|
348
|
-
npx @michi
|
|
428
|
+
npx @sk8metal/michi-cli phase:run <feature> requirements
|
|
349
429
|
|
|
350
430
|
# 具体例
|
|
351
431
|
/kiro:spec-init ユーザー認証機能
|
|
352
432
|
/kiro:spec-requirements user-auth
|
|
353
433
|
jj commit -m "docs: 要件定義追加"
|
|
354
434
|
jj git push
|
|
355
|
-
npx @michi
|
|
435
|
+
npx @sk8metal/michi-cli phase:run user-auth requirements
|
|
356
436
|
|
|
357
437
|
# 2. 設計
|
|
358
438
|
# 凡例
|
|
359
439
|
/kiro:spec-design <feature>
|
|
360
440
|
jj commit -m "docs: 設計追加"
|
|
361
441
|
jj git push
|
|
362
|
-
npx @michi
|
|
442
|
+
npx @sk8metal/michi-cli phase:run <feature> design
|
|
363
443
|
|
|
364
444
|
# 具体例
|
|
365
445
|
/kiro:spec-design user-auth
|
|
366
446
|
jj commit -m "docs: 設計追加"
|
|
367
447
|
jj git push
|
|
368
|
-
npx @michi
|
|
448
|
+
npx @sk8metal/michi-cli phase:run user-auth design
|
|
369
449
|
|
|
370
450
|
# 3. タスク分割
|
|
371
451
|
# 凡例
|
|
372
452
|
/kiro:spec-tasks <feature>
|
|
373
453
|
jj commit -m "docs: タスク分割追加"
|
|
374
454
|
jj git push
|
|
375
|
-
npx @michi
|
|
455
|
+
npx @sk8metal/michi-cli phase:run <feature> tasks
|
|
376
456
|
|
|
377
457
|
# 具体例
|
|
378
458
|
/kiro:spec-tasks user-auth
|
|
379
459
|
jj commit -m "docs: タスク分割追加"
|
|
380
460
|
jj git push
|
|
381
|
-
npx @michi
|
|
461
|
+
npx @sk8metal/michi-cli phase:run user-auth tasks
|
|
382
462
|
|
|
383
463
|
# 4. 実装
|
|
384
464
|
# 凡例
|
|
@@ -406,7 +486,7 @@ gh pr create --head 20240115-payment-api/feature/user-auth --base main
|
|
|
406
486
|
git add .
|
|
407
487
|
git commit -m "docs: 要件定義追加"
|
|
408
488
|
git push
|
|
409
|
-
npx @michi
|
|
489
|
+
npx @sk8metal/michi-cli phase:run <feature> requirements
|
|
410
490
|
|
|
411
491
|
# 具体例
|
|
412
492
|
/kiro:spec-init ユーザー認証機能
|
|
@@ -414,7 +494,7 @@ npx @michi/cli phase:run <feature> requirements
|
|
|
414
494
|
git add .
|
|
415
495
|
git commit -m "docs: 要件定義追加"
|
|
416
496
|
git push
|
|
417
|
-
npx @michi
|
|
497
|
+
npx @sk8metal/michi-cli phase:run user-auth requirements
|
|
418
498
|
|
|
419
499
|
# 2. 設計
|
|
420
500
|
# 凡例
|
|
@@ -422,14 +502,14 @@ npx @michi/cli phase:run user-auth requirements
|
|
|
422
502
|
git add .
|
|
423
503
|
git commit -m "docs: 設計追加"
|
|
424
504
|
git push
|
|
425
|
-
npx @michi
|
|
505
|
+
npx @sk8metal/michi-cli phase:run <feature> design
|
|
426
506
|
|
|
427
507
|
# 具体例
|
|
428
508
|
/kiro:spec-design user-auth
|
|
429
509
|
git add .
|
|
430
510
|
git commit -m "docs: 設計追加"
|
|
431
511
|
git push
|
|
432
|
-
npx @michi
|
|
512
|
+
npx @sk8metal/michi-cli phase:run user-auth design
|
|
433
513
|
|
|
434
514
|
# 3. タスク分割
|
|
435
515
|
# 凡例
|
|
@@ -437,14 +517,14 @@ npx @michi/cli phase:run user-auth design
|
|
|
437
517
|
git add .
|
|
438
518
|
git commit -m "docs: タスク分割追加"
|
|
439
519
|
git push
|
|
440
|
-
npx @michi
|
|
520
|
+
npx @sk8metal/michi-cli phase:run <feature> tasks
|
|
441
521
|
|
|
442
522
|
# 具体例
|
|
443
523
|
/kiro:spec-tasks user-auth
|
|
444
524
|
git add .
|
|
445
525
|
git commit -m "docs: タスク分割追加"
|
|
446
526
|
git push
|
|
447
|
-
npx @michi
|
|
527
|
+
npx @sk8metal/michi-cli phase:run user-auth tasks
|
|
448
528
|
|
|
449
529
|
# 4. 実装
|
|
450
530
|
# 凡例
|
|
@@ -602,8 +682,8 @@ cd ~/work/projects/michi
|
|
|
602
682
|
```bash
|
|
603
683
|
# Michiから全プロジェクトの状況を確認
|
|
604
684
|
cd /path/to/michi
|
|
605
|
-
npx @michi
|
|
606
|
-
npx @michi
|
|
685
|
+
npx @sk8metal/michi-cli project:list
|
|
686
|
+
npx @sk8metal/michi-cli project:dashboard
|
|
607
687
|
npm run multi-estimate
|
|
608
688
|
```
|
|
609
689
|
|
|
@@ -22,15 +22,46 @@ michi --help
|
|
|
22
22
|
|
|
23
23
|
## 2. cc-sddをインストール
|
|
24
24
|
|
|
25
|
+
cc-sddは、Michiの仕様駆動開発ワークフローのコアフレームワークです。
|
|
26
|
+
|
|
27
|
+
### 推奨ワークフロー(cc-sdd準拠)
|
|
28
|
+
|
|
29
|
+
既存リポジトリにMichiを導入する標準的な3ステップ:
|
|
30
|
+
|
|
25
31
|
```bash
|
|
26
|
-
#
|
|
32
|
+
# Step 1: cc-sddで標準ファイル生成
|
|
33
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
34
|
+
|
|
35
|
+
# Step 2: Michi固有ファイルを追加
|
|
36
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
37
|
+
# または npm run michi:setup:cursor
|
|
38
|
+
|
|
39
|
+
# Step 3: 環境設定(後述)
|
|
40
|
+
npm run setup:interactive
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### IDE別インストール例
|
|
44
|
+
|
|
45
|
+
```bash
|
|
46
|
+
# Cursor IDE(推奨)
|
|
27
47
|
npx cc-sdd@latest --lang ja --cursor
|
|
28
48
|
|
|
29
|
-
# Claude Code
|
|
49
|
+
# Claude Code
|
|
30
50
|
npx cc-sdd@latest --lang ja --claude
|
|
51
|
+
|
|
52
|
+
# Gemini CLI
|
|
53
|
+
npx cc-sdd@latest --lang ja --gemini
|
|
54
|
+
|
|
55
|
+
# Codex CLI
|
|
56
|
+
npx cc-sdd@next --lang ja --codex
|
|
57
|
+
|
|
58
|
+
# Windsurf IDE
|
|
59
|
+
npx cc-sdd@next --lang ja --windsurf
|
|
31
60
|
```
|
|
32
61
|
|
|
33
|
-
|
|
62
|
+
**重要**: Step 2で `npx @sk8metal/michi-cli setup-existing` を実行すると、テンプレートがNPMパッケージから自動的にコピーされます。git clone不要です。
|
|
63
|
+
|
|
64
|
+
詳細な手順は [セットアップガイド](./setup.md#step-25-推奨ワークフローcc-sdd--michi) を参照してください。
|
|
34
65
|
|
|
35
66
|
## 3. 環境変数を設定
|
|
36
67
|
|
|
@@ -88,11 +119,31 @@ Cursor/VS CodeでAIコマンドを実行:
|
|
|
88
119
|
/kiro:spec-tasks user-authentication
|
|
89
120
|
```
|
|
90
121
|
|
|
91
|
-
|
|
122
|
+
これにより、`tasks.md`が生成されます。
|
|
123
|
+
|
|
124
|
+
**重要**: `/kiro:spec-tasks` はローカルで `tasks.md` を生成するだけです。Confluence/JIRAに同期するには、以下のCLIコマンドを実行する必要があります:
|
|
125
|
+
|
|
126
|
+
```bash
|
|
127
|
+
npx @sk8metal/michi-cli phase:run user-authentication tasks
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
このコマンドにより、以下が自動実行されます:
|
|
92
131
|
|
|
93
|
-
- `tasks.md`の生成
|
|
94
132
|
- Confluenceページの自動作成(要件・設計)
|
|
95
|
-
- JIRA Epic
|
|
133
|
+
- JIRA Epicとストーリーの自動作成(全6フェーズ)
|
|
134
|
+
- バリデーション実行
|
|
135
|
+
|
|
136
|
+
**注意**: 要件定義・設計フェーズでも同様に、`/kiro:spec-requirements` や `/kiro:spec-design` の後に `phase:run` を実行する必要があります:
|
|
137
|
+
|
|
138
|
+
```bash
|
|
139
|
+
# 要件定義フェーズ
|
|
140
|
+
/kiro:spec-requirements user-authentication
|
|
141
|
+
npx @sk8metal/michi-cli phase:run user-authentication requirements
|
|
142
|
+
|
|
143
|
+
# 設計フェーズ
|
|
144
|
+
/kiro:spec-design user-authentication
|
|
145
|
+
npx @sk8metal/michi-cli phase:run user-authentication design
|
|
146
|
+
```
|
|
96
147
|
|
|
97
148
|
## 7. 実装を開始
|
|
98
149
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Michi セットアップガイド
|
|
2
2
|
|
|
3
3
|
> **このガイドについて**: 既存のプロジェクトにMichiを導入する手順です。
|
|
4
|
-
> 新規プロジェクトを作成する場合は [新規リポジトリセットアップガイド](./new-
|
|
4
|
+
> 新規プロジェクトを作成する場合は [新規リポジトリセットアップガイド](./new-repository-setup.md) を参照してください。
|
|
5
5
|
> Michiの開発に貢献する場合は [開発環境セットアップガイド](../contributing/development.md) を参照してください。
|
|
6
6
|
|
|
7
7
|
## 前提条件
|
|
@@ -62,8 +62,113 @@ npx cc-sdd@next --lang ja --windsurf
|
|
|
62
62
|
- `.cursor/commands/kiro/` または `.claude/commands/kiro/` にコマンド作成
|
|
63
63
|
- `AGENTS.md` または `CLAUDE.md` にプロジェクト設定追加
|
|
64
64
|
|
|
65
|
+
**cc-sdd準拠アーキテクチャ(Issue #35):**
|
|
66
|
+
- Michiは**単一の英語テンプレート + プレースホルダー**でcc-sdd準拠を実現
|
|
67
|
+
- `templates/` ディレクトリからCursor/Claude両環境に対応
|
|
68
|
+
- プレースホルダー(`{{LANG_CODE}}`, `{{DEV_GUIDELINES}}` 等)をAIが実行時に解釈
|
|
69
|
+
|
|
70
|
+
|
|
65
71
|
詳細: [cc-sdd公式ドキュメント](https://github.com/gotalab/cc-sdd/blob/main/tools/cc-sdd/README_ja.md)
|
|
66
72
|
|
|
73
|
+
|
|
74
|
+
## Step 2.5: 推奨ワークフロー(cc-sdd + Michi)
|
|
75
|
+
|
|
76
|
+
既存リポジトリにMichiを導入する標準的な手順は以下の通りです:
|
|
77
|
+
|
|
78
|
+
### 3ステップワークフロー
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Step 1: cc-sddで標準ファイル生成
|
|
82
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
83
|
+
|
|
84
|
+
# Step 2: Michi固有ファイルを追加
|
|
85
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
86
|
+
# または npm run michi:setup:cursor
|
|
87
|
+
|
|
88
|
+
# Step 3: 環境設定
|
|
89
|
+
npm run setup:interactive
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 各ステップの詳細
|
|
93
|
+
|
|
94
|
+
#### Step 1: cc-sdd導入
|
|
95
|
+
|
|
96
|
+
cc-sddは、AI駆動開発ワークフローのコアフレームワークです。以下を自動生成します:
|
|
97
|
+
|
|
98
|
+
- `.kiro/settings/` - テンプレート設定
|
|
99
|
+
- `.cursor/commands/kiro/` - 11のスラッシュコマンド
|
|
100
|
+
- `AGENTS.md` - プロジェクト設定
|
|
101
|
+
|
|
102
|
+
**実行例(IDE別)**:
|
|
103
|
+
|
|
104
|
+
```bash
|
|
105
|
+
# Cursor IDE
|
|
106
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
107
|
+
|
|
108
|
+
# Claude Code
|
|
109
|
+
npx cc-sdd@latest --claude --lang ja
|
|
110
|
+
|
|
111
|
+
# Gemini CLI
|
|
112
|
+
npx cc-sdd@latest --gemini --lang ja
|
|
113
|
+
|
|
114
|
+
# Codex CLI
|
|
115
|
+
npx cc-sdd@next --codex --lang ja
|
|
116
|
+
|
|
117
|
+
# Windsurf IDE
|
|
118
|
+
npx cc-sdd@next --windsurf --lang ja
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
#### Step 2: Michi固有ファイル追加
|
|
122
|
+
|
|
123
|
+
Michiの専用機能(Confluence/JIRA連携、マルチプロジェクト管理)を追加します:
|
|
124
|
+
|
|
125
|
+
**実行例**:
|
|
126
|
+
|
|
127
|
+
```bash
|
|
128
|
+
# Cursor IDE
|
|
129
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
130
|
+
# または npm run michi:setup:cursor
|
|
131
|
+
|
|
132
|
+
# Claude Code
|
|
133
|
+
npx @sk8metal/michi-cli setup-existing --claude --lang ja
|
|
134
|
+
# または npm run michi:setup:claude
|
|
135
|
+
|
|
136
|
+
# Claude Code Subagents
|
|
137
|
+
npx @sk8metal/michi-cli setup-existing --claude-agent --lang ja
|
|
138
|
+
# または npm run michi:setup:claude-agent
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
**追加されるもの**:
|
|
142
|
+
|
|
143
|
+
- 共通ルール(`.cursor/rules/`または`.claude/rules/`)
|
|
144
|
+
- Michi専用コマンド(`.cursor/commands/michi/`または`.claude/commands/michi/`)
|
|
145
|
+
- Steeringテンプレート(`.kiro/steering/`)
|
|
146
|
+
- Specテンプレート(`.kiro/settings/templates/`)
|
|
147
|
+
- プロジェクトメタデータ(`.kiro/project.json`)
|
|
148
|
+
- 環境変数テンプレート(`.env`)
|
|
149
|
+
|
|
150
|
+
#### Step 3: 環境設定
|
|
151
|
+
|
|
152
|
+
対話的設定ツールで認証情報とプロジェクトメタデータを設定します:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
npm run setup:interactive
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
このツールが以下を設定します:
|
|
159
|
+
|
|
160
|
+
- プロジェクト情報(`project.json`)
|
|
161
|
+
- 認証情報(`.env`)
|
|
162
|
+
|
|
163
|
+
詳細は [Step 3: 環境変数の設定](#step-3-環境変数の設定) を参照してください。
|
|
164
|
+
|
|
165
|
+
### なぜこの順序なのか?
|
|
166
|
+
|
|
167
|
+
1. **cc-sdd → Michi**: cc-sddが基盤を作り、Michiが拡張機能を追加
|
|
168
|
+
2. **ファイル追加 → 環境設定**: 設定ファイルが先に存在する必要がある
|
|
169
|
+
3. **標準化**: すべてのプロジェクトで一貫した手順
|
|
170
|
+
|
|
171
|
+
|
|
67
172
|
## Step 3: 環境変数の設定
|
|
68
173
|
|
|
69
174
|
### 3-1. .env ファイルの作成
|
|
@@ -276,7 +381,7 @@ wget -O ~/.cursor/mcp.json https://raw.githubusercontent.com/sk8metalme/michi/ma
|
|
|
276
381
|
|
|
277
382
|
**重要**: すべてのプロジェクト(単一プロジェクトも含む)は`projects/{project-id}/`配下に配置されます。
|
|
278
383
|
|
|
279
|
-
> **補足**: 新規プロジェクトを作成する場合や、既存プロジェクトにMichiを自動導入する場合は [
|
|
384
|
+
> **補足**: 新規プロジェクトを作成する場合や、既存プロジェクトにMichiを自動導入する場合は [新規リポジトリセットアップガイド](./new-repository-setup.md) を参照してください。
|
|
280
385
|
|
|
281
386
|
### 5-1. `.kiro/project.json` の作成
|
|
282
387
|
|
|
@@ -371,12 +476,155 @@ michi help
|
|
|
371
476
|
|
|
372
477
|
## トラブルシューティング
|
|
373
478
|
|
|
479
|
+
### cc-sddのインストールに失敗する
|
|
480
|
+
|
|
481
|
+
**症状**: `npx cc-sdd@latest` が失敗する
|
|
482
|
+
|
|
483
|
+
**原因**:
|
|
484
|
+
- npmキャッシュの問題
|
|
485
|
+
- ネットワーク接続の問題
|
|
486
|
+
- Node.jsのバージョンが古い
|
|
487
|
+
|
|
488
|
+
**解決方法**:
|
|
489
|
+
|
|
490
|
+
```bash
|
|
491
|
+
# キャッシュをクリア
|
|
492
|
+
npm cache clean --force
|
|
493
|
+
|
|
494
|
+
# 再度実行
|
|
495
|
+
npx cc-sdd@latest --cursor --lang ja
|
|
496
|
+
|
|
497
|
+
# それでも失敗する場合は、Node.jsバージョンを確認
|
|
498
|
+
node --version
|
|
499
|
+
# 20.0.0以上が必要
|
|
500
|
+
```
|
|
501
|
+
|
|
502
|
+
### setup-existing の実行エラー
|
|
503
|
+
|
|
504
|
+
**症状**: `npx @sk8metal/michi-cli setup-existing` が失敗する
|
|
505
|
+
|
|
506
|
+
**原因**:
|
|
507
|
+
- ネットワーク接続の問題
|
|
508
|
+
- 必要な依存関係がインストールされていない
|
|
509
|
+
- 権限の問題
|
|
510
|
+
|
|
511
|
+
**解決方法**:
|
|
512
|
+
|
|
513
|
+
```bash
|
|
514
|
+
# NPMキャッシュをクリア
|
|
515
|
+
npm cache clean --force
|
|
516
|
+
|
|
517
|
+
# 再度実行
|
|
518
|
+
npx @sk8metal/michi-cli setup-existing --cursor --lang ja
|
|
519
|
+
|
|
520
|
+
# または、開発リポジトリから実行する場合
|
|
521
|
+
cd /path/to/michi
|
|
522
|
+
npm run michi:setup:cursor
|
|
523
|
+
```
|
|
524
|
+
|
|
525
|
+
### 環境変数設定のミス
|
|
526
|
+
|
|
527
|
+
**症状**: Confluence/JIRA連携が動作しない
|
|
528
|
+
|
|
529
|
+
**原因**:
|
|
530
|
+
- `.env`ファイルの認証情報が間違っている
|
|
531
|
+
- 環境変数が正しく読み込まれていない
|
|
532
|
+
|
|
533
|
+
**解決方法**:
|
|
534
|
+
|
|
535
|
+
```bash
|
|
536
|
+
# .envファイルの内容を確認
|
|
537
|
+
cat .env
|
|
538
|
+
|
|
539
|
+
# 認証情報が正しいか確認
|
|
540
|
+
# - ATLASSIAN_URL: https://your-domain.atlassian.net 形式
|
|
541
|
+
# - ATLASSIAN_EMAIL: メールアドレス形式
|
|
542
|
+
# - ATLASSIAN_API_TOKEN: 有効なトークン
|
|
543
|
+
# - GITHUB_TOKEN: ghp_ で始まるトークン
|
|
544
|
+
|
|
545
|
+
# トークンの有効性を確認
|
|
546
|
+
curl -u your-email@company.com:your-api-token \
|
|
547
|
+
https://your-domain.atlassian.net/rest/api/3/myself
|
|
548
|
+
```
|
|
549
|
+
|
|
374
550
|
### MCP サーバーが動作しない
|
|
375
551
|
|
|
552
|
+
**症状**: Cursor IDEでAtlassian MCPが接続できない
|
|
553
|
+
|
|
554
|
+
**原因**:
|
|
555
|
+
- `~/.cursor/mcp.json`の設定が間違っている
|
|
556
|
+
- Atlassian API Tokenが無効
|
|
557
|
+
- Cursorが設定を読み込んでいない
|
|
558
|
+
|
|
559
|
+
**解決方法**:
|
|
560
|
+
|
|
376
561
|
1. Cursor を再起動
|
|
377
562
|
2. `~/.cursor/mcp.json` の認証情報を確認
|
|
563
|
+
|
|
564
|
+
```bash
|
|
565
|
+
# mcp.jsonの内容を確認
|
|
566
|
+
cat ~/.cursor/mcp.json
|
|
567
|
+
|
|
568
|
+
# 認証情報が.envと一致しているか確認
|
|
569
|
+
```
|
|
570
|
+
|
|
378
571
|
3. Atlassian API Token が有効か確認
|
|
379
572
|
|
|
573
|
+
```bash
|
|
574
|
+
# トークンの有効性をテスト
|
|
575
|
+
curl -u your-email@company.com:your-token \
|
|
576
|
+
https://your-domain.atlassian.net/rest/api/3/myself
|
|
577
|
+
```
|
|
578
|
+
|
|
579
|
+
4. Cursor のログを確認
|
|
580
|
+
|
|
581
|
+
- Cursor > View > Toggle Developer Tools
|
|
582
|
+
- Console タブでエラーを確認
|
|
583
|
+
|
|
584
|
+
### JIRA Issue Type ID の取得方法
|
|
585
|
+
|
|
586
|
+
**症状**: `JIRA_ISSUE_TYPE_STORY`や`JIRA_ISSUE_TYPE_SUBTASK`の値がわからない
|
|
587
|
+
|
|
588
|
+
**解決方法**:
|
|
589
|
+
|
|
590
|
+
**方法1: JIRA管理画面から確認(管理者権限が必要)**
|
|
591
|
+
|
|
592
|
+
1. JIRAに管理者権限でログイン
|
|
593
|
+
2. Settings(設定)> Issues(課題)> Issue types(課題タイプ)
|
|
594
|
+
3. 「Story」と「Subtask」のIDを確認
|
|
595
|
+
|
|
596
|
+
**方法2: REST APIで確認(推奨)**
|
|
597
|
+
|
|
598
|
+
```bash
|
|
599
|
+
# すべてのIssue Typeを取得
|
|
600
|
+
curl -u your-email@company.com:your-api-token \
|
|
601
|
+
https://your-domain.atlassian.net/rest/api/3/issuetype | jq
|
|
602
|
+
|
|
603
|
+
# 出力例:
|
|
604
|
+
# [
|
|
605
|
+
# {
|
|
606
|
+
# "id": "10036",
|
|
607
|
+
# "name": "Story",
|
|
608
|
+
# ...
|
|
609
|
+
# },
|
|
610
|
+
# {
|
|
611
|
+
# "id": "10037",
|
|
612
|
+
# "name": "Subtask",
|
|
613
|
+
# ...
|
|
614
|
+
# }
|
|
615
|
+
# ]
|
|
616
|
+
```
|
|
617
|
+
|
|
618
|
+
**方法3: jqがない場合**
|
|
619
|
+
|
|
620
|
+
```bash
|
|
621
|
+
# jqなしで確認
|
|
622
|
+
curl -u your-email@company.com:your-api-token \
|
|
623
|
+
https://your-domain.atlassian.net/rest/api/3/issuetype
|
|
624
|
+
|
|
625
|
+
# 出力から "Story" と "Subtask" の "id" フィールドを探す
|
|
626
|
+
```
|
|
627
|
+
|
|
380
628
|
### GitHub認証エラー
|
|
381
629
|
|
|
382
630
|
```bash
|
|
@@ -363,7 +363,7 @@ Confluenceスペース
|
|
|
363
363
|
|
|
364
364
|
```bash
|
|
365
365
|
# 対話式設定ツールを実行
|
|
366
|
-
npx @michi
|
|
366
|
+
npx @sk8metal/michi-cli config:interactive
|
|
367
367
|
|
|
368
368
|
# または
|
|
369
369
|
npm run config:interactive
|
|
@@ -371,7 +371,7 @@ npm run config:interactive
|
|
|
371
371
|
|
|
372
372
|
### 使い方
|
|
373
373
|
|
|
374
|
-
1. **コマンド実行**: `npx @michi
|
|
374
|
+
1. **コマンド実行**: `npx @sk8metal/michi-cli config:interactive`
|
|
375
375
|
2. **設定項目を選択**:
|
|
376
376
|
- Confluence設定のカスタマイズ
|
|
377
377
|
- JIRA設定のカスタマイズ
|
|
@@ -394,7 +394,7 @@ npm run config:interactive
|
|
|
394
394
|
|
|
395
395
|
```bash
|
|
396
396
|
# 設定ファイルのバリデーション
|
|
397
|
-
npx @michi
|
|
397
|
+
npx @sk8metal/michi-cli config:validate
|
|
398
398
|
|
|
399
399
|
# または
|
|
400
400
|
npm run config:validate
|