Skip to content

fix: 存在しないプラグインマーケットプレイスを削除 (v1.6.5) - #177

Merged
keito4 merged 2 commits into
mainfrom
fix/remove-invalid-marketplace-templates
Dec 24, 2025
Merged

fix: 存在しないプラグインマーケットプレイスを削除 (v1.6.5)#177
keito4 merged 2 commits into
mainfrom
fix/remove-invalid-marketplace-templates

Conversation

@keito4

@keito4 keito4 commented Dec 24, 2025

Copy link
Copy Markdown
Owner

問題

v1.6.3とv1.6.4で、プラグインがインストールされているにも関わらず、/pluginコマンドで「Plugin not found in marketplace」エラーが発生していました。

エラー詳細

すべてのプラグインで以下のエラーが発生:

✘ frontend-design@claude-code-plugins
   Plugin 'frontend-design' not found in marketplace 'claude-code-plugins'
   
✘ supabase-toolkit@claude-code-templates
   Plugin 'supabase-toolkit' not found in marketplace 'claude-code-templates'
   
✘ documentation-generator@claude-code-templates
   Plugin 'documentation-generator' not found in marketplace 'claude-code-templates'
...

根本原因の詳細分析

調査結果:

  1. davila7/claude-code-templatesプラグインマーケットプレイスではなくCLIツール

    • リポジトリ内容: api/, cli-tool/, database/, docs/ などのプロジェクトディレクトリ
    • .claude-plugin/marketplace.jsonが存在しない
    • プラグインを配布する構造ではない
  2. plugins.txtに存在しないプラグインが記載されていた:

    • supabase-toolkit@claude-code-templates
    • documentation-generator@claude-code-templates
    • nextjs-vercel-pro@claude-code-templates
    • devops-automation@claude-code-templates
  3. Dockerfileでknown_marketplaces.jsonをコピーしていたが、環境固有のため不適切

解決策

1. plugins.txtから存在しないプラグインを削除

Before (15プラグイン):

# === Code Plugins (claude-code-plugins) ===
frontend-design@claude-code-plugins              ✅
hookify@claude-code-plugins                      ✅
feature-dev@claude-code-plugins                  ✅
security-guidance@claude-code-plugins            ✅

# === Template Plugins (claude-code-templates) ===
supabase-toolkit@claude-code-templates           ❌ 削除
documentation-generator@claude-code-templates    ❌ 削除
nextjs-vercel-pro@claude-code-templates          ❌ 削除
devops-automation@claude-code-templates          ❌ 削除

# === Workflow Plugins (claude-code-workflows) ===
backend-development@claude-code-workflows        ✅
full-stack-orchestration@claude-code-workflows   ✅
code-refactoring@claude-code-workflows           ✅
kubernetes-operations@claude-code-workflows      ✅
javascript-typescript@claude-code-workflows      ✅
database-design@claude-code-workflows            ✅
database-migrations@claude-code-workflows        ✅

After (11プラグイン):

# === Code Plugins (claude-code-plugins) ===
frontend-design@claude-code-plugins
hookify@claude-code-plugins
feature-dev@claude-code-plugins
security-guidance@claude-code-plugins

# === Workflow Plugins (claude-code-workflows) ===
backend-development@claude-code-workflows
full-stack-orchestration@claude-code-workflows
code-refactoring@claude-code-workflows
kubernetes-operations@claude-code-workflows
javascript-typescript@claude-code-workflows
database-design@claude-code-workflows
database-migrations@claude-code-workflows

2. install-claude-plugins.shから無効なマーケットプレイス削除

Before:

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:

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コピー削除

Before:

COPY --chown=vscode:vscode .claude/plugins/known_marketplaces.json /home/vscode/.claude/plugins/known_marketplaces.json

After (削除):

  • known_marketplaces.jsonは環境固有のため削除
  • マーケットプレイスはinstall-claude-plugins.shで動的に追加

期待効果

マーケットプレイス

マーケットプレイス v1.6.4 v1.6.5 (This PR)
claude-code-plugins
claude-code-templates ❌ CLIツール 削除
claude-code-workflows
合計 3個(1個無効) 2個(すべて有効)

プラグインインストール

