@sk8metal/michi-cli 0.8.0 → 0.8.2
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 +18 -0
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +37 -14
- package/dist/src/commands/init.js.map +1 -1
- package/docs/michi-development/design/config-unification.md +38 -4094
- package/docs/michi-development/design/design-config-current-state.md +330 -0
- package/docs/michi-development/design/design-config-implementation.md +628 -0
- package/docs/michi-development/design/design-config-migration.md +952 -0
- package/docs/michi-development/design/design-config-security.md +771 -0
- package/docs/michi-development/design/design-config-solution.md +583 -0
- package/docs/michi-development/design/design-config-testing.md +892 -0
- package/docs/michi-development/testing/manual-verification-flow.md +6 -1377
- package/docs/michi-development/testing/manual-verification-other-tools.md +1277 -0
- package/docs/michi-development/testing/manual-verification-troubleshooting.md +122 -0
- package/docs/user-guide/getting-started/setup.md +14 -32
- package/docs/user-guide/guides/multi-repo-guide.md +367 -44
- package/docs/user-guide/reference/config.md +1 -1
- package/docs/user-guide/reference/security-test-payloads.md +50 -0
- package/docs/user-guide/release/ci-setup-java.md +114 -0
- package/docs/user-guide/release/ci-setup-nodejs.md +94 -0
- package/docs/user-guide/release/ci-setup-php.md +102 -0
- package/docs/user-guide/release/ci-setup-troubleshooting.md +94 -0
- package/docs/user-guide/release/ci-setup.md +17 -370
- package/docs/user-guide/templates/test-specs/e2e-test-spec-template.md +9 -3
- package/docs/user-guide/templates/test-specs/security-test-spec-template.md +4 -43
- package/package.json +2 -3
- package/docs/design-issue-55.md +0 -240
- package/docs/design-issue-56.md +0 -181
- package/docs/user-guide/guides/multi-repo-migration-guide.md +0 -516
|
@@ -1,516 +0,0 @@
|
|
|
1
|
-
# Multi-Repo機能 マイグレーションガイド
|
|
2
|
-
|
|
3
|
-
このガイドは、既存のMichiユーザーがMulti-Repo機能を導入する際の手順を説明します。
|
|
4
|
-
|
|
5
|
-
## 目次
|
|
6
|
-
|
|
7
|
-
1. [概要](#概要)
|
|
8
|
-
2. [前提条件](#前提条件)
|
|
9
|
-
3. [変更点](#変更点)
|
|
10
|
-
4. [マイグレーション手順](#マイグレーション手順)
|
|
11
|
-
5. [既存機能への影響](#既存機能への影響)
|
|
12
|
-
6. [トラブルシューティング](#トラブルシューティング)
|
|
13
|
-
|
|
14
|
-
---
|
|
15
|
-
|
|
16
|
-
## 概要
|
|
17
|
-
|
|
18
|
-
Multi-Repo機能は、Michiに**新しく追加された機能**です。既存のMichi機能に影響を与えず、追加のコマンド群として提供されます。
|
|
19
|
-
|
|
20
|
-
### 主な特徴
|
|
21
|
-
|
|
22
|
-
- **後方互換性**: 既存のMichiコマンドとワークフローに影響なし
|
|
23
|
-
- **オプトイン**: Multi-Repo機能を使用する場合のみ、設定を追加
|
|
24
|
-
- **自動マイグレーション**: 初回使用時に自動的に設定ファイルが拡張される
|
|
25
|
-
|
|
26
|
-
---
|
|
27
|
-
|
|
28
|
-
## 前提条件
|
|
29
|
-
|
|
30
|
-
Multi-Repo機能を使用するには、以下の環境が必要です。
|
|
31
|
-
|
|
32
|
-
### 必須要件
|
|
33
|
-
|
|
34
|
-
1. **Michiバージョン**: v1.0.0以上
|
|
35
|
-
```bash
|
|
36
|
-
michi --version
|
|
37
|
-
# @sk8metal/michi-cli v1.0.0
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
2. **Node.js**: v18.0.0以上
|
|
41
|
-
```bash
|
|
42
|
-
node --version
|
|
43
|
-
# v18.0.0 以上
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
### オプション要件(使用する機能に応じて)
|
|
47
|
-
|
|
48
|
-
#### Phase 2機能(CI結果集約)を使用する場合
|
|
49
|
-
|
|
50
|
-
- **GitHub Personal Access Token**: GitHub Actions APIへのアクセスに必要
|
|
51
|
-
- 必要なスコープ: `repo`(privateリポジトリ)または `public_repo`(publicリポジトリのみ)、`workflow`
|
|
52
|
-
|
|
53
|
-
#### Phase 3機能(Confluence同期)を使用する場合
|
|
54
|
-
|
|
55
|
-
- **Atlassian認証情報**: Confluence REST APIへのアクセスに必要
|
|
56
|
-
- Atlassian URL、Email、API Token
|
|
57
|
-
|
|
58
|
-
---
|
|
59
|
-
|
|
60
|
-
## 変更点
|
|
61
|
-
|
|
62
|
-
### 1. config.jsonスキーマの拡張
|
|
63
|
-
|
|
64
|
-
`.michi/config.json` に新しいフィールド `multiRepoProjects` が追加されます。
|
|
65
|
-
|
|
66
|
-
#### 変更前(v0.5.0)
|
|
67
|
-
|
|
68
|
-
```json
|
|
69
|
-
{
|
|
70
|
-
"confluence": { ... },
|
|
71
|
-
"jira": { ... },
|
|
72
|
-
"workflow": { ... },
|
|
73
|
-
"validation": { ... },
|
|
74
|
-
"atlassian": { ... },
|
|
75
|
-
"project": { ... }
|
|
76
|
-
}
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
#### 変更後(v1.0.0)
|
|
80
|
-
|
|
81
|
-
```json
|
|
82
|
-
{
|
|
83
|
-
"confluence": { ... },
|
|
84
|
-
"jira": { ... },
|
|
85
|
-
"workflow": { ... },
|
|
86
|
-
"validation": { ... },
|
|
87
|
-
"atlassian": { ... },
|
|
88
|
-
"project": { ... },
|
|
89
|
-
"multiRepoProjects": [] // 新規追加
|
|
90
|
-
}
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
**重要**: `multiRepoProjects` フィールドが存在しない場合、Michiは自動的に空配列 `[]` として扱います。手動で追加する必要はありません。
|
|
94
|
-
|
|
95
|
-
### 2. 新規コマンドの追加
|
|
96
|
-
|
|
97
|
-
以下の6つのコマンドが追加されます:
|
|
98
|
-
|
|
99
|
-
| コマンド | Phase | 説明 |
|
|
100
|
-
|---------|-------|------|
|
|
101
|
-
| `michi multi-repo:init` | 1 (MVP) | プロジェクト初期化 |
|
|
102
|
-
| `michi multi-repo:add-repo` | 1 (MVP) | リポジトリ登録 |
|
|
103
|
-
| `michi multi-repo:list` | 1 (MVP) | プロジェクト一覧表示 |
|
|
104
|
-
| `michi multi-repo:ci-status` | 2 | CI結果集約 |
|
|
105
|
-
| `michi multi-repo:test` | 2 | テスト実行 |
|
|
106
|
-
| `michi multi-repo:confluence-sync` | 3 | Confluence同期 |
|
|
107
|
-
|
|
108
|
-
### 3. 環境変数の追加(オプション)
|
|
109
|
-
|
|
110
|
-
#### Phase 2機能を使用する場合
|
|
111
|
-
|
|
112
|
-
```bash
|
|
113
|
-
# GitHub Personal Access Token
|
|
114
|
-
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
#### Phase 3機能を使用する場合
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
# Atlassian認証情報(既存のMichiで使用している場合は設定済み)
|
|
121
|
-
export ATLASSIAN_URL="https://your-company.atlassian.net"
|
|
122
|
-
export ATLASSIAN_EMAIL="your-email@example.com"
|
|
123
|
-
export ATLASSIAN_API_TOKEN="your-api-token"
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
**注意**: 既存のMichiでConfluence機能を使用している場合、これらの環境変数は既に設定されているため、追加の設定は不要です。
|
|
127
|
-
|
|
128
|
-
---
|
|
129
|
-
|
|
130
|
-
## マイグレーション手順
|
|
131
|
-
|
|
132
|
-
### ステップ1: Michiをv1.0.0にアップグレード
|
|
133
|
-
|
|
134
|
-
```bash
|
|
135
|
-
npm install -g @sk8metal/michi-cli@latest
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
アップグレード後、バージョンを確認します。
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
michi --version
|
|
142
|
-
# @sk8metal/michi-cli v1.0.0
|
|
143
|
-
```
|
|
144
|
-
|
|
145
|
-
### ステップ2: 環境変数の設定(オプション)
|
|
146
|
-
|
|
147
|
-
#### Phase 2機能を使用する場合
|
|
148
|
-
|
|
149
|
-
GitHub Personal Access Tokenを取得し、環境変数に設定します。
|
|
150
|
-
|
|
151
|
-
**GitHub Personal Access Tokenの取得方法**:
|
|
152
|
-
|
|
153
|
-
1. GitHubにログイン
|
|
154
|
-
2. Settings → Developer settings → Personal access tokens → Tokens (classic)
|
|
155
|
-
3. "Generate new token (classic)" をクリック
|
|
156
|
-
4. 必要なスコープを選択:
|
|
157
|
-
- `repo`: プライベートリポジトリへのアクセス(推奨)
|
|
158
|
-
- `public_repo`: パブリックリポジトリのみへのアクセス
|
|
159
|
-
- `workflow`: GitHub Actionsへのアクセス(必須)
|
|
160
|
-
5. トークンを生成してコピー
|
|
161
|
-
|
|
162
|
-
**環境変数の設定**:
|
|
163
|
-
|
|
164
|
-
```bash
|
|
165
|
-
# ~/.bashrc または ~/.zshrc に追加
|
|
166
|
-
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
167
|
-
|
|
168
|
-
# 変更を反映
|
|
169
|
-
source ~/.bashrc # または source ~/.zshrc
|
|
170
|
-
```
|
|
171
|
-
|
|
172
|
-
#### Phase 3機能を使用する場合
|
|
173
|
-
|
|
174
|
-
既存のMichiでConfluence機能を使用している場合は、既に設定済みのため、この手順はスキップしてください。
|
|
175
|
-
|
|
176
|
-
新規にConfluence機能を使用する場合は、[Confluenceセットアップガイド](../getting-started/setup-guide.md#confluence設定)を参照してください。
|
|
177
|
-
|
|
178
|
-
### ステップ3: Multi-Repoプロジェクトの初期化
|
|
179
|
-
|
|
180
|
-
初めてMulti-Repo機能を使用する際に、自動的に `.michi/config.json` が拡張されます。
|
|
181
|
-
|
|
182
|
-
```bash
|
|
183
|
-
# プロジェクト初期化
|
|
184
|
-
michi multi-repo:init my-multi-repo-project \
|
|
185
|
-
--jira MYPROJ \
|
|
186
|
-
--confluence-space MYSPACE
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
**実行結果**:
|
|
190
|
-
|
|
191
|
-
```
|
|
192
|
-
✅ Multi-Repoプロジェクトの初期化が完了しました
|
|
193
|
-
|
|
194
|
-
プロジェクト情報:
|
|
195
|
-
名前: my-multi-repo-project
|
|
196
|
-
JIRAキー: MYPROJ
|
|
197
|
-
Confluenceスペース: MYSPACE
|
|
198
|
-
|
|
199
|
-
作成されたディレクトリ:
|
|
200
|
-
docs/michi/my-multi-repo-project/
|
|
201
|
-
├── overview/
|
|
202
|
-
│ ├── requirements.md
|
|
203
|
-
│ ├── architecture.md
|
|
204
|
-
│ └── multi-repo.md
|
|
205
|
-
├── steering/
|
|
206
|
-
├── tests/
|
|
207
|
-
└── docs/
|
|
208
|
-
|
|
209
|
-
設定ファイルを更新しました: .michi/config.json
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### ステップ4: リポジトリの登録
|
|
213
|
-
|
|
214
|
-
Multi-Repoプロジェクトにリポジトリを登録します。
|
|
215
|
-
|
|
216
|
-
```bash
|
|
217
|
-
# リポジトリ登録
|
|
218
|
-
michi multi-repo:add-repo my-multi-repo-project \
|
|
219
|
-
--name backend \
|
|
220
|
-
--url https://github.com/your-org/backend \
|
|
221
|
-
--branch main
|
|
222
|
-
|
|
223
|
-
michi multi-repo:add-repo my-multi-repo-project \
|
|
224
|
-
--name frontend \
|
|
225
|
-
--url https://github.com/your-org/frontend \
|
|
226
|
-
--branch main
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
### ステップ5: 動作確認
|
|
230
|
-
|
|
231
|
-
プロジェクト一覧を表示して、正常に登録されたことを確認します。
|
|
232
|
-
|
|
233
|
-
```bash
|
|
234
|
-
michi multi-repo:list
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
**実行結果**:
|
|
238
|
-
|
|
239
|
-
```
|
|
240
|
-
========================================
|
|
241
|
-
Multi-Repo プロジェクト一覧
|
|
242
|
-
========================================
|
|
243
|
-
|
|
244
|
-
プロジェクト: my-multi-repo-project
|
|
245
|
-
JIRAキー: MYPROJ
|
|
246
|
-
Confluenceスペース: MYSPACE
|
|
247
|
-
作成日時: 2025-12-17T10:00:00+09:00
|
|
248
|
-
リポジトリ数: 2
|
|
249
|
-
|
|
250
|
-
リポジトリ:
|
|
251
|
-
1. backend
|
|
252
|
-
URL: https://github.com/your-org/backend
|
|
253
|
-
ブランチ: main
|
|
254
|
-
|
|
255
|
-
2. frontend
|
|
256
|
-
URL: https://github.com/your-org/frontend
|
|
257
|
-
ブランチ: main
|
|
258
|
-
|
|
259
|
-
========================================
|
|
260
|
-
合計プロジェクト数: 1
|
|
261
|
-
========================================
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
## 既存機能への影響
|
|
267
|
-
|
|
268
|
-
### ✅ 影響なし
|
|
269
|
-
|
|
270
|
-
以下の既存Michi機能は、Multi-Repo機能の追加によって**影響を受けません**。
|
|
271
|
-
|
|
272
|
-
#### 1. Spec-Driven Developmentワークフロー
|
|
273
|
-
|
|
274
|
-
```bash
|
|
275
|
-
# 既存のワークフローは変更なし
|
|
276
|
-
/kiro:spec-init "feature-name"
|
|
277
|
-
/kiro:spec-requirements feature-name
|
|
278
|
-
/kiro:spec-design feature-name
|
|
279
|
-
/kiro:spec-tasks feature-name
|
|
280
|
-
/kiro:spec-impl feature-name
|
|
281
|
-
```
|
|
282
|
-
|
|
283
|
-
#### 2. Confluence/JIRA統合
|
|
284
|
-
|
|
285
|
-
```bash
|
|
286
|
-
# 既存のConfluence/JIRAコマンドは変更なし
|
|
287
|
-
michi confluence:sync
|
|
288
|
-
michi jira:sync
|
|
289
|
-
```
|
|
290
|
-
|
|
291
|
-
#### 3. 設定管理
|
|
292
|
-
|
|
293
|
-
```bash
|
|
294
|
-
# 既存の設定コマンドは変更なし
|
|
295
|
-
michi config:validate
|
|
296
|
-
michi migrate
|
|
297
|
-
```
|
|
298
|
-
|
|
299
|
-
#### 4. .michi/config.json
|
|
300
|
-
|
|
301
|
-
既存の設定フィールド(`confluence`, `jira`, `workflow`, `validation`, `atlassian`, `project`)は変更されません。`multiRepoProjects` フィールドが追加されるのみです。
|
|
302
|
-
|
|
303
|
-
### ⚠️ 注意事項
|
|
304
|
-
|
|
305
|
-
#### 1. ディレクトリ構造
|
|
306
|
-
|
|
307
|
-
Multi-Repo機能は `docs/michi/{project-name}/` ディレクトリを使用します。既存のMichi機能と同じディレクトリ構造ですが、プロジェクト名が異なる場合は別のディレクトリが作成されます。
|
|
308
|
-
|
|
309
|
-
**例**:
|
|
310
|
-
|
|
311
|
-
```
|
|
312
|
-
docs/
|
|
313
|
-
├── michi/
|
|
314
|
-
│ ├── my-feature/ # 既存のSpec-Driven Development用
|
|
315
|
-
│ │ ├── overview/
|
|
316
|
-
│ │ ├── steering/
|
|
317
|
-
│ │ └── ...
|
|
318
|
-
│ └── my-multi-repo-project/ # Multi-Repo用(新規)
|
|
319
|
-
│ ├── overview/
|
|
320
|
-
│ ├── steering/
|
|
321
|
-
│ └── ...
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
#### 2. Confluence階層構造
|
|
325
|
-
|
|
326
|
-
Multi-Repo機能でConfluence同期を使用する場合、以下の階層構造が作成されます。
|
|
327
|
-
|
|
328
|
-
```
|
|
329
|
-
Confluenceスペース (例: MYSPACE)
|
|
330
|
-
└── my-multi-repo-project (親ページ)
|
|
331
|
-
├── my-multi-repo-project - Requirements
|
|
332
|
-
├── my-multi-repo-project - Architecture
|
|
333
|
-
├── my-multi-repo-project - Sequence Diagrams
|
|
334
|
-
└── my-multi-repo-project - Test Strategy
|
|
335
|
-
```
|
|
336
|
-
|
|
337
|
-
既存のConfluenceページとは別の階層構造となるため、影響はありません。
|
|
338
|
-
|
|
339
|
-
---
|
|
340
|
-
|
|
341
|
-
## トラブルシューティング
|
|
342
|
-
|
|
343
|
-
### 問題1: `GITHUB_TOKEN` が設定されていないエラー
|
|
344
|
-
|
|
345
|
-
**エラーメッセージ**:
|
|
346
|
-
|
|
347
|
-
```
|
|
348
|
-
❌ エラー: GITHUB_TOKENが設定されていません
|
|
349
|
-
```
|
|
350
|
-
|
|
351
|
-
**原因**: Phase 2機能(`multi-repo:ci-status`)を使用する際に、GitHub Personal Access Tokenが環境変数に設定されていない。
|
|
352
|
-
|
|
353
|
-
**解決方法**:
|
|
354
|
-
|
|
355
|
-
1. GitHub Personal Access Tokenを取得([ステップ2](#ステップ2-環境変数の設定オプション)参照)
|
|
356
|
-
2. 環境変数を設定
|
|
357
|
-
|
|
358
|
-
```bash
|
|
359
|
-
export GITHUB_TOKEN="ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
|
|
360
|
-
```
|
|
361
|
-
|
|
362
|
-
3. 設定を永続化(`~/.bashrc` または `~/.zshrc` に追加)
|
|
363
|
-
|
|
364
|
-
### 問題2: Confluence認証エラー
|
|
365
|
-
|
|
366
|
-
**エラーメッセージ**:
|
|
367
|
-
|
|
368
|
-
```
|
|
369
|
-
❌ エラー: Missing Confluence credentials in .env file
|
|
370
|
-
```
|
|
371
|
-
|
|
372
|
-
**原因**: Phase 3機能(`multi-repo:confluence-sync`)を使用する際に、Atlassian認証情報が環境変数に設定されていない。
|
|
373
|
-
|
|
374
|
-
**解決方法**:
|
|
375
|
-
|
|
376
|
-
1. Atlassian API Tokenを取得([Confluenceセットアップガイド](../getting-started/setup-guide.md#confluence設定)参照)
|
|
377
|
-
2. 環境変数を設定
|
|
378
|
-
|
|
379
|
-
```bash
|
|
380
|
-
export ATLASSIAN_URL="https://your-company.atlassian.net"
|
|
381
|
-
export ATLASSIAN_EMAIL="your-email@example.com"
|
|
382
|
-
export ATLASSIAN_API_TOKEN="your-api-token"
|
|
383
|
-
```
|
|
384
|
-
|
|
385
|
-
3. 設定を永続化(`~/.bashrc` または `~/.zshrc` に追加)
|
|
386
|
-
|
|
387
|
-
### 問題3: プロジェクト名にパス区切り文字が含まれているエラー
|
|
388
|
-
|
|
389
|
-
**エラーメッセージ**:
|
|
390
|
-
|
|
391
|
-
```
|
|
392
|
-
❌ エラー: Project name must not contain path traversal characters (/, \), relative path components (., ..), or control characters
|
|
393
|
-
```
|
|
394
|
-
|
|
395
|
-
**原因**: セキュリティ対策として、プロジェクト名にパス区切り文字(`/`, `\`)、相対パス(`.`, `..`)、制御文字が禁止されています。
|
|
396
|
-
|
|
397
|
-
**解決方法**:
|
|
398
|
-
|
|
399
|
-
プロジェクト名を変更して、以下の文字を含まないようにしてください。
|
|
400
|
-
|
|
401
|
-
- パス区切り文字: `/`, `\`
|
|
402
|
-
- 相対パス: `.`, `..`
|
|
403
|
-
- 制御文字: `\x00`-`\x1F`, `\x7F`
|
|
404
|
-
|
|
405
|
-
**例**:
|
|
406
|
-
|
|
407
|
-
```bash
|
|
408
|
-
# ❌ 不正な例
|
|
409
|
-
michi multi-repo:init my/project # スラッシュを含む
|
|
410
|
-
michi multi-repo:init ../project # 相対パスを含む
|
|
411
|
-
|
|
412
|
-
# ✅ 正しい例
|
|
413
|
-
michi multi-repo:init my-project
|
|
414
|
-
michi multi-repo:init my_project
|
|
415
|
-
michi multi-repo:init myproject
|
|
416
|
-
```
|
|
417
|
-
|
|
418
|
-
### 問題4: リポジトリURLが無効
|
|
419
|
-
|
|
420
|
-
**エラーメッセージ**:
|
|
421
|
-
|
|
422
|
-
```
|
|
423
|
-
❌ エラー: Repository URL must be in GitHub format: https://github.com/{owner}/{repo}
|
|
424
|
-
```
|
|
425
|
-
|
|
426
|
-
**原因**: セキュリティ対策として、GitHub HTTPS URLのみが許可されています。
|
|
427
|
-
|
|
428
|
-
**解決方法**:
|
|
429
|
-
|
|
430
|
-
リポジトリURLを以下の形式に変更してください。
|
|
431
|
-
|
|
432
|
-
```
|
|
433
|
-
https://github.com/{owner}/{repo}
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
**例**:
|
|
437
|
-
|
|
438
|
-
```bash
|
|
439
|
-
# ❌ 不正な例
|
|
440
|
-
--url git@github.com:your-org/repo.git # SSH URL
|
|
441
|
-
--url https://github.com/your-org/repo.git # .git拡張子を含む
|
|
442
|
-
--url http://github.com/your-org/repo # HTTP (非セキュア)
|
|
443
|
-
|
|
444
|
-
# ✅ 正しい例
|
|
445
|
-
--url https://github.com/your-org/repo
|
|
446
|
-
```
|
|
447
|
-
|
|
448
|
-
### 問題5: GitHub API レート制限エラー
|
|
449
|
-
|
|
450
|
-
**エラーメッセージ**:
|
|
451
|
-
|
|
452
|
-
```
|
|
453
|
-
⚠️ 警告: GitHub API rate limit exceeded. Retrying after X seconds...
|
|
454
|
-
```
|
|
455
|
-
|
|
456
|
-
**原因**: GitHub API呼び出しがレート制限(5,000リクエスト/時間)に達した。
|
|
457
|
-
|
|
458
|
-
**解決方法**:
|
|
459
|
-
|
|
460
|
-
Michiは自動的にExponential Backoffで再試行します。以下の対策を検討してください。
|
|
461
|
-
|
|
462
|
-
1. **待機**: 自動再試行が完了するまで待つ(最大3回再試行)
|
|
463
|
-
2. **キャッシング活用**: CI結果は15分間キャッシュされるため、頻繁な実行を避ける
|
|
464
|
-
3. **GitHub Enterprise**: より高いレート制限が必要な場合は、GitHub Enterpriseの使用を検討
|
|
465
|
-
|
|
466
|
-
### 問題6: config.jsonが破損している
|
|
467
|
-
|
|
468
|
-
**エラーメッセージ**:
|
|
469
|
-
|
|
470
|
-
```
|
|
471
|
-
❌ エラー: Failed to parse config: Unexpected token } in JSON at position X
|
|
472
|
-
```
|
|
473
|
-
|
|
474
|
-
**原因**: `.michi/config.json` が不正なJSON形式になっている。
|
|
475
|
-
|
|
476
|
-
**解決方法**:
|
|
477
|
-
|
|
478
|
-
1. バックアップが存在する場合、復元する
|
|
479
|
-
|
|
480
|
-
```bash
|
|
481
|
-
cp .michi/config.json.backup .michi/config.json
|
|
482
|
-
```
|
|
483
|
-
|
|
484
|
-
2. バックアップが存在しない場合、config.jsonを手動で修正する
|
|
485
|
-
|
|
486
|
-
```bash
|
|
487
|
-
# JSONリンターで構文エラーを確認
|
|
488
|
-
cat .michi/config.json | jq .
|
|
489
|
-
```
|
|
490
|
-
|
|
491
|
-
3. それでも解決しない場合、config.jsonを再生成する
|
|
492
|
-
|
|
493
|
-
```bash
|
|
494
|
-
# 既存のconfig.jsonをバックアップ
|
|
495
|
-
mv .michi/config.json .michi/config.json.broken
|
|
496
|
-
|
|
497
|
-
# 新しいconfig.jsonを生成(Multi-Repoプロジェクトは失われる)
|
|
498
|
-
michi config:validate
|
|
499
|
-
```
|
|
500
|
-
|
|
501
|
-
---
|
|
502
|
-
|
|
503
|
-
## 関連ドキュメント
|
|
504
|
-
|
|
505
|
-
- [Multi-Repoユーザーガイド](./multi-repo-guide.md): 詳細な使い方とコマンドリファレンス
|
|
506
|
-
- [Multi-Repo API仕様書](../reference/multi-repo-api.md): データモデルと設定スキーマ
|
|
507
|
-
- [セットアップガイド](../getting-started/setup-guide.md): Michi全体のセットアップ手順
|
|
508
|
-
|
|
509
|
-
---
|
|
510
|
-
|
|
511
|
-
## サポート
|
|
512
|
-
|
|
513
|
-
問題が解決しない場合は、以下のサポートチャンネルをご利用ください。
|
|
514
|
-
|
|
515
|
-
- **GitHub Issues**: [https://github.com/sk8metalme/michi/issues](https://github.com/sk8metalme/michi/issues)
|
|
516
|
-
- **ドキュメント**: [https://github.com/sk8metalme/michi#readme](https://github.com/sk8metalme/michi#readme)
|