@sk8metal/michi-cli 0.0.1

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 (99) hide show
  1. package/LICENSE +22 -0
  2. package/README.md +465 -0
  3. package/dist/scripts/config/config-schema.d.ts +707 -0
  4. package/dist/scripts/config/config-schema.d.ts.map +1 -0
  5. package/dist/scripts/config/config-schema.js +100 -0
  6. package/dist/scripts/config/config-schema.js.map +1 -0
  7. package/dist/scripts/config-interactive.d.ts +10 -0
  8. package/dist/scripts/config-interactive.d.ts.map +1 -0
  9. package/dist/scripts/config-interactive.js +357 -0
  10. package/dist/scripts/config-interactive.js.map +1 -0
  11. package/dist/scripts/confluence-sync.d.ts +54 -0
  12. package/dist/scripts/confluence-sync.d.ts.map +1 -0
  13. package/dist/scripts/confluence-sync.js +407 -0
  14. package/dist/scripts/confluence-sync.js.map +1 -0
  15. package/dist/scripts/create-project.d.ts +12 -0
  16. package/dist/scripts/create-project.d.ts.map +1 -0
  17. package/dist/scripts/create-project.js +244 -0
  18. package/dist/scripts/create-project.js.map +1 -0
  19. package/dist/scripts/jira-sync.d.ts +39 -0
  20. package/dist/scripts/jira-sync.d.ts.map +1 -0
  21. package/dist/scripts/jira-sync.js +549 -0
  22. package/dist/scripts/jira-sync.js.map +1 -0
  23. package/dist/scripts/list-projects.d.ts +7 -0
  24. package/dist/scripts/list-projects.d.ts.map +1 -0
  25. package/dist/scripts/list-projects.js +61 -0
  26. package/dist/scripts/list-projects.js.map +1 -0
  27. package/dist/scripts/markdown-to-confluence.d.ts +19 -0
  28. package/dist/scripts/markdown-to-confluence.d.ts.map +1 -0
  29. package/dist/scripts/markdown-to-confluence.js +121 -0
  30. package/dist/scripts/markdown-to-confluence.js.map +1 -0
  31. package/dist/scripts/multi-project-estimate.d.ts +27 -0
  32. package/dist/scripts/multi-project-estimate.d.ts.map +1 -0
  33. package/dist/scripts/multi-project-estimate.js +202 -0
  34. package/dist/scripts/multi-project-estimate.js.map +1 -0
  35. package/dist/scripts/phase-runner.d.ts +19 -0
  36. package/dist/scripts/phase-runner.d.ts.map +1 -0
  37. package/dist/scripts/phase-runner.js +260 -0
  38. package/dist/scripts/phase-runner.js.map +1 -0
  39. package/dist/scripts/pr-automation.d.ts +12 -0
  40. package/dist/scripts/pr-automation.d.ts.map +1 -0
  41. package/dist/scripts/pr-automation.js +45 -0
  42. package/dist/scripts/pr-automation.js.map +1 -0
  43. package/dist/scripts/pre-flight-check.d.ts +15 -0
  44. package/dist/scripts/pre-flight-check.d.ts.map +1 -0
  45. package/dist/scripts/pre-flight-check.js +244 -0
  46. package/dist/scripts/pre-flight-check.js.map +1 -0
  47. package/dist/scripts/resource-dashboard.d.ts +7 -0
  48. package/dist/scripts/resource-dashboard.d.ts.map +1 -0
  49. package/dist/scripts/resource-dashboard.js +100 -0
  50. package/dist/scripts/resource-dashboard.js.map +1 -0
  51. package/dist/scripts/setup-existing-project.d.ts +13 -0
  52. package/dist/scripts/setup-existing-project.d.ts.map +1 -0
  53. package/dist/scripts/setup-existing-project.js +334 -0
  54. package/dist/scripts/setup-existing-project.js.map +1 -0
  55. package/dist/scripts/utils/config-loader.d.ts +20 -0
  56. package/dist/scripts/utils/config-loader.d.ts.map +1 -0
  57. package/dist/scripts/utils/config-loader.js +291 -0
  58. package/dist/scripts/utils/config-loader.js.map +1 -0
  59. package/dist/scripts/utils/config-validator.d.ts +34 -0
  60. package/dist/scripts/utils/config-validator.d.ts.map +1 -0
  61. package/dist/scripts/utils/config-validator.js +286 -0
  62. package/dist/scripts/utils/config-validator.js.map +1 -0
  63. package/dist/scripts/utils/confluence-hierarchy.d.ts +47 -0
  64. package/dist/scripts/utils/confluence-hierarchy.d.ts.map +1 -0
  65. package/dist/scripts/utils/confluence-hierarchy.js +516 -0
  66. package/dist/scripts/utils/confluence-hierarchy.js.map +1 -0
  67. package/dist/scripts/utils/feature-name-validator.d.ts +25 -0
  68. package/dist/scripts/utils/feature-name-validator.d.ts.map +1 -0
  69. package/dist/scripts/utils/feature-name-validator.js +113 -0
  70. package/dist/scripts/utils/feature-name-validator.js.map +1 -0
  71. package/dist/scripts/utils/project-meta.d.ts +23 -0
  72. package/dist/scripts/utils/project-meta.d.ts.map +1 -0
  73. package/dist/scripts/utils/project-meta.js +50 -0
  74. package/dist/scripts/utils/project-meta.js.map +1 -0
  75. package/dist/scripts/validate-phase.d.ts +17 -0
  76. package/dist/scripts/validate-phase.d.ts.map +1 -0
  77. package/dist/scripts/validate-phase.js +234 -0
  78. package/dist/scripts/validate-phase.js.map +1 -0
  79. package/dist/scripts/workflow-orchestrator.d.ts +35 -0
  80. package/dist/scripts/workflow-orchestrator.d.ts.map +1 -0
  81. package/dist/scripts/workflow-orchestrator.js +130 -0
  82. package/dist/scripts/workflow-orchestrator.js.map +1 -0
  83. package/dist/src/cli.d.ts +11 -0
  84. package/dist/src/cli.d.ts.map +1 -0
  85. package/dist/src/cli.js +229 -0
  86. package/dist/src/cli.js.map +1 -0
  87. package/docs/config-reference.md +666 -0
  88. package/docs/customization-guide.md +432 -0
  89. package/docs/multi-project.md +233 -0
  90. package/docs/new-project-setup.md +576 -0
  91. package/docs/phase-automation.md +361 -0
  92. package/docs/quick-reference.md +291 -0
  93. package/docs/setup.md +404 -0
  94. package/docs/tasks-template.md +550 -0
  95. package/docs/testing.md +202 -0
  96. package/docs/workflow.md +342 -0
  97. package/env.example +44 -0
  98. package/mcp.json.example +14 -0
  99. package/package.json +97 -0