項目 v1.6.4 v1.6.5 (This PR)
プラグイン総数 15個 11個
インストール成功 11/15 (73%) 11/11 (100%)
インストール失敗 4個 0個

ビルド時間

短縮される: 無効なマーケットプレイス追加試行がなくなる

ビルドログ(成功時の期待出力)

[INFO] マーケットプレイスを初期化中...
Adding marketplace...
Cloning repository: https://github.com/anthropics/claude-code.git
Clone complete, validating marketplace…
✔ Successfully added marketplace: claude-code-plugins

Adding marketplace...
Cloning repository: https://github.com/wshobson/agents.git
Clone complete, validating marketplace…
✔ Successfully added marketplace: claude-code-workflows

[INFO] プラグインをインストール中...
[SUCCESS]   完了: frontend-design@claude-code-plugins
[SUCCESS]   完了: hookify@claude-code-plugins
[SUCCESS]   完了: feature-dev@claude-code-plugins
[SUCCESS]   完了: security-guidance@claude-code-plugins
[SUCCESS]   完了: backend-development@claude-code-workflows
[SUCCESS]   完了: full-stack-orchestration@claude-code-workflows
[SUCCESS]   完了: code-refactoring@claude-code-workflows
[SUCCESS]   完了: kubernetes-operations@claude-code-workflows
[SUCCESS]   完了: javascript-typescript@claude-code-workflows
[SUCCESS]   完了: database-design@claude-code-workflows
[SUCCESS]   完了: database-migrations@claude-code-workflows

[INFO] プラグイン: 11 インストール完了、0 失敗/スキップ
[SUCCESS] Claude プラグインのインストールが完了しました

テスト計画

フェーズ1: ローカルでの確認

  1. ✅ スクリプトの文法チェック
  2. ✅ pre-commit フック通過
  3. ✅ 全テスト通過

フェーズ2: CI/CD ビルド

  1. ⏳ Docker ビルド実行
  2. ⏳ ビルドログで2つのマーケットプレイス追加成功確認
  3. ⏳ ビルドログで11個すべてのプラグインインストール成功確認
  4. ⏳ エラーログに「not found in marketplace」が出ないことを確認

フェーズ3: DevContainer 起動確認

  1. ⏳ v1.6.5 イメージで DevContainer 起動
  2. /plugin コマンドでエラーが出ないか確認
  3. ⏳ 11個のプラグインすべてが正常動作するか確認

影響範囲

Dockerビルド

  • ✅ 有効なマーケットプレイスのみ追加される
  • ✅ すべてのプラグインが正しくインストールされる
  • ✅ ビルド時間が若干短縮(無効マーケットプレイス試行なし)

ローカル環境

  • ✅ setup-claude.shでプラグイン同期時、存在しないプラグインをスキップ
  • ✅ known_marketplaces.jsonは環境固有のまま維持

DevContainer 環境

  • ✅ 11個すべてのプラグインが利用可能
  • /plugin コマンドでエラーが出なくなる

参考資料

関連PR

ロールバック手順

問題が発生した場合:

# v1.6.4 に戻す
git revert <commit-hash>

# または、ファイルを個別にリバート
git checkout v1.6.4 -- .claude/plugins/plugins.txt
git checkout v1.6.4 -- script/install-claude-plugins.sh
git checkout v1.6.4 -- .devcontainer/Dockerfile

検証ポイント

マージ後のビルドログで以下を確認:

  • ✔ Successfully added marketplace: claude-code-plugins
  • ✔ Successfully added marketplace: claude-code-workflows
  • claude-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

  • Chores
    • Removed the Template Plugins section and its associated entries from the available plugins list
    • Streamlined the plugin marketplace initialization process during setup

✏️ Tip: You can customize this high-level summary in your review settings.

github-actions Bot and others added 2 commits December 24, 2025 22:08
## 問題

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>
@coderabbitai

coderabbitai Bot commented Dec 24, 2025

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

This 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

