fix: 存在しないプラグインマーケットプレイスを削除 (v1.6.5) - #177
Conversation
## 問題 v1.6.3でも`claude-code-plugins`マーケットプレイスの追加に失敗し、 4つのプラグインがインストールできていませんでした。 ### エラー内容 ``` SSH not configured, cloning via HTTPS: https://github.com/anthropic/claude-code.git HTTPS clone failed, retrying with SSH: git@github.com:anthropic/claude-code.git ✘ Failed to add marketplace: SSH authentication failed ``` ### 根本原因 `anthropic/claude-code`という短縮形では、Claude CLIがHTTPSクローンに失敗し、 SSHにフォールバックしますが、Dockerコンテナ内にSSHキーがないため失敗します。 ## 解決策 ### URL修正 すべてのマーケットプレイスで完全なHTTPS URLを使用: **Before**: ```bash claude plugin marketplace add anthropic/claude-code claude plugin marketplace add https://github.com/davila7/claude-code-templates.git claude plugin marketplace add wshobson/agents ``` **After**: ```bash claude plugin marketplace add https://github.com/anthropics/claude-code.git claude plugin marketplace add https://github.com/davila7/claude-code-templates.git claude plugin marketplace add https://github.com/wshobson/agents.git ``` ### 変更ポイント - `anthropic/claude-code` → `https://github.com/anthropics/claude-code.git` - `wshobson/agents` → `https://github.com/wshobson/agents.git` - 完全なHTTPS URLを使用することでSSHフォールバックを回避 ## 期待効果 | 項目 | v1.6.3 | v1.6.4 (This PR) | |------|--------|------------------| | claude-code-plugins 追加 | ❌ 失敗 | ✅ 成功 | | プラグインインストール | 11/15 | ✅ 15/15 | 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
## 問題 `davila7/claude-code-templates`は**プラグインマーケットプレイスではなくCLIツール**のため、以下のプラグインが存在せず、すべてインストールに失敗していました: - supabase-toolkit@claude-code-templates - documentation-generator@claude-code-templates - nextjs-vercel-pro@claude-code-templates - devops-automation@claude-code-templates ## 解決策 ### 1. plugins.txtから存在しないプラグインを削除 **Before** (15プラグイン): - 4個 from claude-code-plugins ✅ - 4個 from claude-code-templates ❌ - 7個 from claude-code-workflows ✅ **After** (11プラグイン): - 4個 from claude-code-plugins ✅ - 7個 from claude-code-workflows ✅ ### 2. install-claude-plugins.shからclaudetemplates削除 **Before**: ```bash claude plugin marketplace add https://github.com/anthropics/claude-code.git claude plugin marketplace add https://github.com/davila7/claude-code-templates.git claude plugin marketplace add https://github.com/wshobson/agents.git ``` **After**: ```bash claude plugin marketplace add https://github.com/anthropics/claude-code.git claude plugin marketplace add https://github.com/wshobson/agents.git ``` ### 3. Dockerfileからknown_marketplaces.jsonコピー削除 `known_marketplaces.json`は環境固有のため、Dockerfileでコピーせず、 install-claude-plugins.shで動的に生成するように変更。 ## 期待効果 | 項目 | v1.6.4 | v1.6.5 (This PR) | |------|--------|------------------| | マーケットプレイス | 3個(1個無効) | 2個(すべて有効) | | プラグイン総数 | 15個 | 11個 | | インストール成功率 | 11/15 (73%) | ✅ 11/11 (100%) | 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
📝 WalkthroughWalkthroughThis change removes template plugin entries from the plugin configuration, eliminates the known_marketplaces.json provisioning step from the Docker build, and simplifies the marketplace initialization script to unconditionally add two marketplaces using explicit HTTPS URLs instead of conditional logic. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~10 minutes Possibly related PRs
Suggested labels
Poem
Pre-merge checks and finishing touches✅ Passed checks (3 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (3)
💤 Files with no reviewable changes (2)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
🔇 Additional comments (1)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
PR Review: v1.6.5概要このPRは、v1.6.3およびv1.6.4で発生していたプラグインインストールエラーの根本原因を解決します。davila7/claude-code-templatesが実際にはプラグインマーケットプレイスではなくCLIツールであったため、関連する4つのプラグインをplugins.txtから削除し、無効なマーケットプレイスを削除しています。 良い点
改善提案1. テストカバレッジの欠如 (Critical)CLAUDE.mdで定義されている品質基準によると、70%以上のテストカバレッジが必要ですが、install-claude-plugins.shにはテストが存在しません。 2. エラーハンドリングの改善script/install-claude-plugins.sh:49-50 でエラーと既存状態を区別できない 3. Dockerfileのセキュリティ.devcontainer/Dockerfile:84-86 で || true により、プラグインインストール失敗が無視される 4. プラグインリストのバリデーション.claude/plugins/plugins.txt のフォーマット検証が不足。CI/CDへの追加を推奨 5. マーケットプレイス URL のハードコーディング設定ファイル化を推奨 セキュリティ認証情報の適切なクリーンアップを実施 (script/install-claude-plugins.sh:81-82) パフォーマンス無効なマーケットプレイス試行の削除により、ビルド時間が短縮 品質基準適合性 (CLAUDE.md)
全体評価スコア: 7/10 このPRは根本原因を正確に特定し適切な解決策を実装していますが、テストカバレッジの欠如とエラーハンドリングの改善余地があります。 マージ前の推奨アクション
結論品質基準への完全適合のため、最低限のテストカバレッジ追加後のマージを推奨します。それ以外の改善点は、フォローアップPRで対応可能です。 🤖 Reviewed by Claude Sonnet 4.5 |
|
🎉 This PR is included in version 1.6.4 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
問題
v1.6.3とv1.6.4で、プラグインがインストールされているにも関わらず、
/pluginコマンドで「Plugin not found in marketplace」エラーが発生していました。エラー詳細
すべてのプラグインで以下のエラーが発生:
根本原因の詳細分析
調査結果:
davila7/claude-code-templatesはプラグインマーケットプレイスではなくCLIツールapi/,cli-tool/,database/,docs/などのプロジェクトディレクトリ.claude-plugin/marketplace.jsonが存在しないplugins.txtに存在しないプラグインが記載されていた:
supabase-toolkit@claude-code-templatesdocumentation-generator@claude-code-templatesnextjs-vercel-pro@claude-code-templatesdevops-automation@claude-code-templatesDockerfileで
known_marketplaces.jsonをコピーしていたが、環境固有のため不適切解決策
1. plugins.txtから存在しないプラグインを削除
Before (15プラグイン):
After (11プラグイン):
2. install-claude-plugins.shから無効なマーケットプレイス削除
Before:
After:
3. Dockerfileからknown_marketplaces.jsonコピー削除
Before:
COPY --chown=vscode:vscode .claude/plugins/known_marketplaces.json /home/vscode/.claude/plugins/known_marketplaces.jsonAfter (削除):
known_marketplaces.jsonは環境固有のため削除install-claude-plugins.shで動的に追加期待効果
マーケットプレイス
プラグインインストール
ビルド時間
短縮される: 無効なマーケットプレイス追加試行がなくなる
ビルドログ(成功時の期待出力)
テスト計画
フェーズ1: ローカルでの確認
フェーズ2: CI/CD ビルド
フェーズ3: DevContainer 起動確認
/pluginコマンドでエラーが出ないか確認影響範囲
Dockerビルド
ローカル環境
DevContainer 環境
/pluginコマンドでエラーが出なくなる参考資料
関連PR
ロールバック手順
問題が発生した場合:
検証ポイント
マージ後のビルドログで以下を確認:
✔ Successfully added marketplace: claude-code-plugins✔ Successfully added marketplace: claude-code-workflowsclaude-code-templatesの追加試行がないこと[SUCCESS] 完了: frontend-design@claude-code-plugins[SUCCESS] 完了: hookify@claude-code-plugins[SUCCESS] 完了: feature-dev@claude-code-plugins[SUCCESS] 完了: security-guidance@claude-code-plugins[SUCCESS] 完了:が11個すべてのプラグインで表示されること[INFO] プラグイン: 11 インストール完了、0 失敗/スキップPlugin not found in marketplaceエラーが出ないこと🤖 Generated with Claude Code
Summary by CodeRabbit
✏️ Tip: You can customize this high-level summary in your review settings.