@sk8metal/michi-cli 0.10.1 → 0.12.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.
Files changed (139) hide show
  1. package/README.md +71 -848
  2. package/dist/scripts/constants/environments.d.ts +1 -1
  3. package/dist/scripts/constants/environments.d.ts.map +1 -1
  4. package/dist/scripts/constants/environments.js +0 -20
  5. package/dist/scripts/constants/environments.js.map +1 -1
  6. package/dist/scripts/phase-runner.js +1 -1
  7. package/dist/scripts/phase-runner.js.map +1 -1
  8. package/dist/scripts/utils/multi-repo-validator.d.ts +18 -0
  9. package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
  10. package/dist/scripts/utils/multi-repo-validator.js +42 -0
  11. package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
  12. package/dist/scripts/utils/tasks-format-validator.js +3 -3
  13. package/dist/scripts/utils/tasks-format-validator.js.map +1 -1
  14. package/dist/scripts/utils/template-finder.d.ts +2 -2
  15. package/dist/scripts/utils/template-finder.d.ts.map +1 -1
  16. package/dist/scripts/utils/template-finder.js +3 -8
  17. package/dist/scripts/utils/template-finder.js.map +1 -1
  18. package/dist/src/cli.d.ts.map +1 -1
  19. package/dist/src/cli.js +0 -8
  20. package/dist/src/cli.js.map +1 -1
  21. package/dist/src/commands/init.d.ts +0 -4
  22. package/dist/src/commands/init.d.ts.map +1 -1
  23. package/dist/src/commands/init.js +6 -30
  24. package/dist/src/commands/init.js.map +1 -1
  25. package/dist/src/commands/setup-existing.d.ts +2 -6
  26. package/dist/src/commands/setup-existing.d.ts.map +1 -1
  27. package/dist/src/commands/setup-existing.js +8 -142
  28. package/dist/src/commands/setup-existing.js.map +1 -1
  29. package/docs/README.md +20 -83
  30. package/docs/getting-started/configuration.md +350 -0
  31. package/docs/getting-started/installation.md +59 -0
  32. package/docs/getting-started/quick-start.md +76 -0
  33. package/docs/guides/atlassian-integration.md +116 -0
  34. package/docs/guides/claude-code.md +155 -0
  35. package/docs/guides/multi-repo.md +117 -0
  36. package/docs/guides/workflow.md +382 -0
  37. package/docs/reference/ai-commands.md +92 -0
  38. package/docs/reference/cli.md +752 -0
  39. package/docs/reference/environment-variables.md +192 -0
  40. package/docs/troubleshooting.md +498 -0
  41. package/package.json +1 -3
  42. package/scripts/__tests__/create-project.test.ts +12 -12
  43. package/scripts/__tests__/setup-existing-project.test.ts +22 -22
  44. package/scripts/constants/__tests__/environments.test.ts +7 -50
  45. package/scripts/constants/environments.ts +1 -27
  46. package/scripts/phase-runner.ts +1 -1
  47. package/scripts/template/__tests__/renderer.test.ts +21 -21
  48. package/scripts/utils/__tests__/multi-repo-validator.test.ts +159 -1
  49. package/scripts/utils/multi-repo-validator.ts +50 -0
  50. package/scripts/utils/tasks-format-validator.ts +3 -3
  51. package/scripts/utils/template-finder.ts +5 -11
  52. package/templates/claude/agents/e2e-first-planner/AGENT.md +1 -1
  53. package/templates/claude/agents/pr-resolver/AGENT.md +15 -3
  54. package/templates/claude/commands/michi/e2e-plan.md +1 -1
  55. package/templates/claude/commands/michi/spec-design.md +2 -2
  56. package/templates/claude/commands/michi/spec-tasks.md +156 -0
  57. package/templates/claude/commands/michi/test-planning.md +1 -1
  58. package/templates/claude/commands/michi/validate-design.md +3 -3
  59. package/templates/claude/commands/michi-multi-repo/impl-all.md +30 -1
  60. package/templates/claude/commands/michi-multi-repo/propagate-specs.md +14 -1
  61. package/templates/claude/commands/michi-multi-repo/spec-review.md +16 -2
  62. package/templates/claude-agent/agents/repo-spec-executor.md +1 -1
  63. package/templates/claude-agent/commands/michi/spec-tasks.md +117 -0
  64. package/templates/claude-agent/rules/code-size-monitor.md +26 -0
  65. package/templates/claude-agent/rules/code-size-rules.md +32 -0
  66. package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +1 -1
  67. package/docs/context.md +0 -59
  68. package/docs/michi-development/contributing/development.md +0 -341
  69. package/docs/michi-development/contributing/release.md +0 -365
  70. package/docs/michi-development/design/config-unification.md +0 -733
  71. package/docs/michi-development/design/design-config-current-state.md +0 -330
  72. package/docs/michi-development/design/design-config-implementation.md +0 -628
  73. package/docs/michi-development/design/design-config-migration.md +0 -952
  74. package/docs/michi-development/design/design-config-security.md +0 -771
  75. package/docs/michi-development/design/design-config-solution.md +0 -583
  76. package/docs/michi-development/design/design-config-testing.md +0 -892
  77. package/docs/michi-development/testing/manual-verification-flow.md +0 -871
  78. package/docs/michi-development/testing/manual-verification-other-tools.md +0 -1279
  79. package/docs/michi-development/testing/manual-verification-troubleshooting.md +0 -122
  80. package/docs/michi-development/testing/pre-publish-checklist.md +0 -560
  81. package/docs/michi-development/testing-strategy.md +0 -87
  82. package/docs/plan.md +0 -275
  83. package/docs/user-guide/getting-started/github-token-setup.md +0 -510
  84. package/docs/user-guide/getting-started/new-repository-setup.md +0 -704
  85. package/docs/user-guide/getting-started/quick-start.md +0 -212
  86. package/docs/user-guide/getting-started/setup.md +0 -819
  87. package/docs/user-guide/guides/agent-skills-integration.md +0 -222
  88. package/docs/user-guide/guides/customization.md +0 -537
  89. package/docs/user-guide/guides/internationalization.md +0 -540
  90. package/docs/user-guide/guides/migration-guide.md +0 -138
  91. package/docs/user-guide/guides/multi-project.md +0 -368
  92. package/docs/user-guide/guides/multi-repo-guide.md +0 -1590
  93. package/docs/user-guide/guides/phase-automation.md +0 -419
  94. package/docs/user-guide/guides/workflow.md +0 -574
  95. package/docs/user-guide/hands-on/README.md +0 -142
  96. package/docs/user-guide/hands-on/claude-agent-setup.md +0 -597
  97. package/docs/user-guide/hands-on/claude-setup.md +0 -452
  98. package/docs/user-guide/hands-on/cursor-setup.md +0 -353
  99. package/docs/user-guide/hands-on/troubleshooting.md +0 -964
  100. package/docs/user-guide/hands-on/verification-checklist.md +0 -439
  101. package/docs/user-guide/hands-on/workflow-walkthrough.md +0 -1078
  102. package/docs/user-guide/reference/config.md +0 -589
  103. package/docs/user-guide/reference/multi-repo-api.md +0 -771
  104. package/docs/user-guide/reference/quick-reference.md +0 -297
  105. package/docs/user-guide/reference/security-test-payloads.md +0 -50
  106. package/docs/user-guide/reference/tasks-template.md +0 -550
  107. package/docs/user-guide/release/ci-setup-java.md +0 -114
  108. package/docs/user-guide/release/ci-setup-nodejs.md +0 -94
  109. package/docs/user-guide/release/ci-setup-php.md +0 -102
  110. package/docs/user-guide/release/ci-setup-troubleshooting.md +0 -94
  111. package/docs/user-guide/release/ci-setup.md +0 -188
  112. package/docs/user-guide/release/release-flow.md +0 -476
  113. package/docs/user-guide/templates/test-specs/README.md +0 -173
  114. package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +0 -553
  115. package/docs/user-guide/templates/test-specs/integration-test-spec-template.md +0 -435
  116. package/docs/user-guide/templates/test-specs/performance-test-spec-template.md +0 -454
  117. package/docs/user-guide/templates/test-specs/security-test-spec-template.md +0 -625
  118. package/docs/user-guide/templates/test-specs/unit-test-spec-template.md +0 -328
  119. package/docs/user-guide/testing/integration-tests.md +0 -312
  120. package/docs/user-guide/testing/tdd-cycle.md +0 -349
  121. package/docs/user-guide/testing/test-execution-flow.md +0 -396
  122. package/docs/user-guide/testing/test-failure-handling.md +0 -521
  123. package/docs/user-guide/testing/test-planning-flow.md +0 -185
  124. package/docs/user-guide/testing-strategy.md +0 -185
  125. package/docs/verification-guide.md +0 -518
  126. package/templates/cline/rules/atlassian-integration.md +0 -36
  127. package/templates/cline/rules/michi-core.md +0 -56
  128. package/templates/codex/AGENTS.override.md +0 -277
  129. package/templates/codex/prompts/confluence-sync.md +0 -177
  130. package/templates/codex/rules/README.md +0 -210
  131. package/templates/cursor/commands/kiro/kiro-spec-impl.md +0 -244
  132. package/templates/cursor/commands/kiro/kiro-spec-tasks.md +0 -354
  133. package/templates/cursor/commands/michi/confluence-sync.md +0 -76
  134. package/templates/cursor/commands/michi/project-switch.md +0 -69
  135. package/templates/cursor/rules/atlassian-mcp.mdc +0 -188
  136. package/templates/cursor/rules/github-ssot.mdc +0 -151
  137. package/templates/cursor/rules/multi-project.mdc +0 -81
  138. package/templates/gemini/commands/README.md +0 -41
  139. package/templates/gemini/rules/GEMINI.md +0 -80
