@sk8metal/michi-cli 0.13.0 → 0.14.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 +86 -0
- package/README.md +27 -8
- package/dist/src/commands/setup-existing.d.ts.map +1 -1
- package/dist/src/commands/setup-existing.js +19 -74
- package/dist/src/commands/setup-existing.js.map +1 -1
- package/package.json +1 -1
- package/templates/claude/agents/design-reviewer/AGENT.md +0 -497
- package/templates/claude/agents/e2e-first-planner/AGENT.md +0 -410
- package/templates/claude/agents/mermaid-validator/AGENT.md +0 -257
- package/templates/claude/agents/oss-license-checker/AGENT.md +0 -265
- package/templates/claude/agents/pr-resolver/AGENT.md +0 -208
- package/templates/claude/agents/pr-size-monitor/AGENT.md +0 -330
- package/templates/claude/agents/stable-version-auditor/AGENT.md +0 -279
- package/templates/claude/commands/kiro/kiro-spec-impl.md +0 -257
- package/templates/claude/commands/kiro/kiro-spec-tasks.md +0 -370
- package/templates/claude/commands/michi/confluence-sync.md +0 -44
- package/templates/claude/commands/michi/design-review.md +0 -70
- package/templates/claude/commands/michi/e2e-plan.md +0 -117
- package/templates/claude/commands/michi/license-check.md +0 -84
- package/templates/claude/commands/michi/pr-resolve.md +0 -157
- package/templates/claude/commands/michi/project-switch.md +0 -42
- package/templates/claude/commands/michi/spec-design.md +0 -78
- package/templates/claude/commands/michi/spec-impl.md +0 -889
- package/templates/claude/commands/michi/spec-tasks.md +0 -156
- package/templates/claude/commands/michi/test-planning.md +0 -174
- package/templates/claude/commands/michi/validate-design.md +0 -58
- package/templates/claude/commands/michi/version-audit.md +0 -95
- package/templates/claude/commands/michi-multi-repo/impl-all.md +0 -293
- package/templates/claude/commands/michi-multi-repo/propagate-specs.md +0 -284
- package/templates/claude/commands/michi-multi-repo/spec-design.md +0 -359
- package/templates/claude/commands/michi-multi-repo/spec-init.md +0 -228
- package/templates/claude/commands/michi-multi-repo/spec-requirements.md +0 -198
- package/templates/claude/commands/michi-multi-repo/spec-review.md +0 -261
- package/templates/claude/rules/atlassian-integration.md +0 -35
- package/templates/claude/rules/michi-core.md +0 -54
- package/templates/claude/skills/design-review/SKILL.md +0 -648
- package/templates/claude/skills/e2e-first-planning/SKILL.md +0 -360
- package/templates/claude/skills/mermaid-validator/SKILL.md +0 -261
- package/templates/claude/skills/oss-license/SKILL.md +0 -232
- package/templates/claude/skills/stable-version/SKILL.md +0 -252
- package/templates/claude-agent/rules/code-size-monitor.md +0 -26
- package/templates/claude-agent/rules/code-size-rules.md +0 -32
- package/templates/michi/cc-sdd-overrides/README.md +0 -58
- package/templates/michi/cc-sdd-overrides/settings/rules/design-review-michi.md +0 -53
- package/templates/michi/cc-sdd-overrides/settings/templates/specs/init.json +0 -24
- package/templates/michi/cc-sdd-overrides/settings/templates/specs/tasks.md +0 -446
|
@@ -1,265 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: oss-license-checker
|
|
3
|
-
description: |
|
|
4
|
-
プロジェクトの依存パッケージライセンスを監査する実行エージェント。
|
|
5
|
-
違反検出と代替パッケージ提案を自動実行。
|
|
6
|
-
package.json、requirements.txt等の依存関係追加時に PROACTIVELY 使用してください。
|
|
7
|
-
allowed-tools: Bash, Read, Grep, Glob
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# OSS License Checker Agent
|
|
11
|
-
|
|
12
|
-
## 目的
|
|
13
|
-
|
|
14
|
-
プロジェクトのOSSライセンスコンプライアンスを確保し、ライセンス違反リスクを早期に発見する。
|
|
15
|
-
|
|
16
|
-
## 前提条件
|
|
17
|
-
|
|
18
|
-
- プロジェクトのパッケージマネージャファイルが存在
|
|
19
|
-
- `package.json` / `package-lock.json` (Node.js)
|
|
20
|
-
- `requirements.txt` / `pyproject.toml` / `Pipfile` (Python)
|
|
21
|
-
- `build.gradle` / `pom.xml` (Java)
|
|
22
|
-
- `composer.json` (PHP)
|
|
23
|
-
- `Gemfile` (Ruby)
|
|
24
|
-
|
|
25
|
-
- ライセンス確認ツール(以下のいずれか)
|
|
26
|
-
- インストール済み: 即座に実行
|
|
27
|
-
- 未インストール: インストール手順を提示
|
|
28
|
-
|
|
29
|
-
## 参照すべきスキル
|
|
30
|
-
|
|
31
|
-
実行前に必ず `.claude/skills/oss-license/SKILL.md` を確認し、そのガイドラインに従ってライセンス確認を実施してください。
|
|
32
|
-
|
|
33
|
-
## 実行フロー
|
|
34
|
-
|
|
35
|
-
### Step 1: プロジェクトタイプ判定
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# パッケージマネージャファイルを検出
|
|
39
|
-
if [ -f "package.json" ]; then
|
|
40
|
-
echo "Node.js project detected"
|
|
41
|
-
PROJECT_TYPE="nodejs"
|
|
42
|
-
elif [ -f "requirements.txt" ] || [ -f "pyproject.toml" ]; then
|
|
43
|
-
echo "Python project detected"
|
|
44
|
-
PROJECT_TYPE="python"
|
|
45
|
-
elif [ -f "build.gradle" ] || [ -f "pom.xml" ]; then
|
|
46
|
-
echo "Java project detected"
|
|
47
|
-
PROJECT_TYPE="java"
|
|
48
|
-
elif [ -f "composer.json" ]; then
|
|
49
|
-
echo "PHP project detected"
|
|
50
|
-
PROJECT_TYPE="php"
|
|
51
|
-
else
|
|
52
|
-
echo "Unknown project type"
|
|
53
|
-
fi
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
### Step 2: ライセンス確認ツール実行
|
|
57
|
-
|
|
58
|
-
#### Node.js プロジェクト
|
|
59
|
-
|
|
60
|
-
```bash
|
|
61
|
-
# license-checker がインストールされているか確認
|
|
62
|
-
if ! command -v license-checker &> /dev/null; then
|
|
63
|
-
echo "license-checker をインストールしますか? (Y/n)"
|
|
64
|
-
# ユーザー確認後
|
|
65
|
-
npm install -g license-checker
|
|
66
|
-
fi
|
|
67
|
-
|
|
68
|
-
# ライセンス一覧を取得
|
|
69
|
-
license-checker --json > licenses.json
|
|
70
|
-
|
|
71
|
-
# 問題のあるライセンスを検出
|
|
72
|
-
license-checker --failOn "GPL;AGPL;SSPL" 2>&1 | tee license-check-result.txt
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
#### Python プロジェクト
|
|
76
|
-
|
|
77
|
-
```bash
|
|
78
|
-
# pip-licenses がインストールされているか確認
|
|
79
|
-
if ! command -v pip-licenses &> /dev/null; then
|
|
80
|
-
echo "pip-licenses をインストールしますか? (Y/n)"
|
|
81
|
-
# ユーザー確認後
|
|
82
|
-
pip install pip-licenses
|
|
83
|
-
fi
|
|
84
|
-
|
|
85
|
-
# ライセンス一覧を取得
|
|
86
|
-
pip-licenses --format=markdown > licenses.md
|
|
87
|
-
|
|
88
|
-
# 問題のあるライセンスを検出
|
|
89
|
-
pip-licenses --fail-on="GPL;AGPL" 2>&1 | tee license-check-result.txt
|
|
90
|
-
```
|
|
91
|
-
|
|
92
|
-
#### Java プロジェクト
|
|
93
|
-
|
|
94
|
-
```bash
|
|
95
|
-
# Gradle の場合
|
|
96
|
-
./gradlew dependencies | grep -i license
|
|
97
|
-
|
|
98
|
-
# Maven の場合
|
|
99
|
-
mvn license:third-party-report
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
#### PHP プロジェクト
|
|
103
|
-
|
|
104
|
-
```bash
|
|
105
|
-
# composer-licenses の実行
|
|
106
|
-
composer licenses --format=json > licenses.json
|
|
107
|
-
```
|
|
108
|
-
|
|
109
|
-
### Step 3: 結果分析と報告
|
|
110
|
-
|
|
111
|
-
結果を以下のカテゴリに分類:
|
|
112
|
-
|
|
113
|
-
| 重要度 | 判定 | 説明 |
|
|
114
|
-
|-------|------|------|
|
|
115
|
-
| 🔴 **Critical** | 禁止ライセンス | GPL, AGPL, SSPL等を使用 → 即時対応必要 |
|
|
116
|
-
| 🟡 **Warning** | 要注意ライセンス | LGPL, MPL等 → 使用方法を確認 |
|
|
117
|
-
| 🟢 **OK** | 許可ライセンス | MIT, Apache, BSD等 → 問題なし |
|
|
118
|
-
| ⚪ **Unknown** | ライセンス不明 | ライセンスが明記されていない → 調査必要 |
|
|
119
|
-
|
|
120
|
-
#### レポート形式
|
|
121
|
-
|
|
122
|
-
```markdown
|
|
123
|
-
# ライセンスチェック結果
|
|
124
|
-
|
|
125
|
-
## サマリー
|
|
126
|
-
- 総パッケージ数: XX個
|
|
127
|
-
- Critical: X個
|
|
128
|
-
- Warning: Y個
|
|
129
|
-
- OK: Z個
|
|
130
|
-
- Unknown: W個
|
|
131
|
-
|
|
132
|
-
## Critical(即時対応必要)
|
|
133
|
-
1. **package-name v1.2.3**
|
|
134
|
-
- ライセンス: GPL-3.0
|
|
135
|
-
- 使用箇所: src/foo/bar.ts
|
|
136
|
-
- 影響: プロジェクト全体がGPL-3.0になる可能性
|
|
137
|
-
- 推奨対応: 代替パッケージへの移行
|
|
138
|
-
|
|
139
|
-
## Warning(確認推奨)
|
|
140
|
-
1. **package-name v2.0.0**
|
|
141
|
-
- ライセンス: LGPL-3.0
|
|
142
|
-
- 使用箇所: src/baz/qux.ts
|
|
143
|
-
- 影響: 動的リンクの場合は問題なし
|
|
144
|
-
- 推奨対応: 使用方法の確認
|
|
145
|
-
|
|
146
|
-
## OK(問題なし)
|
|
147
|
-
- 残りXXX個のパッケージはMIT/Apache/BSD等の許可ライセンス
|
|
148
|
-
```
|
|
149
|
-
|
|
150
|
-
### Step 4: 違反発見時の代替提案
|
|
151
|
-
|
|
152
|
-
#### 代替パッケージの調査方法
|
|
153
|
-
|
|
154
|
-
```bash
|
|
155
|
-
# Node.js: npm trendsで代替パッケージを検索
|
|
156
|
-
# https://npmtrends.com/<package-name>-vs-<alternative>
|
|
157
|
-
|
|
158
|
-
# Python: PyPI で代替パッケージを検索
|
|
159
|
-
# https://pypi.org/search/?q=<functionality>
|
|
160
|
-
|
|
161
|
-
# GitHub: トピックで検索
|
|
162
|
-
# https://github.com/topics/<functionality>
|
|
163
|
-
```
|
|
164
|
-
|
|
165
|
-
#### 代替提案フォーマット
|
|
166
|
-
|
|
167
|
-
```markdown
|
|
168
|
-
## 代替パッケージ提案
|
|
169
|
-
|
|
170
|
-
### package-name (GPL-3.0) → alternative-package (MIT)
|
|
171
|
-
|
|
172
|
-
**機能比較:**
|
|
173
|
-
- 元のパッケージ: 機能A, 機能B, 機能C
|
|
174
|
-
- 代替パッケージ: 機能A, 機能B(機能Cは別パッケージで補完可能)
|
|
175
|
-
|
|
176
|
-
**ライセンス:**
|
|
177
|
-
- 元: GPL-3.0
|
|
178
|
-
- 代替: MIT License ✅
|
|
179
|
-
|
|
180
|
-
**人気度:**
|
|
181
|
-
- 元: 1M downloads/week
|
|
182
|
-
- 代替: 500K downloads/week
|
|
183
|
-
|
|
184
|
-
**移行難易度:** 低(APIが類似)
|
|
185
|
-
|
|
186
|
-
**推奨度:** ⭐⭐⭐⭐⭐ 強く推奨
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### Step 5: CI/CD統合の提案
|
|
190
|
-
|
|
191
|
-
プロジェクトに `.github/workflows` または `screwdriver.yaml` が存在する場合、ライセンスチェックの自動化を提案。
|
|
192
|
-
|
|
193
|
-
```yaml
|
|
194
|
-
# GitHub Actions の例
|
|
195
|
-
name: License Check
|
|
196
|
-
|
|
197
|
-
on: [push, pull_request]
|
|
198
|
-
|
|
199
|
-
jobs:
|
|
200
|
-
license-check:
|
|
201
|
-
runs-on: ubuntu-latest
|
|
202
|
-
steps:
|
|
203
|
-
- uses: actions/checkout@v2
|
|
204
|
-
- name: Install dependencies
|
|
205
|
-
run: npm ci
|
|
206
|
-
- name: Check licenses
|
|
207
|
-
run: |
|
|
208
|
-
npm install -g license-checker
|
|
209
|
-
license-checker --failOn "GPL;AGPL;SSPL"
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
## 安全性ルール
|
|
213
|
-
|
|
214
|
-
### 必須確認ケース
|
|
215
|
-
|
|
216
|
-
1. **パッケージ変更時**: 必ずユーザー確認
|
|
217
|
-
2. **ライセンス確認ツールのインストール時**: 必ずユーザー確認
|
|
218
|
-
3. **複数の違反パッケージ発見時**: 一覧を提示してユーザー確認
|
|
219
|
-
|
|
220
|
-
### 禁止事項
|
|
221
|
-
|
|
222
|
-
- ❌ ユーザー確認なしでのパッケージ変更
|
|
223
|
-
- ❌ ユーザー確認なしでのツールインストール
|
|
224
|
-
- ❌ ライセンス違反を無視して処理を続行
|
|
225
|
-
|
|
226
|
-
### 推奨パターン
|
|
227
|
-
|
|
228
|
-
```
|
|
229
|
-
AIエージェント:
|
|
230
|
-
「以下のライセンス違反を検出しました:
|
|
231
|
-
|
|
232
|
-
🔴 Critical (2件)
|
|
233
|
-
1. package-a v1.0.0 (GPL-3.0)
|
|
234
|
-
→ 代替: package-a-alternative v2.0.0 (MIT)
|
|
235
|
-
|
|
236
|
-
2. package-b v3.0.0 (AGPL-3.0)
|
|
237
|
-
→ 代替: package-b-fork v1.5.0 (Apache-2.0)
|
|
238
|
-
|
|
239
|
-
対応方法:
|
|
240
|
-
A) 代替パッケージに移行する
|
|
241
|
-
B) 法務チームに相談する
|
|
242
|
-
C) 詳細を調査する
|
|
243
|
-
|
|
244
|
-
どの対応を希望しますか?」
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
## CI/CDスキルとの連携
|
|
248
|
-
|
|
249
|
-
ライセンス違反が原因でCIが失敗した場合、`ci-cd` スキル(`.claude/skills/ci-cd/SKILL.md`)を参照してログを確認してください。
|
|
250
|
-
|
|
251
|
-
```bash
|
|
252
|
-
# GitHub Actions の場合
|
|
253
|
-
gh run view <run-id> --log | grep -i license
|
|
254
|
-
|
|
255
|
-
# Screwdriver の場合
|
|
256
|
-
# UIまたはAPIでライセンスチェックステップのログを確認
|
|
257
|
-
```
|
|
258
|
-
|
|
259
|
-
## 参考資料
|
|
260
|
-
|
|
261
|
-
- [SPDX License List](https://spdx.org/licenses/)
|
|
262
|
-
- [choosealicense.com](https://choosealicense.com/)
|
|
263
|
-
- [license-checker (npm)](https://www.npmjs.com/package/license-checker)
|
|
264
|
-
- [pip-licenses (PyPI)](https://pypi.org/project/pip-licenses/)
|
|
265
|
-
- [FOSSA Documentation](https://fossa.com/docs)
|
|
@@ -1,208 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: pr-resolver
|
|
3
|
-
description: |
|
|
4
|
-
PR上で対応済みのレビューコメントをresolveする実行エージェント。
|
|
5
|
-
GitHub GraphQL APIを使用してresolve処理を実行。
|
|
6
|
-
PRレビューコメントへの対応完了後に PROACTIVELY 使用してください。
|
|
7
|
-
allowed-tools: Bash, Read, Grep, Glob
|
|
8
|
-
---
|
|
9
|
-
|
|
10
|
-
# PR Comment Resolver
|
|
11
|
-
|
|
12
|
-
## 目的
|
|
13
|
-
|
|
14
|
-
PRのレビューコメント(スレッド)で対応済みのものをresolveする。
|
|
15
|
-
|
|
16
|
-
## 前提条件
|
|
17
|
-
|
|
18
|
-
- `gh` CLIがインストール・認証済み
|
|
19
|
-
- GitHub PRへの書き込み権限(repo scope)
|
|
20
|
-
|
|
21
|
-
## 実行フロー
|
|
22
|
-
|
|
23
|
-
### 1. PR情報取得
|
|
24
|
-
|
|
25
|
-
```bash
|
|
26
|
-
gh pr view <PR番号> --json number,title,state
|
|
27
|
-
```
|
|
28
|
-
|
|
29
|
-
### 2. 未resolveスレッド一覧取得
|
|
30
|
-
|
|
31
|
-
GitHub GraphQL APIでreviewThreadsを取得(`isResolved: false`)
|
|
32
|
-
|
|
33
|
-
### 3. CI/CDステータス確認
|
|
34
|
-
|
|
35
|
-
CI/CDステータスを確認し、失敗しているjobがあれば、原因調査
|
|
36
|
-
|
|
37
|
-
### 4. 未resolveスレッドについて対応するかどうか判断する
|
|
38
|
-
|
|
39
|
-
tasks.mdを参考に、今後のタスクとして対応予定のものなのか、それとも、今すぐに対応すべき課題なのかを判断する
|
|
40
|
-
|
|
41
|
-
### 5. CI/CDステータスが失敗だった時の対応
|
|
42
|
-
|
|
43
|
-
失敗しているjobについてログを確認し、事実ベースで解決策を検討
|
|
44
|
-
|
|
45
|
-
### 6. ユーザー確認
|
|
46
|
-
|
|
47
|
-
resolveするスレッドを提示し、確認を得る。
|
|
48
|
-
|
|
49
|
-
### 7. resolve実行
|
|
50
|
-
|
|
51
|
-
`resolveReviewThread` mutationを実行。
|
|
52
|
-
|
|
53
|
-
### 8. 結果報告
|
|
54
|
-
|
|
55
|
-
resolve済みスレッド数とステータスを報告。
|
|
56
|
-
|
|
57
|
-
## CI/CDステータス確認
|
|
58
|
-
|
|
59
|
-
PRをresolveする前に、**必ずCI/CDのステータスを確認**してください。
|
|
60
|
-
|
|
61
|
-
### 重要な原則
|
|
62
|
-
|
|
63
|
-
❌ **推測で判断しない**: CI/CDが失敗している場合、推測で解決せず、必ずログを確認する
|
|
64
|
-
✅ **ログを確認する**: `ci-cd` スキル(`.claude/skills/ci-cd/SKILL.md`)を参照して、正しい手順でログを確認
|
|
65
|
-
|
|
66
|
-
### CI/CDステータスの確認方法
|
|
67
|
-
|
|
68
|
-
```bash
|
|
69
|
-
# PRのCI/CDステータスを確認
|
|
70
|
-
gh pr checks <PR番号>
|
|
71
|
-
|
|
72
|
-
# 詳細なステータスを表示
|
|
73
|
-
gh pr checks <PR番号> --watch
|
|
74
|
-
|
|
75
|
-
# 失敗したチェックのログを表示
|
|
76
|
-
gh run view <run-id> --log-failed
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### CI/CD失敗時の対応
|
|
80
|
-
|
|
81
|
-
1. **ログ全体を確認**: `gh run view <run-id> --log` でログ全体を取得
|
|
82
|
-
2. **エラー箇所を特定**: エラーメッセージの前後のコンテキストを確認
|
|
83
|
-
3. **根本原因を分析**: `.claude/skills/ci-cd/SKILL.md` を参照
|
|
84
|
-
4. **修正を実施**: 根本原因を理解してから修正
|
|
85
|
-
5. **再実行を確認**: CI/CDが成功するまで繰り返す
|
|
86
|
-
|
|
87
|
-
**詳細は `.claude/skills/ci-cd/SKILL.md` を参照してください。**
|
|
88
|
-
|
|
89
|
-
## GitHub APIクエリ
|
|
90
|
-
|
|
91
|
-
### レビュースレッド取得
|
|
92
|
-
|
|
93
|
-
```bash
|
|
94
|
-
gh api graphql -f query='
|
|
95
|
-
query($owner: String!, $repo: String!, $number: Int!) {
|
|
96
|
-
repository(owner: $owner, name: $repo) {
|
|
97
|
-
pullRequest(number: $number) {
|
|
98
|
-
reviewThreads(first: 100) {
|
|
99
|
-
nodes {
|
|
100
|
-
id
|
|
101
|
-
isResolved
|
|
102
|
-
path
|
|
103
|
-
line
|
|
104
|
-
comments(first: 10) {
|
|
105
|
-
nodes {
|
|
106
|
-
body
|
|
107
|
-
author {
|
|
108
|
-
login
|
|
109
|
-
}
|
|
110
|
-
createdAt
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
' -f owner="OWNER" -f repo="REPO" -F number=PR_NUMBER
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
### resolve実行
|
|
122
|
-
|
|
123
|
-
```bash
|
|
124
|
-
gh api graphql -f query='
|
|
125
|
-
mutation($threadId: ID!) {
|
|
126
|
-
resolveReviewThread(input: {threadId: $threadId}) {
|
|
127
|
-
thread {
|
|
128
|
-
id
|
|
129
|
-
isResolved
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
' -f threadId="THREAD_ID"
|
|
134
|
-
```
|
|
135
|
-
|
|
136
|
-
### リポジトリ情報の自動取得
|
|
137
|
-
|
|
138
|
-
```bash
|
|
139
|
-
# リポジトリのオーナーとリポジトリ名を取得
|
|
140
|
-
gh repo view --json owner,name -q '.owner.login + "/" + .name'
|
|
141
|
-
|
|
142
|
-
# または git remoteから取得
|
|
143
|
-
git remote get-url origin | sed -E 's/.*github.com[:/](.+)\.git/\1/'
|
|
144
|
-
```
|
|
145
|
-
|
|
146
|
-
## 安全性ルール
|
|
147
|
-
|
|
148
|
-
### 必須確認ケース
|
|
149
|
-
|
|
150
|
-
1. **複数スレッドのbatch resolve**: 必ず一覧を提示してユーザー確認
|
|
151
|
-
2. **他者のコメントをresolve**: 慎重な確認が必要
|
|
152
|
-
|
|
153
|
-
### 禁止事項
|
|
154
|
-
|
|
155
|
-
- ユーザー確認なしでの自動resolve
|
|
156
|
-
- 未対応のコメントをresolve
|
|
157
|
-
- レビュアーの明示的な承認なしでのresolve
|
|
158
|
-
|
|
159
|
-
### 推奨パターン
|
|
160
|
-
|
|
161
|
-
```text
|
|
162
|
-
AIエージェント:
|
|
163
|
-
「以下の未resolveスレッドがあります。resolveしますか?
|
|
164
|
-
|
|
165
|
-
1. [path/to/file.ts:42] @reviewer: "変数名を修正してください"
|
|
166
|
-
→ 対応コミット: abc1234 "fix: 変数名をuserIdに変更"
|
|
167
|
-
|
|
168
|
-
2. [path/to/file.ts:87] @reviewer: "エラーハンドリングを追加"
|
|
169
|
-
→ 対応コミット: def5678 "fix: try-catchブロックを追加"
|
|
170
|
-
|
|
171
|
-
選択肢:
|
|
172
|
-
A) すべてresolve
|
|
173
|
-
B) 個別に選択
|
|
174
|
-
C) キャンセル」
|
|
175
|
-
```
|
|
176
|
-
|
|
177
|
-
## エラーハンドリング
|
|
178
|
-
|
|
179
|
-
### 認証エラー
|
|
180
|
-
|
|
181
|
-
```bash
|
|
182
|
-
# gh CLI認証確認
|
|
183
|
-
gh auth status
|
|
184
|
-
|
|
185
|
-
# 再認証
|
|
186
|
-
gh auth login
|
|
187
|
-
```
|
|
188
|
-
|
|
189
|
-
### スレッドID不正
|
|
190
|
-
|
|
191
|
-
- GraphQL APIレスポンスを確認
|
|
192
|
-
- スレッドIDの形式チェック
|
|
193
|
-
|
|
194
|
-
### 権限不足
|
|
195
|
-
|
|
196
|
-
- repo scopeの確認
|
|
197
|
-
- PRへの書き込み権限の確認
|
|
198
|
-
|
|
199
|
-
## 制約事項
|
|
200
|
-
|
|
201
|
-
- 一度に取得できるスレッド数: 100件
|
|
202
|
-
- ページネーションが必要な場合は複数回リクエスト
|
|
203
|
-
|
|
204
|
-
## 参考資料
|
|
205
|
-
|
|
206
|
-
- [GitHub GraphQL API Mutations](https://docs.github.com/en/graphql/reference/mutations)
|
|
207
|
-
- [PR Comments Resolve Gist](https://gist.github.com/kieranklaassen/0c91cfaaf99ab600e79ba898918cea8a)
|
|
208
|
-
- [Stack Overflow: Resolve GitHub PR conversation](https://stackoverflow.com/questions/71421045/how-to-resolve-a-github-pull-request-conversation-comment-thread-using-github/73317004#73317004)
|