@sk8metal/michi-cli 0.8.6 → 0.10.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.
- package/CHANGELOG.md +95 -1
- package/README.md +4 -4
- 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/constants/environments.js +3 -3
- package/dist/scripts/constants/environments.js.map +1 -1
- package/dist/scripts/utils/multi-repo-validator.d.ts +20 -1
- package/dist/scripts/utils/multi-repo-validator.d.ts.map +1 -1
- package/dist/scripts/utils/multi-repo-validator.js +124 -1
- package/dist/scripts/utils/multi-repo-validator.js.map +1 -1
- package/docs/michi-development/testing/manual-verification-other-tools.md +10 -8
- package/docs/user-guide/getting-started/new-repository-setup.md +4 -3
- package/docs/user-guide/guides/migration-guide.md +138 -0
- package/docs/user-guide/guides/multi-repo-guide.md +573 -10
- package/docs/user-guide/guides/workflow.md +4 -14
- package/docs/user-guide/hands-on/workflow-walkthrough.md +173 -4
- 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/constants/__tests__/environments.test.ts +3 -3
- package/scripts/constants/environments.ts +3 -3
- package/scripts/utils/multi-repo-validator.ts +160 -1
- package/templates/claude/agents/mermaid-validator/AGENT.md +257 -0
- package/templates/claude/commands/michi-multi-repo/impl-all.md +264 -0
- package/templates/claude/commands/michi-multi-repo/propagate-specs.md +271 -0
- package/templates/claude/commands/{michi_multi_repo → michi-multi-repo}/spec-design.md +69 -6
- package/templates/claude/commands/{michi_multi_repo → michi-multi-repo}/spec-init.md +6 -6
- package/templates/claude/commands/{michi_multi_repo → michi-multi-repo}/spec-requirements.md +2 -2
- package/templates/claude/commands/michi-multi-repo/spec-review.md +247 -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/CHANGELOG.md
CHANGED
|
@@ -5,7 +5,101 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
|
6
6
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
7
7
|
|
|
8
|
-
## [
|
|
8
|
+
## [0.10.0] - 2025-12-23
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
|
|
12
|
+
- **Multi-Repo Cross-Repository Reviewer Agent**: リポジトリ間の仕様整合性を自動レビュー
|
|
13
|
+
- **エージェント**: `templates/claude-agent/agents/cross-repo-reviewer.md`
|
|
14
|
+
- **機能**: API契約、データモデル、イベントスキーマの一貫性チェック
|
|
15
|
+
- **用途**: multi-repo環境でのspec-review時にPROACTIVELY使用
|
|
16
|
+
|
|
17
|
+
- **Multi-Repo Spec Executor Agent**: 個別リポジトリで仕様コマンドを実行
|
|
18
|
+
- **エージェント**: `templates/claude-agent/agents/repo-spec-executor.md`
|
|
19
|
+
- **機能**: `/kiro:*`、`/michi:*` コマンドの個別リポジトリでの実行
|
|
20
|
+
- **用途**: multi-repo環境での仕様展開時にPROACTIVELY使用
|
|
21
|
+
|
|
22
|
+
- **Multi-Repo Implementation Command**: 全リポジトリで並行実装を実行
|
|
23
|
+
- **コマンド**: `/michi-multi-repo:impl-all`
|
|
24
|
+
- **機能**: test-developer エージェントを使用したTDD実装の並行実行
|
|
25
|
+
- **用途**: multi-repo環境での一括実装自動化
|
|
26
|
+
|
|
27
|
+
- **Multi-Repo Spec Propagation Command**: プロジェクトから各リポジトリへ仕様展開
|
|
28
|
+
- **コマンド**: `/michi-multi-repo:propagate-specs`
|
|
29
|
+
- **機能**: repo-spec-executor を使用した仕様の並行展開
|
|
30
|
+
- **用途**: multi-repo環境での仕様配布自動化
|
|
31
|
+
|
|
32
|
+
- **Multi-Repo Spec Review Command**: クロスリポジトリ仕様整合性レビュー
|
|
33
|
+
- **コマンド**: `/michi-multi-repo:spec-review`
|
|
34
|
+
- **機能**: cross-repo-reviewer を使用した整合性レビュー
|
|
35
|
+
- **用途**: multi-repo環境でのspec-review自動化
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- **Multi-Repo Guide大幅更新**: 443行の詳細ガイドを追加
|
|
40
|
+
- `.michi/config.json` の Repository スキーマ詳細解説
|
|
41
|
+
- ワークフロー(プロジェクト初期化→仕様展開→実装→レビュー)の追加
|
|
42
|
+
- エージェント・コマンドの使い方を網羅
|
|
43
|
+
|
|
44
|
+
- **Workflow Walkthrough更新**: multi-repo対応の実践的ガイドを追加(177行追加)
|
|
45
|
+
- multi-repo環境でのハンズオン手順を追加
|
|
46
|
+
|
|
47
|
+
- **Multi-Repo Validator強化**: localPath品質検証機能を追加(161行追加)
|
|
48
|
+
- 絶対パス検証(Unix/Windows両対応)
|
|
49
|
+
- 重複パス検出
|
|
50
|
+
- パストラバーサル攻撃防止
|
|
51
|
+
- テストケース230行追加
|
|
52
|
+
|
|
53
|
+
## [0.9.0] - 2025-12-23
|
|
54
|
+
|
|
55
|
+
### Added
|
|
56
|
+
|
|
57
|
+
- **Multi-Repo Repository localPath管理**: リポジトリのローカルクローンパスを`.michi/config.json`で管理
|
|
58
|
+
- **フィールド**: `Repository.localPath` (optional, 絶対パスのみ許可)
|
|
59
|
+
- **バリデーション**: Unix (`/path/to/repo`) と Windows (`C:\path\to\repo`) の絶対パス形式をサポート
|
|
60
|
+
- **セキュリティ**: 相対パス(`./`, `../`)と空文字列を禁止
|
|
61
|
+
- **後方互換性**: オプショナルフィールドのため既存データに影響なし
|
|
62
|
+
- **テスト**: 8件の新規テストケース追加(正常3件、異常5件)
|
|
63
|
+
- **用途**: multi-repo環境で各リポジトリへのドキュメント配置や詳細調査に活用
|
|
64
|
+
|
|
65
|
+
- **Mermaid Validatorスキル/エージェント**: architecture.md生成時のMermaid図構文エラーを自動検証・修正
|
|
66
|
+
- **スキル**: `templates/claude/skills/mermaid-validator/SKILL.md`
|
|
67
|
+
- **エージェント**: `templates/claude/agents/mermaid-validator/AGENT.md`
|
|
68
|
+
- **統合**: `/michi-multi-repo:spec-design` コマンドに自動実行を追加(Step 4.5.1)
|
|
69
|
+
- **機能**: C4モデル、シーケンス図、グラフ、ER図の構文検証と自動修正
|
|
70
|
+
- **検出エラー**: タイトル記法、矢印記法、インデント、リレーションシップ記法
|
|
71
|
+
- **効果**: architecture.md生成時のMermaidパースエラーを防止
|
|
72
|
+
|
|
73
|
+
- **Stable Version Auditor統合強化**: 技術スタックバージョン監査を設計フェーズに統合
|
|
74
|
+
- **統合**: `/michi-multi-repo:spec-design` コマンドに自動実行を追加(Step 4.5.2)
|
|
75
|
+
- **機能**: architecture.mdに記載された技術スタック(Node.js、Java、Python、PHP等)のバージョンを自動監査
|
|
76
|
+
- **監査内容**: EOLリスク評価、最新LTS/安定版の推奨、アップグレードパス提示
|
|
77
|
+
- **効果**: 設計時点で技術スタックの最新化を促進、技術的負債を削減
|
|
78
|
+
|
|
79
|
+
### Changed
|
|
80
|
+
|
|
81
|
+
- **Multi-Repo AIコマンド名変更**: `michi_multi_repo:*` → `michi-multi-repo:*`
|
|
82
|
+
- `/michi-multi-repo:spec-init`: プロジェクト初期化コマンド(旧: `/michi_multi_repo:spec-init`)
|
|
83
|
+
- `/michi-multi-repo:spec-requirements`: 要件定義書生成コマンド(旧: `/michi_multi_repo:spec-requirements`)
|
|
84
|
+
- `/michi-multi-repo:spec-design`: 設計書生成コマンド(旧: `/michi_multi_repo:spec-design`)
|
|
85
|
+
- **理由**: Claude Codeのスキル検出でアンダースコアが正しく処理されない問題に対応
|
|
86
|
+
- **`michi init` コマンドの配布先修正**
|
|
87
|
+
- `commandsDir` を `.claude/commands/kiro` から `.claude/commands` に変更
|
|
88
|
+
- これにより `kiro/`, `michi/`, `michi-multi-repo/` が正しい階層にコピーされるようになった
|
|
89
|
+
- **影響**: 既存の二重ネスト(`.claude/commands/kiro/kiro/`)問題を解決
|
|
90
|
+
|
|
91
|
+
### Fixed
|
|
92
|
+
|
|
93
|
+
- **Multi-Repo AIコマンドがユーザープロジェクトにコピーされない問題を修正**
|
|
94
|
+
- `environments.ts` の設定により、`templates/claude/commands/` が `/kiro` サブディレクトリにコピーされていた
|
|
95
|
+
- 修正により、各コマンドディレクトリ(`kiro/`, `michi/`, `michi-multi-repo/`)が `.claude/commands/` 直下に正しく配置されるようになった
|
|
96
|
+
- **存在しない `michi config:init` コマンドの参照を修正**
|
|
97
|
+
- spec-init.md のエラーメッセージで参照されていた `michi config:init` を `michi init` に修正
|
|
98
|
+
- **注意**: `michi config:init` コマンドは実装されておらず、正しくは `michi init` を使用
|
|
99
|
+
|
|
100
|
+
### Added
|
|
101
|
+
|
|
102
|
+
- **マイグレーションガイド**: v0.8.6 → v0.8.7 の移行手順を文書化(docs/user-guide/guides/migration-guide.md)
|
|
9
103
|
|
|
10
104
|
## [0.8.6] - 2025-12-22
|
|
11
105
|
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Michiは、開発フロー全体(要件定義→設計→タスク分割→実
|
|
|
25
25
|
- ✅ **マルチプロジェクト対応**: 3-5プロジェクト同時進行
|
|
26
26
|
- ✅ **自動化スクリプト**: Markdown↔Confluence同期、JIRA連携、PR自動化
|
|
27
27
|
- ✅ **フェーズバリデーション**: フェーズ抜け漏れ防止の自動チェック
|
|
28
|
-
- ✅ **スキル・サブエージェント**: デザインレビュー、ライセンスチェック、バージョン監査、E2Eプランニング、PR
|
|
28
|
+
- ✅ **スキル・サブエージェント**: デザインレビュー、ライセンスチェック、バージョン監査、E2Eプランニング、PRレビュー対応、Mermaid図検証
|
|
29
29
|
|
|
30
30
|
### アーキテクチャ
|
|
31
31
|
|
|
@@ -467,17 +467,17 @@ APPROVAL_GATES_RELEASE=SM,部長
|
|
|
467
467
|
|
|
468
468
|
```bash
|
|
469
469
|
# 1. AIでプロジェクト初期化(プロジェクト説明から自動生成)
|
|
470
|
-
/
|
|
470
|
+
/michi-multi-repo:spec-init "マイクロサービスアーキテクチャでECサイトを構築" --jira MSV --confluence-space MSV
|
|
471
471
|
|
|
472
472
|
# 2. リポジトリ登録(CLIコマンド)
|
|
473
473
|
michi multi-repo:add-repo my-microservices --name frontend --url https://github.com/org/frontend --branch main
|
|
474
474
|
michi multi-repo:add-repo my-microservices --name backend --url https://github.com/org/backend --branch main
|
|
475
475
|
|
|
476
476
|
# 3. AIで要件定義書生成
|
|
477
|
-
/
|
|
477
|
+
/michi-multi-repo:spec-requirements my-microservices
|
|
478
478
|
|
|
479
479
|
# 4. AIで設計書生成(アーキテクチャ図含む)
|
|
480
|
-
/
|
|
480
|
+
/michi-multi-repo:spec-design my-microservices
|
|
481
481
|
|
|
482
482
|
# 5. Confluence同期
|
|
483
483
|
michi multi-repo:confluence-sync my-microservices
|
|
@@ -185,6 +185,7 @@ export declare const RepositorySchema: z.ZodObject<{
|
|
|
185
185
|
name: z.ZodString;
|
|
186
186
|
url: z.ZodString;
|
|
187
187
|
branch: z.ZodDefault<z.ZodString>;
|
|
188
|
+
localPath: z.ZodOptional<z.ZodString>;
|
|
188
189
|
}, z.core.$strip>;
|
|
189
190
|
/**
|
|
190
191
|
* Multi-Repo プロジェクトスキーマ
|
|
@@ -198,6 +199,7 @@ export declare const MultiRepoProjectSchema: z.ZodObject<{
|
|
|
198
199
|
name: z.ZodString;
|
|
199
200
|
url: z.ZodString;
|
|
200
201
|
branch: z.ZodDefault<z.ZodString>;
|
|
202
|
+
localPath: z.ZodOptional<z.ZodString>;
|
|
201
203
|
}, z.core.$strip>>>;
|
|
202
204
|
}, z.core.$strip>;
|
|
203
205
|
/**
|
|
@@ -306,6 +308,7 @@ export declare const AppConfigSchema: z.ZodObject<{
|
|
|
306
308
|
name: z.ZodString;
|
|
307
309
|
url: z.ZodString;
|
|
308
310
|
branch: z.ZodDefault<z.ZodString>;
|
|
311
|
+
localPath: z.ZodOptional<z.ZodString>;
|
|
309
312
|
}, z.core.$strip>>>;
|
|
310
313
|
}, z.core.$strip>>>;
|
|
311
314
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../scripts/config/config-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,eAAO,MAAM,6BAA6B;;;EAA+B,CAAC;AAE1E;;GAEG;AACH,eAAO,MAAM,uCAAuC;;;;;EAKlD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;;;;;;iBA8B7C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiBjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,kCAAkC;;;;EAI7C,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;EAAyC,CAAC;AAE5E;;;GAGG;AACH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;iBAgB3B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;;;;;;iBAW/B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,sBAAsB;;;;iBAIjC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;iBAW5B,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"config-schema.d.ts","sourceRoot":"","sources":["../../../scripts/config/config-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,6 +161,24 @@ export const RepositorySchema = z.object({
|
|
|
161
161
|
message: 'GitHub URL must be in format: https://github.com/{owner}/{repo}',
|
|
162
162
|
}),
|
|
163
163
|
branch: z.string().default('main'),
|
|
164
|
+
localPath: z
|
|
165
|
+
.string()
|
|
166
|
+
.optional()
|
|
167
|
+
.refine((path) => {
|
|
168
|
+
// localPath が指定されていない場合は検証スキップ
|
|
169
|
+
if (path === undefined)
|
|
170
|
+
return true;
|
|
171
|
+
// 空文字列はエラー
|
|
172
|
+
if (path === '')
|
|
173
|
+
return false;
|
|
174
|
+
// 絶対パスであることを検証(セキュリティ考慮)
|
|
175
|
+
// Unix系: '/' で始まる、Windows系: 'C:\' 等で始まる
|
|
176
|
+
const isUnixAbsolutePath = path.startsWith('/');
|
|
177
|
+
const isWindowsAbsolutePath = /^[A-Za-z]:\\/.test(path);
|
|
178
|
+
return isUnixAbsolutePath || isWindowsAbsolutePath;
|
|
179
|
+
}, {
|
|
180
|
+
message: 'localPath must be an absolute path (Unix: /path/to/repo, Windows: C:\\path\\to\\repo)',
|
|
181
|
+
}),
|
|
164
182
|
});
|
|
165
183
|
/**
|
|
166
184
|
* Multi-Repo プロジェクトスキーマ
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../scripts/config/config-schema.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE1E;;GAEG;AACH,MAAM,CAAC,MAAM,uCAAuC,GAAG,CAAC,CAAC,IAAI,CAAC;IAC5D,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,QAAQ;CACT,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,MAAM,CAAC;IACzD,IAAI,EAAE,6BAA6B,CAAC,QAAQ,EAAE;IAC9C,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,oBAAoB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C,SAAS,EAAE,CAAC;SACT,MAAM,CACL,CAAC,CAAC,MAAM,EAAE,EACV,CAAC,CAAC,MAAM,CAAC;QACP,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC5B,QAAQ,EAAE,CAAC;aACR,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;SAClB,CAAC,CACH;aACA,QAAQ,EAAE;QACb,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;YACjB,QAAQ,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;SACvC,CAAC,CACH;aACA,QAAQ,EAAE;KACd,CAAC,CACH;SACA,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,uBAAuB,EACrB,uCAAuC,CAAC,OAAO,CAAC,QAAQ,CAAC;IAC3D,eAAe,EAAE,CAAC;SACf,MAAM,EAAE;SACR,OAAO,CAAC,8CAA8C,CAAC;IAC1D,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,CAAC,gBAAgB,EAAE,WAAW,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IAC3E,MAAM,EAAE,CAAC;SACN,MAAM,CAAC;QACN,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACnC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC7B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC;SACD,QAAQ,EAAE;IACb,SAAS,EAAE,kCAAkC,CAAC,QAAQ,EAAE;CACzD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,CAAC,IAAI,CAAC;IACvD,KAAK;IACL,UAAU;IACV,iBAAiB;CAClB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC;AAE5E;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;IAC7C,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;CACvD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,wBAAwB,EAAE,kCAAkC,CAAC,OAAO,CAAC,KAAK,CAAC;IAC3E,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IACrC,WAAW,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC;IAClD,UAAU,EAAE,CAAC;SACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,CAAC,gBAAgB,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC;IAC/D,UAAU,EAAE,CAAC;SACV,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;QAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,4BAA4B;QACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,4BAA4B;KAC1E,CAAC;SACD,QAAQ,EAAE;IACb,cAAc,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC9C,aAAa,EAAE,uBAAuB,CAAC,QAAQ,EAAE;CAClD,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,aAAa,EAAE,CAAC;SACb,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,OAAO,CAAC,CAAC,cAAc,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC/C,aAAa,EAAE,CAAC;SACb,MAAM,CAAC;QACN,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAC5C,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACtC,OAAO,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KACxC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC1C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;IAC3C,gBAAgB,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC;CAC5C,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC1B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,MAAM,CAAC;IACxC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9B,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;IACzC,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACrC,gBAAgB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC5C,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACvB,GAAG,EAAE,CAAC;SACH,MAAM,EAAE;SACR,GAAG,EAAE;SACL,KAAK,CAAC,uCAAuC,EAAE;QAC9C,OAAO,EAAE,iEAAiE;KAC3E,CAAC;IACJ,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"config-schema.js","sourceRoot":"","sources":["../../../scripts/config/config-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,17 +6,17 @@
|
|
|
6
6
|
export const ENV_CONFIG = {
|
|
7
7
|
claude: {
|
|
8
8
|
rulesDir: '.claude/rules',
|
|
9
|
-
commandsDir: '.claude/commands
|
|
9
|
+
commandsDir: '.claude/commands',
|
|
10
10
|
templateSource: 'claude',
|
|
11
11
|
},
|
|
12
12
|
'claude-agent': {
|
|
13
13
|
rulesDir: '.claude/agents',
|
|
14
|
-
commandsDir: '.claude/commands
|
|
14
|
+
commandsDir: '.claude/commands',
|
|
15
15
|
templateSource: 'claude-agent',
|
|
16
16
|
},
|
|
17
17
|
cursor: {
|
|
18
18
|
rulesDir: '.cursor/rules',
|
|
19
|
-
commandsDir: '.cursor/commands
|
|
19
|
+
commandsDir: '.cursor/commands',
|
|
20
20
|
templateSource: 'cursor',
|
|
21
21
|
},
|
|
22
22
|
gemini: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../../scripts/constants/environments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,MAAM,CAAC,MAAM,UAAU,GAA2C;IAChE,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"environments.js","sourceRoot":"","sources":["../../../scripts/constants/environments.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAgBH,MAAM,CAAC,MAAM,UAAU,GAA2C;IAChE,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,QAAQ;KACzB;IACD,cAAc,EAAE;QACd,QAAQ,EAAE,gBAAgB;QAC1B,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,cAAc;KAC/B;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,eAAe;QACzB,WAAW,EAAE,kBAAkB;QAC/B,cAAc,EAAE,QAAQ;KACzB;IACD,MAAM,EAAE;QACN,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,oBAAoB;QACjC,cAAc,EAAE,QAAQ;KACzB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,aAAa;QACvB,WAAW,EAAE,aAAa;QAC1B,cAAc,EAAE,OAAO;KACxB;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,mBAAmB;QAC7B,WAAW,EAAE,sBAAsB;QACnC,cAAc,EAAE,OAAO;KACxB;CACF,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,GAAgB,EAAqB,EAAE;IAC1E,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAW,EAAsB,EAAE;IACxE,OAAO,GAAG,IAAI,UAAU,CAAC;AAC3B,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAkB,EAAE;IAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,UAAU,CAAkB,CAAC;AAClD,CAAC,CAAC"}
|
|
@@ -2,8 +2,9 @@
|
|
|
2
2
|
* multi-repo-validator.ts
|
|
3
3
|
* Multi-Repo機能のバリデーションユーティリティ
|
|
4
4
|
*
|
|
5
|
-
* プロジェクト名、JIRAキー、リポジトリURLのバリデーションとセキュリティチェックを行います。
|
|
5
|
+
* プロジェクト名、JIRAキー、リポジトリURL、localPathのバリデーションとセキュリティチェックを行います。
|
|
6
6
|
*/
|
|
7
|
+
import type { Repository } from '../config/config-schema.js';
|
|
7
8
|
/**
|
|
8
9
|
* バリデーション結果
|
|
9
10
|
*/
|
|
@@ -12,6 +13,16 @@ export interface ValidationResult {
|
|
|
12
13
|
errors: string[];
|
|
13
14
|
warnings: string[];
|
|
14
15
|
}
|
|
16
|
+
/**
|
|
17
|
+
* LocalPathバリデーション結果(詳細情報付き)
|
|
18
|
+
*/
|
|
19
|
+
export interface LocalPathValidationResult extends ValidationResult {
|
|
20
|
+
exists: boolean;
|
|
21
|
+
isGitRepository: boolean;
|
|
22
|
+
currentBranch: string | null;
|
|
23
|
+
branchMatches: boolean;
|
|
24
|
+
hasUncommittedChanges: boolean;
|
|
25
|
+
}
|
|
15
26
|
/**
|
|
16
27
|
* プロジェクト名のバリデーション
|
|
17
28
|
* セキュリティ対策: パストラバーサル、相対パス、制御文字をチェック
|
|
@@ -27,4 +38,12 @@ export declare function validateJiraKey(key: string): ValidationResult;
|
|
|
27
38
|
* GitHub HTTPS URL形式のみ許可
|
|
28
39
|
*/
|
|
29
40
|
export declare function validateRepositoryUrl(url: string): ValidationResult;
|
|
41
|
+
/**
|
|
42
|
+
* LocalPathのバリデーション
|
|
43
|
+
* ディレクトリ存在、Gitリポジトリ、ブランチ、未コミット変更をチェック
|
|
44
|
+
*
|
|
45
|
+
* @param repository - リポジトリ設定
|
|
46
|
+
* @returns バリデーション結果(詳細情報付き)
|
|
47
|
+
*/
|
|
48
|
+
export declare function validateLocalPath(repository: Repository): LocalPathValidationResult;
|
|
30
49
|
//# sourceMappingURL=multi-repo-validator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-repo-validator.d.ts","sourceRoot":"","sources":["../../../scripts/utils/multi-repo-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"multi-repo-validator.d.ts","sourceRoot":"","sources":["../../../scripts/utils/multi-repo-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,yBAA0B,SAAQ,gBAAgB;IACjE,MAAM,EAAE,OAAO,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAmClE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAgB7D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAyDnE;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,UAAU,GACrB,yBAAyB,CAoI3B"}
|
|
@@ -2,8 +2,11 @@
|
|
|
2
2
|
* multi-repo-validator.ts
|
|
3
3
|
* Multi-Repo機能のバリデーションユーティリティ
|
|
4
4
|
*
|
|
5
|
-
* プロジェクト名、JIRAキー、リポジトリURLのバリデーションとセキュリティチェックを行います。
|
|
5
|
+
* プロジェクト名、JIRAキー、リポジトリURL、localPathのバリデーションとセキュリティチェックを行います。
|
|
6
6
|
*/
|
|
7
|
+
import * as fs from 'fs';
|
|
8
|
+
import * as path from 'path';
|
|
9
|
+
import { execSync } from 'child_process';
|
|
7
10
|
/**
|
|
8
11
|
* プロジェクト名のバリデーション
|
|
9
12
|
* セキュリティ対策: パストラバーサル、相対パス、制御文字をチェック
|
|
@@ -102,4 +105,124 @@ export function validateRepositoryUrl(url) {
|
|
|
102
105
|
warnings,
|
|
103
106
|
};
|
|
104
107
|
}
|
|
108
|
+
/**
|
|
109
|
+
* LocalPathのバリデーション
|
|
110
|
+
* ディレクトリ存在、Gitリポジトリ、ブランチ、未コミット変更をチェック
|
|
111
|
+
*
|
|
112
|
+
* @param repository - リポジトリ設定
|
|
113
|
+
* @returns バリデーション結果(詳細情報付き)
|
|
114
|
+
*/
|
|
115
|
+
export function validateLocalPath(repository) {
|
|
116
|
+
const errors = [];
|
|
117
|
+
const warnings = [];
|
|
118
|
+
// 初期値
|
|
119
|
+
let exists = false;
|
|
120
|
+
let isGitRepository = false;
|
|
121
|
+
let currentBranch = null;
|
|
122
|
+
let branchMatches = false;
|
|
123
|
+
let hasUncommittedChanges = false;
|
|
124
|
+
// 1. localPath設定確認
|
|
125
|
+
if (!repository.localPath) {
|
|
126
|
+
warnings.push(`Repository '${repository.name}' does not have localPath configured`);
|
|
127
|
+
return {
|
|
128
|
+
isValid: false,
|
|
129
|
+
errors,
|
|
130
|
+
warnings,
|
|
131
|
+
exists,
|
|
132
|
+
isGitRepository,
|
|
133
|
+
currentBranch,
|
|
134
|
+
branchMatches,
|
|
135
|
+
hasUncommittedChanges,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const localPath = repository.localPath;
|
|
139
|
+
// 2. ディレクトリ存在確認
|
|
140
|
+
try {
|
|
141
|
+
const stats = fs.statSync(localPath);
|
|
142
|
+
if (!stats.isDirectory()) {
|
|
143
|
+
errors.push(`localPath '${localPath}' exists but is not a directory`);
|
|
144
|
+
return {
|
|
145
|
+
isValid: false,
|
|
146
|
+
errors,
|
|
147
|
+
warnings,
|
|
148
|
+
exists: true,
|
|
149
|
+
isGitRepository,
|
|
150
|
+
currentBranch,
|
|
151
|
+
branchMatches,
|
|
152
|
+
hasUncommittedChanges,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
exists = true;
|
|
156
|
+
}
|
|
157
|
+
catch (_error) {
|
|
158
|
+
errors.push(`localPath '${localPath}' does not exist`);
|
|
159
|
+
return {
|
|
160
|
+
isValid: false,
|
|
161
|
+
errors,
|
|
162
|
+
warnings,
|
|
163
|
+
exists,
|
|
164
|
+
isGitRepository,
|
|
165
|
+
currentBranch,
|
|
166
|
+
branchMatches,
|
|
167
|
+
hasUncommittedChanges,
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
// 3. Gitリポジトリ確認
|
|
171
|
+
const gitDir = path.join(localPath, '.git');
|
|
172
|
+
if (!fs.existsSync(gitDir)) {
|
|
173
|
+
errors.push(`localPath '${localPath}' is not a Git repository (no .git directory)`);
|
|
174
|
+
return {
|
|
175
|
+
isValid: false,
|
|
176
|
+
errors,
|
|
177
|
+
warnings,
|
|
178
|
+
exists,
|
|
179
|
+
isGitRepository,
|
|
180
|
+
currentBranch,
|
|
181
|
+
branchMatches,
|
|
182
|
+
hasUncommittedChanges,
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
isGitRepository = true;
|
|
186
|
+
// 4. ブランチ確認
|
|
187
|
+
try {
|
|
188
|
+
currentBranch = execSync('git branch --show-current', {
|
|
189
|
+
cwd: localPath,
|
|
190
|
+
encoding: 'utf-8',
|
|
191
|
+
}).trim();
|
|
192
|
+
if (currentBranch !== repository.branch) {
|
|
193
|
+
warnings.push(`Current branch '${currentBranch}' does not match configured branch '${repository.branch}'`);
|
|
194
|
+
branchMatches = false;
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
branchMatches = true;
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
catch (error) {
|
|
201
|
+
warnings.push(`Failed to get current branch: ${error instanceof Error ? error.message : String(error)}`);
|
|
202
|
+
}
|
|
203
|
+
// 5. 未コミット変更確認
|
|
204
|
+
try {
|
|
205
|
+
const statusOutput = execSync('git status --porcelain', {
|
|
206
|
+
cwd: localPath,
|
|
207
|
+
encoding: 'utf-8',
|
|
208
|
+
}).trim();
|
|
209
|
+
if (statusOutput.length > 0) {
|
|
210
|
+
warnings.push(`Repository '${repository.name}' has uncommitted changes`);
|
|
211
|
+
hasUncommittedChanges = true;
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
catch (error) {
|
|
215
|
+
warnings.push(`Failed to check uncommitted changes: ${error instanceof Error ? error.message : String(error)}`);
|
|
216
|
+
}
|
|
217
|
+
return {
|
|
218
|
+
isValid: errors.length === 0,
|
|
219
|
+
errors,
|
|
220
|
+
warnings,
|
|
221
|
+
exists,
|
|
222
|
+
isGitRepository,
|
|
223
|
+
currentBranch,
|
|
224
|
+
branchMatches,
|
|
225
|
+
hasUncommittedChanges,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
105
228
|
//# sourceMappingURL=multi-repo-validator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multi-repo-validator.js","sourceRoot":"","sources":["../../../scripts/utils/multi-repo-validator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"multi-repo-validator.js","sourceRoot":"","sources":["../../../scripts/utils/multi-repo-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,7 +83,7 @@ npx tsx ~/Work/git/michi/src/cli.ts setup-existing --claude --lang ja
|
|
|
83
83
|
実行後、Michiのコマンドが追加されることを確認:
|
|
84
84
|
|
|
85
85
|
```bash
|
|
86
|
-
ls -la /tmp/michi-manual-test-claude-code/.claude/commands/
|
|
86
|
+
ls -la /tmp/michi-manual-test-claude-code/.claude/commands/michi
|
|
87
87
|
# Michiのコマンドが追加されている:
|
|
88
88
|
# michi-confluence-sync.md
|
|
89
89
|
# michi-project-switch.md
|
|
@@ -407,13 +407,15 @@ npx tsx ~/Work/git/michi/src/cli.ts phase:run java-calculator-webapp phase-b
|
|
|
407
407
|
├── .claude/
|
|
408
408
|
│ ├── CLAUDE.md
|
|
409
409
|
│ └── commands/
|
|
410
|
-
│ ├── kiro
|
|
411
|
-
│ ├── kiro-spec-
|
|
412
|
-
│ ├── kiro-spec-
|
|
413
|
-
│ ├── kiro-spec-
|
|
414
|
-
│ ├──
|
|
415
|
-
│
|
|
416
|
-
│ └── michi
|
|
410
|
+
│ ├── kiro/ (cc-sdd)
|
|
411
|
+
│ │ ├── kiro-spec-init.md
|
|
412
|
+
│ │ ├── kiro-spec-requirements.md
|
|
413
|
+
│ │ ├── kiro-spec-design.md
|
|
414
|
+
│ │ ├── kiro-spec-tasks.md
|
|
415
|
+
│ │ └── ... (cc-sdd提供の他のコマンド)
|
|
416
|
+
│ └── michi/ (Michi)
|
|
417
|
+
│ ├── michi-confluence-sync.md
|
|
418
|
+
│ └── michi-project-switch.md
|
|
417
419
|
└── .kiro/
|
|
418
420
|
└── specs/
|
|
419
421
|
└── java-calculator-webapp/
|
|
@@ -259,9 +259,10 @@ cp $MICHI_PATH/.cursor/rules/multi-project.mdc .cursor/rules/
|
|
|
259
259
|
cp $MICHI_PATH/.cursor/rules/github-ssot.mdc .cursor/rules/
|
|
260
260
|
cp $MICHI_PATH/.cursor/rules/atlassian-mcp.mdc .cursor/rules/
|
|
261
261
|
|
|
262
|
-
#
|
|
263
|
-
|
|
264
|
-
cp $MICHI_PATH/.cursor/commands/
|
|
262
|
+
# カスタムコマンドをコピー(v0.8.7以降の構造)
|
|
263
|
+
mkdir -p .cursor/commands/michi
|
|
264
|
+
cp $MICHI_PATH/.cursor/commands/michi/confluence-sync.md .cursor/commands/michi/
|
|
265
|
+
cp $MICHI_PATH/.cursor/commands/michi/project-switch.md .cursor/commands/michi/
|
|
265
266
|
|
|
266
267
|
# Steeringテンプレートをコピー
|
|
267
268
|
mkdir -p .kiro/steering
|
|
@@ -0,0 +1,138 @@
|
|
|
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)
|