@@ -1,540 +0,0 @@
1
- # AI駆動多言語対応ガイド
2
-
3
- > **凡例について**: `<feature>` などの記号の意味は [README.md#凡例の記号説明](../../README.md#凡例の記号説明) を参照してください。
4
-
5
- ## 概要
6
-
7
- Michiは、cc-sdd準拠のAI駆動多言語対応システムを採用しています。このアプローチでは、静的な翻訳ファイルを使用せず、AIの多言語生成能力を最大限に活用します。
8
-
9
- ### 主な特徴
10
-
11
- - ✅ **単一の英語テンプレート**: 翻訳ファイル不要、英語テンプレートのみ管理
12
- - ✅ **AI駆動生成**: 実行時に目的言語で出力を生成
13
- - ✅ **12言語サポート**: 日本語、英語、中国語(繁体字/簡体字)、スペイン語、ポルトガル語、ドイツ語、フランス語、ロシア語、イタリア語、韓国語、アラビア語
14
- - ✅ **1行で言語追加**: 新言語追加が簡単
15
- - ✅ **ゼロ依存**: 外部i18nライブラリ不要
16
-
17
- ## 設計思想
18
-
19
- ### Think in English, Generate in Target Language
20
-
21
- ```typescript
22
- const DEV_GUIDELINES_MAP = {
23
- ja: '- Think in English, but generate responses in Japanese (思考は英語、回答の生成は日本語で行うように)'
24
- };
25
- ```
26
-
27
- この指示により:
28
-
29
- 1. **AIは英語で推論**: 最高品質の推論能力を発揮
30
- 2. **出力は目的言語で生成**: 自然で文化的に適切な表現
31
- 3. **翻訳臭さを回避**: 機械翻訳的な不自然さがない
32
-
33
- ### 従来のアプローチとの比較
34
-
35
- #### ❌ 従来のi18nアプローチ(不採用)
36
-
37
- ```
38
- locales/ja/rules/michi-core.md ← 日本語翻訳ファイル
39
- locales/en/rules/michi-core.md ← 英語ファイル
40
- locales/zh/rules/michi-core.md ← 中国語翻訳ファイル
41
- locales/es/rules/michi-core.md ← スペイン語翻訳ファイル
42
- ...
43
- ```
44
-
45
- **問題点**:
46
- - 翻訳ファイル12個×ファイル数の管理負担
47
- - 翻訳の品質管理が困難
48
- - 更新時の同期作業が発生
49
- - 翻訳の一貫性を保つのが難しい
50
- - ファイル数の爆発(言語 × ファイル)
51
-
52
- #### ✅ AI駆動アプローチ(採用)
53
-
54
- ```
55
- templates/cursor/rules/github-ssot.md (英語のみ)
56
- + {{DEV_GUIDELINES}} プレースホルダー
57
- + AI が実行時に指定言語で生成
58
- ```
59
-
60
- **利点**:
61
- - 英語テンプレート1つのみ管理
62
- - 新言語追加が1行で完了
63
- - AIの多言語能力を最大限活用
64
- - 文脈依存の自然な表現
65
- - メンテナンスコストが低い
66
-
67
- ### メタデータ駆動
68
-
69
- プロジェクトの言語設定は `.kiro/project.json` で管理:
70
-
71
- ```json
72
- {
73
- "projectId": "my-project",
74
- "language": "ja"
75
- }
76
- ```
77
-
78
- AIコマンド実行時、このメタデータを読み取り、指定言語で出力を生成します。
79
-
80
- ## サポート言語
81
-
82
- Michiは以下の12言語をサポートしています:
83
-
84
- | 言語コード | 言語名 | DEV_GUIDELINES |
85
- |-----------|--------|----------------|
86
- | `en` | English | Think in English, generate responses in English |
87
- | `ja` | 日本語 | Think in English, but generate responses in Japanese |
88
- | `zh-TW` | 繁體中文 | 以英文思考,但以繁體中文生成回應 |
89
- | `zh` | 简体中文 | 以英文思考,但以简体中文生成回复 |
90
- | `es` | Español | Think in English, generate responses in Spanish |
91
- | `pt` | Português | Think in English, generate responses in Portuguese |
92
- | `de` | Deutsch | Think in English, generate responses in German |
93
- | `fr` | Français | Think in English, generate responses in French |
94
- | `ru` | Русский | Think in English, generate responses in Russian |
95
- | `it` | Italiano | Think in English, generate responses in Italian |
96
- | `ko` | 한국어 | Think in English, generate responses in Korean |
97
- | `ar` | العربية | Think in English, generate responses in Arabic |
98
-
99
- ## プレースホルダーシステム
100
-
101
- ### 利用可能なプレースホルダー
102
-
103
- テンプレートで使用できるプレースホルダー:
104
-
105
- | プレースホルダー | 説明 | 例 |
106
- |-----------------|------|-----|
107
- | `{{LANG_CODE}}` | 言語コード | `ja`, `en` |
108
- | `{{DEV_GUIDELINES}}` | 開発ガイドライン | `- Think in English, but generate responses in Japanese...` |
109
- | `{{KIRO_DIR}}` | Kiroディレクトリ名 | `.kiro` |
110
- | `{{AGENT_DIR}}` | エージェントディレクトリ名 | `.cursor`, `.claude` |
111
- | `{{PROJECT_ID}}` | プロジェクトID | `my-project` |
112
- | `{{FEATURE_NAME}}` | 機能名 | `user-auth` |
113
- | `{{TIMESTAMP}}` | タイムスタンプ | `2025-01-15T10:30:00Z` |
114
-
115
- ### プレースホルダーの置換ルール
116
-
117
- プレースホルダーは正規表現ベースで置換されます:
118
-
119
- ```typescript
120
- template.replace(/\{\{([A-Z_]+)\}\}/g, (match, key) => {
121
- const value = context[key];
122
- return value !== undefined ? String(value) : match;
123
- });
124
- ```
125
-
126
- **重要**: プレースホルダー名は:
127
- - 大文字のみ(`A-Z`)
128
- - アンダースコア区切り(`_`)
129
- - 二重中括弧で囲む(`{{...}}`)
130
-
131
- ## テンプレート作成ガイド
132
-
133
- ### 基本的なテンプレート構造
134
-
135
- 英語でテンプレートを作成し、`{{DEV_GUIDELINES}}`プレースホルダーを挿入します。
136
-
137
- **テンプレート例** (`templates/cursor/rules/github-ssot.md`):
138
-
139
- ```markdown
140
- ---
141
- title: GitHub Single Source of Truth Rules
142
- description: {{DEV_GUIDELINES}} for using GitHub as SSoT and syncing with Confluence
143
- ---
144
-
145
- # GitHub Single Source of Truth (SSoT) Rules
146
-
147
- ## Basic Principles
148
-
149
- ### Single Source of Truth
150
- - **All specifications managed in GitHub** (.kiro/specs/)
151
- - Confluence is **for reference and approval only** (edit only in GitHub)
152
- - Avoid dual management
153
-
154
- ### Data Flow
155
- ```
156
- GitHub (.kiro/specs/) ← Source of Truth (editable)
157
- ↓ sync
158
- Confluence ← View & Approval only (read-only)
159
- ```
160
- ```
161
-
162
- ### `{{DEV_GUIDELINES}}`の挿入位置
163
-
164
- `{{DEV_GUIDELINES}}`は以下の場所に挿入することを推奨します:
165
-
166
- 1. **ファイルヘッダーのdescription**: メタデータとして
167
- 2. **開発ルールセクション**: AIへの指示として
168
- 3. **コマンドの説明**: 出力言語の指定として
169
-
170
- **推奨パターン**:
171
-
172
- ```markdown
173
- ---
174
- title: Rule Name
175
- description: {{DEV_GUIDELINES}} for specific context
176
- ---
177
-
178
- # Rule Title
179
-
180
- ## Development Guidelines
181
-
182
- {{DEV_GUIDELINES}}
183
-
184
- ## Other Sections
185
- ...
186
- ```
187
-
188
- ### レンダリング結果
189
-
190
- 上記のテンプレートが日本語(`ja`)でレンダリングされた場合:
191
-
192
- ```markdown
193
- ---
194
- title: GitHub Single Source of Truth Rules
195
- description: - Think in English, but generate responses in Japanese (思考は英語、回答の生成は日本語で行うように) for using GitHub as SSoT and syncing with Confluence
196
- ---
197
-
198
- # GitHub Single Source of Truth (SSoT) Rules
199
-
200
- ## Basic Principles
201
- ...
202
- ```
203
-
204
- ## 実装詳細
205
-
206
- ### TemplateContext
207
-
208
- テンプレートコンテキストは `createTemplateContext()` 関数で作成されます:
209
-
210
- ```typescript
211
- // scripts/template/renderer.ts
212
- export interface TemplateContext {
213
- LANG_CODE: SupportedLanguage;
214
- DEV_GUIDELINES: string;
215
- KIRO_DIR: string;
216
- AGENT_DIR: string;
217
- PROJECT_ID?: string;
218
- FEATURE_NAME?: string;
219
- TIMESTAMP?: string;
220
- }
221
-
222
- export const createTemplateContext = (
223
- lang: SupportedLanguage,
224
- kiroDir: string,
225
- agentDir: string
226
- ): TemplateContext => ({
227
- LANG_CODE: lang,
228
- DEV_GUIDELINES: getDevGuidelines(lang),
229
- KIRO_DIR: kiroDir,
230
- AGENT_DIR: agentDir,
231
- });
232
- ```
233
-
234
- ### DEV_GUIDELINES_MAP
235
-
236
- 各言語のガイドラインは `scripts/constants/languages.ts` で定義されています:
237
-
238
- ```typescript
239
- export const DEV_GUIDELINES_MAP: Record<SupportedLanguage, string> = {
240
- en: '- Think in English, generate responses in English',
241
-
242
- ja: '- Think in English, but generate responses in Japanese ' +
243
- '(思考は英語、回答の生成は日本語で行うように)',
244
-
245
- 'zh-TW': '- 以英文思考,但以繁體中文生成回應' +
246
- '(Think in English, generate in Traditional Chinese)',
247
-
248
- // ... 他の言語
249
- };
250
- ```
251
-
252
- ### レンダリング処理
253
-
254
- テンプレートのレンダリングは `renderTemplate()` 関数で行われます:
255
-
256
- ```typescript
257
- // scripts/template/renderer.ts
258
- export const renderTemplate = (
259
- template: string,
260
- context: TemplateContext
261
- ): string => {
262
- return template.replace(/\{\{([A-Z_]+)\}\}/g, (match, key) => {
263
- const value = context[key as keyof TemplateContext];
264
- return value !== undefined ? String(value) : match;
265
- });
266
- };
267
- ```
268
-
269
- ### プロジェクトセットアップでの使用
270
-
271
- `setup-existing` コマンドでテンプレートコンテキストが作成され、テンプレートがレンダリングされます:
272
-
273
- ```typescript
274
- // src/commands/setup-existing.ts (L374-378)
275
- const templateContext = createTemplateContext(
276
- config.langCode,
277
- '.kiro',
278
- envConfig.rulesDir.startsWith('.')
279
- ? envConfig.rulesDir.substring(1, envConfig.rulesDir.indexOf('/', 1))
280
- : envConfig.rulesDir.split('/')[0]
281
- );
282
-
283
- // テンプレートをコピーしてレンダリング
284
- copyAndRenderTemplates(templateSourceDir, destDir, templateContext);
285
- ```
286
-
287
- ## 新言語の追加方法
288
-
289
- 新しい言語を追加するのは非常に簡単です。
290
-
291
- ### Step 1: DEV_GUIDELINES_MAPに追加
292
-
293
- `scripts/constants/languages.ts` を編集:
294
-
295
- ```typescript
296
- export const supportedLanguages = [
297
- 'ja', 'en', 'zh-TW', 'zh', 'es', 'pt',
298
- 'de', 'fr', 'ru', 'it', 'ko', 'ar',
299
- 'vi' // ← 新しい言語を追加(ベトナム語の例)
300
- ] as const;
301
-
302
- export const DEV_GUIDELINES_MAP: Record<SupportedLanguage, string> = {
303
- // ... 既存の言語
304
-
305
- vi: '- Think in English, generate responses in Vietnamese ' +
306
- '(Suy nghĩ bằng tiếng Anh, trả lời bằng tiếng Việt)',
307
- };
308
- ```
309
-
310
- ### Step 2: テスト追加(推奨)
311
-
312
- `scripts/constants/__tests__/languages.test.ts` にテストを追加:
313
-
314
- ```typescript
315
- it('should have Vietnamese guideline', () => {
316
- expect(DEV_GUIDELINES_MAP.vi).toContain('Think in English');
317
- expect(DEV_GUIDELINES_MAP.vi).toContain('Vietnamese');
318
- });
319
- ```
320
-
321
- ### Step 3: 完了
322
-
323
- これだけです!新しい言語が即座に利用可能になります:
324
-
325
- ```bash
326
- # ベトナム語でプロジェクトをセットアップ
327
- npx @sk8metal/michi-cli setup-existing --cursor --lang vi
328
- ```
329
-
330
- ## 使用例
331
-
332
- ### Cursorでのプロジェクトセットアップ
333
-
334
- ```bash
335
- # 日本語(デフォルト)
336
- npx @sk8metal/michi-cli setup-existing --cursor
337
-
338
- # 英語
339
- npx @sk8metal/michi-cli setup-existing --cursor --lang en
340
-
341
- # スペイン語
342
- npx @sk8metal/michi-cli setup-existing --cursor --lang es
343
- ```
344
-
345
- ### 対話的セットアップ
346
-
347
- ```bash
348
- # 対話的プロンプトで言語を選択
349
- npx @sk8metal/michi-cli setup-existing
350
-
351
- # 出力例:
352
- # 環境を選択してください:
353
- # 1) Cursor IDE (推奨)
354
- # 2) Claude Code
355
- # 3) Claude Code Subagents
356
- # 選択 [1-3] (デフォルト: 1): 1
357
- # プロジェクト名(例: プロジェクトA): My Project
358
- # JIRAプロジェクトキー(例: PRJA): MYPROJ
359
- ```
360
-
361
- ### プログラムからの使用
362
-
363
- ```typescript
364
- import { setupExisting } from '@sk8metal/michi-cli/commands';
365
-
366
- await setupExisting({
367
- cursor: true,
368
- lang: 'ja',
369
- projectName: 'マイプロジェクト',
370
- jiraKey: 'MYPROJ'
371
- });
372
- ```
373
-
374
- ## トラブルシューティング
375
-
376
- ### テンプレートが正しくレンダリングされない
377
-
378
- **症状**: `{{DEV_GUIDELINES}}`がそのまま残っている
379
-
380
- **原因**: プレースホルダー名が大文字でない、または形式が正しくない
381
-
382
- **解決方法**:
383
- - プレースホルダー名を確認: `{{DEV_GUIDELINES}}` (大文字のみ)
384
- - 二重中括弧を確認: `{{...}}` (シングル括弧は不可)
385
-
386
- ### サポートされていない言語コードを指定
387
-
388
- **症状**: `Unsupported language: xx` エラー
389
-
390
- **原因**: 指定された言語コードがサポートされていない
391
-
392
- **解決方法**:
393
- - サポート言語リストを確認(本ドキュメントの「サポート言語」セクション参照)
394
- - 新しい言語を追加(「新言語の追加方法」セクション参照)
395
-
396
- ### テンプレートファイルが見つからない
397
-
398
- **症状**: `Templates directory not found` エラー
399
-
400
- **原因**: テンプレートディレクトリが存在しない、またはパスが正しくない
401
-
402
- **解決方法**:
403
- ```bash
404
- # パッケージが正しくインストールされているか確認
405
- npm list @sk8metal/michi-cli
406
-
407
- # 再インストール
408
- npm install -g @sk8metal/michi-cli
409
- ```
410
-
411
- ## ベストプラクティス
412
-
413
- ### 1. 英語でテンプレートを作成
414
-
415
- すべてのテンプレートは英語で記述してください。AIが各言語で適切に生成します。
416
-
417
- **推奨**:
418
- ```markdown
419
- # User Authentication Rules
420
-
421
- {{DEV_GUIDELINES}}
422
-
423
- ## Basic Principles
424
- - Use secure password hashing
425
- - Implement 2FA for sensitive operations
426
- ```
427
-
428
- **非推奨**: 各言語で個別ファイルを作成
429
- ```
430
- templates/ja/auth.md ← 避ける
431
- templates/en/auth.md ← 避ける
432
- ```
433
-
434
- ### 2. `{{DEV_GUIDELINES}}`を適切な場所に配置
435
-
436
- - ファイルの先頭(メタデータ内)
437
- - AIへの指示セクション
438
- - コンテキスト依存の場所
439
-
440
- ### 3. プレースホルダーの過度な使用を避ける
441
-
442
- 必要な場所にのみプレースホルダーを使用してください。過度な使用はテンプレートを読みにくくします。
443
-
444
- **推奨**:
445
- ```markdown
446
- # {{FEATURE_NAME}} Specification
447
-
448
- Project: {{PROJECT_ID}}
449
- Language: {{LANG_CODE}}
450
-
451
- {{DEV_GUIDELINES}}
452
- ```
453
-
454
- **非推奨**: 過度なプレースホルダー
455
- ```markdown
456
- # {{TITLE_{{LANG_CODE}}}} ← 複雑すぎる
457
- ```
458
-
459
- ### 4. テストを追加
460
-
461
- 新しい言語を追加した場合は、必ずテストを追加してください:
462
-
463
- ```typescript
464
- describe('New Language', () => {
465
- it('should have guidelines for new language', () => {
466
- expect(DEV_GUIDELINES_MAP.newlang).toBeDefined();
467
- expect(DEV_GUIDELINES_MAP.newlang).toContain('Think in English');
468
- });
469
- });
470
- ```
471
-
472
- ## 参考資料
473
-
474
- ### Michiドキュメント
475
-
476
- - [クイックスタート](../getting-started/quick-start.md)
477
- - [セットアップガイド](../getting-started/setup.md)
478
- - [ワークフローガイド](./workflow.md)
479
-
480
- ### ソースコード
481
-
482
- - `scripts/constants/languages.ts` - 言語定義とDEV_GUIDELINES_MAP
483
- - `scripts/template/renderer.ts` - テンプレートレンダリングエンジン
484
- - `src/commands/setup-existing.ts` - プロジェクトセットアップコマンド
485
-
486
- ### 外部リソース
487
-
488
- - [cc-sdd多言語実装](https://github.com/gotalab/cc-sdd/blob/main/dist/template/context.js)
489
- - [cc-sdd言語定義](https://github.com/gotalab/cc-sdd/blob/main/dist/constants/languages.js)
490
-
491
- ## FAQ
492
-
493
- ### Q: なぜ静的翻訳ファイルではなくAI駆動アプローチを採用したのですか?
494
-
495
- A: 以下の理由からです:
496
-
497
- 1. **保守性**: 1つの英語テンプレートのみ管理すればよい
498
- 2. **拡張性**: 新言語追加が1行で完了
499
- 3. **品質**: AIの多言語能力により、文脈依存の自然な表現が可能
500
- 4. **軽量性**: 外部i18nライブラリ不要
501
- 5. **cc-ssd互換**: 同じ設計思想でリファレンス実装として位置づけ可能
502
-
503
- ### Q: cc-sddとの違いは何ですか?
504
-
505
- A: Michiはcc-sddの設計思想を踏襲していますが、以下の点が異なります:
506
-
507
- - **Michi**: プロジェクト管理特化(Confluence/JIRA連携、フェーズ管理)
508
- - **cc-sdd**: 汎用AI駆動開発フレームワーク
509
-
510
- 多言語対応の実装方法は両者で同じです。
511
-
512
- ### Q: カスタム言語ガイドラインを追加できますか?
513
-
514
- A: はい、`DEV_GUIDELINES_MAP`を拡張することで可能です。プロジェクト固有のガイドラインが必要な場合は、テンプレートに直接記述することも検討してください。
515
-
516
- ### Q: AIが指定した言語で出力しない場合はどうすればよいですか?
517
-
518
- A: 以下を確認してください:
519
-
520
- 1. `.kiro/project.json`の`language`フィールドが正しいか
521
- 2. テンプレートに`{{DEV_GUIDELINES}}`が含まれているか
522
- 3. AIモデルが多言語対応しているか(Claude、GPT-4など)
523
-
524
- それでも問題が解決しない場合は、テンプレートに追加のコンテキストを明示的に記述してください。
525
-
526
- ## まとめ
527
-
528
- Michiの多言語対応システムは、cc-sdd準拠のAI駆動アプローチにより:
529
-
530
- - ✅ 保守性が高い(1つの英語テンプレートのみ)
531
- - ✅ 拡張性が高い(新言語追加が1行)
532
- - ✅ 品質が高い(AIの多言語能力を活用)
533
- - ✅ 軽量(外部依存なし)
534
-
535
- このアプローチにより、開発者は翻訳管理の負担から解放され、本質的な開発作業に集中できます。
536
-
537
-
538
-
539
-
540
-
@@ -1,138 +0,0 @@
1
- # Michi マイグレーションガイド
2
-
3
- このドキュメントは、Michi の異なるバージョン間での移行手順を説明します。
4
-
5
- ---
6
-
7
- ## v0.8.6 → v0.8.7 (Unreleased)
8
-
9
- ### 重要な変更点
10
-
11
- #### 1. Multi-Repo AIコマンド名の変更
12
-
13
- **変更内容**:
14
- - `/michi_multi_repo:*` → `/michi-multi-repo:*`
15
-
16
- **影響を受けるコマンド**:
17
-
18
- | 旧コマンド | 新コマンド |
19
- |-----------|-----------|
20
- | `/michi_multi_repo:spec-init` | `/michi-multi-repo:spec-init` |
21
- | `/michi_multi_repo:spec-requirements` | `/michi-multi-repo:spec-requirements` |
22
- | `/michi_multi_repo:spec-design` | `/michi-multi-repo:spec-design` |
23
-
24
- **移行手順**:
25
- 1. スクリプトやドキュメントで `/michi_multi_repo:` を使用している箇所を `/michi-multi-repo:` に置換してください
26
- 2. 特に以下のファイルを確認:
27
- - プロジェクトの README.md
28
- - 開発ドキュメント
29
- - 自動化スクリプト
30
-
31
- #### 2. コマンド配布先の修正
32
-
33
- **変更内容**:
34
- - `michi init` コマンドが作成するディレクトリ構造が変更されました
35
-
36
- **変更前**:
37
- ```
38
- .claude/commands/kiro/
39
- ├── kiro/ # 二重ネスト(バグ)
40
- ├── michi/
41
- └── michi_multi_repo/
42
- ```
43
-
44
- **変更後**:
45
- ```
46
- .claude/commands/
47
- ├── kiro/ # 正しい階層
48
- ├── michi/
49
- └── michi-multi-repo/
50
- ```
51
-
52
- **移行手順**:
53
-
54
- ##### 既存プロジェクトの場合
55
-
56
- 1. **二重ネストディレクトリの削除**:
57
- ```bash
58
- # プロジェクトルートで実行
59
- rm -rf .claude/commands/kiro/kiro
60
- rm -rf .claude/commands/kiro/michi
61
- rm -rf .claude/commands/kiro/michi_multi_repo
62
- ```
63
-
64
- 2. **新しい構造でコマンドを再配置**:
65
- ```bash
66
- # michi init を再実行(上書き確認なし)
67
- michi init --claude
68
- ```
69
-
70
- 3. **確認**:
71
- ```bash
72
- ls -la .claude/commands/
73
- # 以下が表示されること:
74
- # - kiro/
75
- # - michi/
76
- # - michi-multi-repo/
77
- ```
78
-
79
- ##### 新規プロジェクトの場合
80
-
81
- v0.8.7 以降では、`michi init` を実行すると自動的に正しい構造が作成されます。
82
-
83
- ```bash
84
- michi init --claude
85
- ```
86
-
87
- ### その他の変更点
88
-
89
- #### `michi config:init` コマンドの参照を修正
90
-
91
- **問題**:
92
- - spec-init.md のエラーメッセージで `michi config:init` コマンドが参照されていましたが、このコマンドは実装されていませんでした
93
-
94
- **修正内容**:
95
- - `michi config:init` → `michi init`
96
-
97
- **影響**:
98
- - エラーメッセージで正しいコマンドが案内されるようになりました
99
-
100
- ---
101
-
102
- ## トラブルシューティング
103
-
104
- ### Q1: 既存の `.claude/commands/kiro/kiro/` が残っている
105
-
106
- **回答**: 手動で削除してください:
107
- ```bash
108
- rm -rf .claude/commands/kiro/kiro
109
- ```
110
-
111
- ### Q2: `/michi_multi_repo:*` コマンドが認識されなくなった
112
-
113
- **回答**: v0.8.7 では `/michi-multi-repo:*` に変更されました。新しいコマンド名を使用してください。
114
-
115
- ### Q3: `michi init` を実行してもコマンドがコピーされない
116
-
117
- **回答**:
118
- 1. Michi を最新版(v0.8.7以降)にアップデートしてください:
119
- ```bash
120
- npm install -g michi-cli@latest
121
- ```
122
-
123
- 2. 再度 `michi init --claude` を実行してください
124
-
125
- ### Q4: 二重ネストディレクトリが残っているとどうなる?
126
-
127
- **回答**:
128
- - 機能的な問題はありませんが、混乱を招く可能性があります
129
- - 新しい構造(`.claude/commands/kiro/`)が優先されます
130
- - クリーンな状態にするため、削除を推奨します
131
-
132
- ---
133
-
134
- ## 参考リンク
135
-
136
- - [Multi-Repo管理ガイド](multi-repo-guide.md)
137
- - [CHANGELOG](../../../CHANGELOG.md)
138
- - [README](../../../README.md)