package/docs/setup.md ADDED
@@ -0,0 +1,404 @@
1
+ # Michi セットアップガイド
2
+
3
+ ## 前提条件
4
+
5
+ - Node.js 20.x以上
6
+ - npm 10.x以上
7
+ - Git(または Jujutsu (jj) も使用可能)
8
+ - Cursor IDE または VS Code
9
+ - GitHub CLI (gh) - PR作成時に使用
10
+ - **cc-sdd**: AI駆動開発ワークフローのコアフレームワーク
11
+
12
+ ## 1. リポジトリのクローン
13
+
14
+ ```bash
15
+ # Gitを使う場合(一般的)
16
+ git clone https://github.com/sk8metalme/michi
17
+ cd michi
18
+
19
+ # Jujutsu (jj) を使う場合
20
+ # jj git clone https://github.com/sk8metalme/michi
21
+ # cd michi
22
+ ```
23
+
24
+ ## 2. cc-sddのインストール
25
+
26
+ cc-sddは、Michiの仕様駆動開発ワークフローのコアフレームワークです。
27
+
28
+ ```bash
29
+ # Cursor IDE を使用する場合
30
+ npx cc-sdd@latest --lang ja --cursor
31
+
32
+ # Claude Code を使用する場合
33
+ npx cc-sdd@latest --lang ja --claude
34
+
35
+ # Gemini CLI を使用する場合
36
+ npx cc-sdd@latest --lang ja --gemini
37
+
38
+ # Codex CLI を使用する場合
39
+ npx cc-sdd@next --lang ja --codex
40
+
41
+ # GitHub Copilot を使用する場合
42
+ npx cc-sdd@next --lang ja --copilot
43
+
44
+ # Windsurf IDE を使用する場合
45
+ npx cc-sdd@next --lang ja --windsurf
46
+ ```
47
+
48
+ **実行内容:**
49
+ - `.kiro/settings/` にテンプレート作成
50
+ - `.cursor/commands/kiro/` または `.claude/commands/kiro/` にコマンド作成
51
+ - `AGENTS.md` または `CLAUDE.md` にプロジェクト設定追加
52
+
53
+ 詳細: [cc-sdd公式ドキュメント](https://github.com/gotalab/cc-sdd/blob/main/tools/cc-sdd/README_ja.md)
54
+
55
+ ## 3. 依存関係のインストール
56
+
57
+ ```bash
58
+ npm install
59
+ ```
60
+
61
+ ## 4. 環境変数の設定
62
+
63
+ ### 4-1. .env ファイルの作成
64
+
65
+ ```bash
66
+ # テンプレートファイルをコピー
67
+ cp env.example .env
68
+ ```
69
+
70
+ ### 4-2. 認証情報の設定
71
+
72
+ `.env` ファイルを編集して、実際の認証情報を設定します:
73
+
74
+ ```bash
75
+ # Atlassian設定
76
+ ATLASSIAN_URL=https://your-domain.atlassian.net
77
+ ATLASSIAN_EMAIL=your-email@company.com
78
+ ATLASSIAN_API_TOKEN=<ATLASSIANトークン>
79
+
80
+ # GitHub設定
81
+ GITHUB_ORG=sk8metalme
82
+ GITHUB_TOKEN=<GitHubトークン>
83
+ GITHUB_REPO=sk8metalme/michi
84
+
85
+ # Confluence設定
86
+ CONFLUENCE_PRD_SPACE=PRD
87
+ CONFLUENCE_QA_SPACE=QA
88
+ CONFLUENCE_RELEASE_SPACE=RELEASE
89
+
90
+ # JIRA設定
91
+ JIRA_PROJECT_KEYS=MICHI
92
+
93
+ # JIRA Issue Type IDs(JIRAインスタンス固有の値 - 必須)
94
+ # これらの値は各JIRAインスタンスで異なるため、必ず設定してください。
95
+ #
96
+ # 確認方法:
97
+ # 1. JIRA管理画面: Settings > Issues > Issue types で確認
98
+ # 2. REST API: GET https://your-domain.atlassian.net/rest/api/3/issuetype
99
+ # レスポンスから "Story" と "Subtask" の "id" フィールドを取得
100
+ # 例: {"id": "10036", "name": "Story", ...}
101
+ JIRA_ISSUE_TYPE_STORY=10036
102
+ JIRA_ISSUE_TYPE_SUBTASK=10037
103
+
104
+ # Slack通知(オプション)
105
+ SLACK_WEBHOOK_URL=<SlackWebhook URL>
106
+
107
+ # ワークフロー承認ゲート(オプション)
108
+ # カンマ区切りでロール名を指定。未設定の場合はデフォルト値を使用
109
+ APPROVAL_GATES_REQUIREMENTS=pm,director
110
+ APPROVAL_GATES_DESIGN=architect,director
111
+ APPROVAL_GATES_RELEASE=sm,director
112
+ ```
113
+
114
+ ### 4-3. ワークフロー承認ゲートの設定(オプション)
115
+
116
+ ワークフロー実行時(`michi workflow:run`)の承認ゲートで使用するロール名を設定できます。
117
+
118
+ #### 設定方法
119
+
120
+ `.env` ファイルに以下の環境変数を追加:
121
+
122
+ ```bash
123
+ # 要件定義フェーズの承認者
124
+ APPROVAL_GATES_REQUIREMENTS=pm,director
125
+
126
+ # 設計フェーズの承認者
127
+ APPROVAL_GATES_DESIGN=architect,director
128
+
129
+ # リリースフェーズの承認者
130
+ APPROVAL_GATES_RELEASE=sm,director
131
+ ```
132
+
133
+ #### 設定例
134
+
135
+ **英語ロール名を使用する場合:**
136
+ ```bash
137
+ APPROVAL_GATES_REQUIREMENTS=product-manager,cto,legal
138
+ APPROVAL_GATES_DESIGN=tech-lead,architect,security
139
+ APPROVAL_GATES_RELEASE=release-manager,qa-lead,director
140
+ ```
141
+
142
+ **日本語ロール名を使用する場合:**
143
+ ```bash
144
+ APPROVAL_GATES_REQUIREMENTS=企画,部長
145
+ APPROVAL_GATES_DESIGN=アーキテクト,部長
146
+ APPROVAL_GATES_RELEASE=SM,部長
147
+ ```
148
+
149
+ **組織固有のロール名を使用する場合:**
150
+ ```bash
151
+ APPROVAL_GATES_REQUIREMENTS=プロダクトマネージャー,CTO,法務
152
+ APPROVAL_GATES_DESIGN=テックリード,アーキテクト,セキュリティ
153
+ APPROVAL_GATES_RELEASE=リリースマネージャー,QAリード,部長
154
+ ```
155
+
156
+ #### デフォルト値
157
+
158
+ 環境変数が設定されていない場合、以下のデフォルト値が使用されます:
159
+
160
+ - `APPROVAL_GATES_REQUIREMENTS`: `pm,director`
161
+ - `APPROVAL_GATES_DESIGN`: `architect,director`
162
+ - `APPROVAL_GATES_RELEASE`: `sm,director`
163
+
164
+ #### 注意事項
165
+
166
+ - ロール名はカンマ区切りで指定します
167
+ - 各ロール名の前後の空白は自動的にトリムされます
168
+ - 空のロール名は無視されます
169
+ - 環境変数が未設定の場合は、デフォルト値が使用されます
170
+
171
+ ### 4-4. 認証トークンの取得方法
172
+
173
+ #### Atlassian API Token
174
+ 1. https://id.atlassian.com/manage-profile/security/api-tokens にアクセス
175
+ 2. 「APIトークンを作成」をクリック
176
+ 3. トークン名を入力(例: michi-automation)
177
+ 4. 生成されたトークンをコピーして `.env` に貼り付け
178
+
179
+ #### GitHub Token
180
+ ```bash
181
+ gh auth login
182
+ gh auth token
183
+ ```
184
+
185
+ 生成されたトークンを `.env` の `GITHUB_TOKEN` に設定
186
+
187
+ #### Slack Webhook URL(オプション)
188
+ 1. https://api.slack.com/apps にアクセス
189
+ 2. 新しいアプリを作成
190
+ 3. Incoming Webhooks を有効化
191
+ 4. Webhook URL を生成して `.env` に設定
192
+
193
+ ## 5. Atlassian MCP サーバーの設定
194
+
195
+ ### 5-1. MCP設定ファイルの作成
196
+
197
+ プロジェクトルートの `mcp.json.example` を参考に、ホームディレクトリに `~/.cursor/mcp.json` を作成:
198
+
199
+ ```bash
200
+ # テンプレートをコピー
201
+ mkdir -p ~/.cursor
202
+ cp mcp.json.example ~/.cursor/mcp.json
203
+ ```
204
+
205
+ ### 5-2. 実際の認証情報に置き換え
206
+
207
+ `~/.cursor/mcp.json` を編集して、`.env` と同じ認証情報を設定:
208
+
209
+ ```json
210
+ {
211
+ "mcpServers": {
212
+ "atlassian": {
213
+ "command": "npx",
214
+ "args": ["-y", "@atlassian/mcp-server-atlassian"],
215
+ "env": {
216
+ "ATLASSIAN_URL": "https://your-domain.atlassian.net",
217
+ "ATLASSIAN_EMAIL": "your-email@company.com",
218
+ "ATLASSIAN_API_TOKEN": "your-token-here"
219
+ }
220
+ }
221
+ }
222
+ }
223
+ ```
224
+
225
+ ## 6. プロジェクトメタデータの確認
226
+
227
+ `.kiro/project.json` を確認・編集:
228
+
229
+ ```json
230
+ {
231
+ "projectId": "michi",
232
+ "projectName": "Michi - Managed Intelligent Comprehensive Hub for Integration",
233
+ "jiraProjectKey": "MICHI",
234
+ "confluenceLabels": ["project:michi", "service:hub"],
235
+ "status": "active",
236
+ "team": ["@developer1"],
237
+ "stakeholders": ["@pm", "@director"]
238
+ }
239
+ ```
240
+
241
+ ## 6-2. プロジェクト固有設定ファイル(オプション)
242
+
243
+ `.kiro/config.json` を作成することで、Confluence/JIRAの動作をカスタマイズできます。
244
+
245
+ ### 設定ファイルの作成
246
+
247
+ プロジェクトルートに `.kiro/config.json` を作成:
248
+
249
+ ```json
250
+ {
251
+ "confluence": {
252
+ "pageCreationGranularity": "by-hierarchy",
253
+ "spaces": {
254
+ "requirements": "Michi",
255
+ "design": "Michi",
256
+ "tasks": "Michi"
257
+ },
258
+ "hierarchy": {
259
+ "mode": "simple",
260
+ "parentPageTitle": "[{projectName}] {featureName}"
261
+ }
262
+ },
263
+ "jira": {
264
+ "createEpic": true,
265
+ "storyCreationGranularity": "all",
266
+ "storyPoints": "auto",
267
+ "issueTypes": {
268
+ "story": "10036",
269
+ "subtask": "10037"
270
+ }
271
+ },
272
+ "workflow": {
273
+ "enabledPhases": ["requirements", "design", "tasks"],
274
+ "approvalGates": {
275
+ "requirements": ["leader", "director"],
276
+ "design": ["leader", "director"],
277
+ "release": ["service-manager", "director"]
278
+ }
279
+ }
280
+ }
281
+ ```
282
+
283
+ ### 設定値の詳細
284
+
285
+ すべての設定値の詳細は [設定値リファレンス](./config-reference.md) を参照してください。
286
+
287
+ ### 設定の優先順位
288
+
289
+ 設定値は以下の優先順位で決定されます:
290
+
291
+ 1. **`spec.json`**: 機能固有の設定(最優先)
292
+ 2. **`.kiro/config.json`**: プロジェクト固有の設定
293
+ 3. **環境変数**: システム環境変数または`.env`ファイル
294
+ 4. **デフォルト値**: スキーマで定義されたデフォルト値
295
+
296
+ ### 設定のバリデーション
297
+
298
+ 設定ファイルは実行前に自動的にバリデーションされます。手動でバリデーションを実行する場合:
299
+
300
+ ```bash
301
+ # Michiプロジェクトディレクトリで実行
302
+ npx tsx scripts/utils/config-validator.ts
303
+
304
+ # または、別のプロジェクトディレクトリで実行
305
+ npx tsx /path/to/michi/scripts/utils/config-validator.ts /path/to/project
306
+ ```
307
+
308
+ ### よくある設定パターン
309
+
310
+ 詳細は [カスタマイズガイド](./customization-guide.md) を参照してください。
311
+
312
+ ## 7. Cursor IDE の設定
313
+
314
+ ### 7-1. Cursor でプロジェクトを開く
315
+
316
+ ```bash
317
+ cursor .
318
+ ```
319
+
320
+ ### 7-2. 利用可能なコマンドの確認
321
+
322
+ Cursor のコマンドパネル(Cmd+Shift+P)で `/kiro:` と入力すると、以下のコマンドが表示されます:
323
+
324
+ - `/kiro:spec-init <機能説明>` - 新機能の仕様を初期化
325
+ - `/kiro:spec-requirements <feature>` - 要件定義を生成
326
+ - `/kiro:spec-design <feature>` - 設計ドキュメントを生成
327
+ - `/kiro:spec-tasks <feature>` - 実装タスクを生成
328
+ - `/kiro:spec-impl <feature> <tasks>` - TDDで実装
329
+ - `/kiro:steering` - プロジェクトステアリングを作成/更新
330
+
331
+ 凡例の詳細は [README.md#凡例の記号説明](../README.md#凡例の記号説明) を参照してください。
332
+
333
+ ## 8. 動作確認
334
+
335
+ ### 8-1. TypeScript コンパイル確認
336
+
337
+ ```bash
338
+ npm run type-check
339
+ ```
340
+
341
+ ### 8-2. スクリプトの動作確認
342
+
343
+ ```bash
344
+ # プロジェクト一覧の表示(準備中)
345
+ npm run project:list
346
+ ```
347
+
348
+ ## トラブルシューティング
349
+
350
+ ### npm install でエラーが出る
351
+
352
+ キャッシュをクリア:
353
+ ```bash
354
+ npm cache clean --force
355
+ rm -rf node_modules package-lock.json
356
+ npm install
357
+ ```
358
+
359
+ ### MCP サーバーが動作しない
360
+
361
+ 1. Cursor を再起動
362
+ 2. `~/.cursor/mcp.json` の認証情報を確認
363
+ 3. Atlassian API Token が有効か確認
364
+
365
+ ### GitHub認証エラー
366
+
367
+ ```bash
368
+ gh auth status
369
+ gh auth login
370
+ gh auth setup-git
371
+ ```
372
+
373
+ ## 次のステップ
374
+
375
+ セットアップが完了したら、以下のドキュメントを参照:
376
+
377
+ - [ワークフローガイド](./workflow.md) - AI開発フロー
378
+ - [マルチプロジェクト管理](./multi-project.md) - 複数プロジェクト管理
379
+ - [API仕様](./api.md) - スクリプトAPI仕様
380
+
381
+ ## 参考リンク
382
+
383
+ ### AI開発フレームワーク
384
+
385
+ - [cc-sdd公式ドキュメント](https://github.com/gotalab/cc-sdd/blob/main/tools/cc-sdd/README_ja.md)
386
+ - [cc-sdd コマンドリファレンス](https://github.com/gotalab/cc-sdd/blob/main/docs/guides/command-reference.md)
387
+ - [cc-sdd カスタマイズガイド](https://github.com/gotalab/cc-sdd/blob/main/docs/guides/customization-guide.md)
388
+ - [Kiro IDE](https://kiro.dev/docs/)
389
+
390
+ ### バージョン管理
391
+
392
+ - [Jujutsu (jj) 公式サイト](https://martinvonz.github.io/jj/)
393
+ - [Jujutsu インストールガイド](https://martinvonz.github.io/jj/latest/install-and-setup/)
394
+
395
+ ### Atlassian統合
396
+
397
+ - [Atlassian MCP Server](https://www.atlassian.com/ja/platform/remote-mcp-server)
398
+ - [Atlassian API トークン作成](https://id.atlassian.com/manage-profile/security/api-tokens)
399
+
400
+ ### IDE・開発ツール
401
+
402
+ - [Cursor IDE](https://cursor.sh/)
403
+ - [GitHub CLI](https://cli.github.com/)
404
+