Cohort / File(s) Summary
Plugin Configuration Cleanup
.claude/plugins/plugins.txt
Removed the entire Template Plugins section, including the claude-code-templates header and four plugin entries (supabase-toolkit, documentation-generator, nextjs-vercel-pro, devops-automation). Code and Workflow Plugins sections remain unchanged.
Docker Build Simplification
.devcontainer/Dockerfile
Removed the COPY instruction that provisioned known_marketplaces.json to /home/vscode/.claude/plugins/known_marketplaces.json, eliminating conditional marketplace configuration from the build process.
Marketplace Setup Refactoring
script/install-claude-plugins.sh
Replaced conditional marketplace initialization logic (checks for known_marketplaces.json existence and corresponding log messages) with unconditional addition of two marketplaces via explicit HTTPS URLs. Installation messaging and version checks remain intact.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested labels

released

Poem

🐰 The templates hop away with care,
Known markets fade without a prayer,
Two URLs bloom where JSON lay,
The plugins dance a simpler way!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is in Japanese and describes removing non-existent plugin marketplaces. It directly matches the PR objectives about removing invalid marketplace templates and fixing plugin installation errors.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch fix/remove-invalid-marketplace-templates

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between bea1a8a and fb8920f.

📒 Files selected for processing (3)
  • .claude/plugins/plugins.txt
  • .devcontainer/Dockerfile
  • script/install-claude-plugins.sh
💤 Files with no reviewable changes (2)
  • .devcontainer/Dockerfile
  • .claude/plugins/plugins.txt
⏰ 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)
  • GitHub Check: claude-review
🔇 Additional comments (1)
script/install-claude-plugins.sh (1)

48-50: The GitHub repository URLs are correct as written.

Both URLs have been verified and are accessible:

  • https://github.com/anthropics/claude-code.git returns HTTP 200 (exists) — note that "anthropics" (plural) is the correct spelling, not "anthropic"
  • https://github.com/wshobson/agents.git returns HTTP 200 (exists)

The unconditional marketplace addition approach aligns well with the PR objectives. The code is correct and approved.

Likely an incorrect or invalid review comment.


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.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@claude

claude Bot commented Dec 24, 2025

Copy link
Copy Markdown
Contributor

PR Review: v1.6.5

概要

このPRは、v1.6.3およびv1.6.4で発生していたプラグインインストールエラーの根本原因を解決します。davila7/claude-code-templatesが実際にはプラグインマーケットプレイスではなくCLIツールであったため、関連する4つのプラグインをplugins.txtから削除し、無効なマーケットプレイスを削除しています。

良い点

  1. 根本原因の正確な特定 - davila7/claude-code-templatesがプラグインマーケットプレイスではなくCLIツールであることを正しく識別
  2. 適切なクリーンアップ - 3つのファイルにわたって一貫性のある変更を実施
  3. HTTPS URL の完全形式使用 - SSHフォールバックを回避
  4. 期待効果の明確化 - インストール成功率: 73% → 100%
  5. 包括的なドキュメント - テスト計画、影響範囲、ロールバック手順を提供

改善提案

1. テストカバレッジの欠如 (Critical)

CLAUDE.mdで定義されている品質基準によると、70%以上のテストカバレッジが必要ですが、install-claude-plugins.shにはテストが存在しません。
推奨: test/install-plugins.test.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)

  • TDD (70%+ カバレッジ): ❌ 不適合
  • Conventional Commits: ✅ 適合
  • PR diff ≤ 400行: ✅ 適合
  • Linked Issue: ⚠️ 要確認
  • ドキュメント更新: ✅ 適合
  • リリースノート: ✅ 適合

全体評価

スコア: 7/10

このPRは根本原因を正確に特定し適切な解決策を実装していますが、テストカバレッジの欠如とエラーハンドリングの改善余地があります。

マージ前の推奨アクション

  1. 必須: install-claude-plugins.sh の基本的なテストケースを追加
  2. 推奨: マーケットプレイス追加時のエラーハンドリング改善
  3. 推奨: plugins.txt のフォーマットバリデーションをCI/CDに追加
  4. オプション: マーケットプレイスURLを設定ファイル化

結論

品質基準への完全適合のため、最低限のテストカバレッジ追加後のマージを推奨します。それ以外の改善点は、フォローアップPRで対応可能です。

🤖 Reviewed by Claude Sonnet 4.5

@keito4
keito4 merged commit a07d6c4 into main Dec 24, 2025
4 checks passed
@github-actions

Copy link
Copy Markdown
Contributor

🎉 This PR is included in version 1.6.4 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

released リリース済み

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant