diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json
index 15d0f6a..107a939 100644
--- a/.claude-plugin/marketplace.json
+++ b/.claude-plugin/marketplace.json
@@ -1,10 +1,10 @@
{
"$schema": "https://anthropic.com/claude-code/marketplace.schema.json",
- "name": "tasict-opencode-plugin-cc",
+ "name": "johnnyvicious-opencode-plugin-cc",
"version": "1.0.0",
"description": "OpenCode plugins to use in Claude Code for delegation and code review.",
"owner": {
- "name": "OpenCode Community"
+ "name": "JohnnyVicious"
},
"plugins": [
{
diff --git a/README.md b/README.md
index 33970db..24ee9b1 100644
--- a/README.md
+++ b/README.md
@@ -33,34 +33,30 @@ they already have.
## Install
-Inside Claude Code, run:
+Add the marketplace in Claude Code:
```
-! curl -fsSL https://raw.githubusercontent.com/tasict/opencode-plugin-cc/main/install.sh | bash
+/plugin marketplace add JohnnyVicious/opencode-plugin-cc
```
-Then reload the plugin:
+Install the plugin:
```
-/reload-plugins
+/plugin install opencode@johnnyvicious-opencode-plugin-cc
```
-You should see:
+Reload plugins:
```
-Reloaded: 1 plugin · 7 skills · 6 agents · 3 hooks ...
+/reload-plugins
```
-Finally, verify your setup:
+Then verify your setup:
```
/opencode:setup
```
-> **What the installer does**: Clones the repo to `~/.claude/plugins/marketplaces/`,
-> caches the plugin files, and registers it in Claude Code's plugin config.
-> It tries SSH first and falls back to HTTPS automatically.
-
### Set up an AI Provider
If OpenCode is installed but no AI provider is configured, set one up:
@@ -78,10 +74,14 @@ To check your configured providers:
### Uninstall
```
-/plugin uninstall opencode@tasict-opencode-plugin-cc
+/plugin uninstall opencode@johnnyvicious-opencode-plugin-cc
/reload-plugins
```
+> **Migrating from the upstream `tasict-opencode-plugin-cc` install?** Run
+> `/plugin uninstall opencode@tasict-opencode-plugin-cc` once before the
+> install command above so the old marketplace entry is removed.
+
## Command Mapping (codex-plugin-cc -> opencode-plugin-cc)
| codex-plugin-cc | opencode-plugin-cc | Description |
@@ -113,21 +113,11 @@ When enabled via `/opencode:setup --enable-review-gate`, a Stop hook runs a targ
Plugin not loading after install (0 plugins)
-1. Re-run the installer: `! curl -fsSL https://raw.githubusercontent.com/tasict/opencode-plugin-cc/main/install.sh | bash`
-2. Run `/reload-plugins` again.
+1. Confirm the marketplace is registered: `/plugin marketplace list` should include `johnnyvicious-opencode-plugin-cc`. If not, re-run `/plugin marketplace add JohnnyVicious/opencode-plugin-cc`.
+2. Re-run `/plugin install opencode@johnnyvicious-opencode-plugin-cc` and then `/reload-plugins`.
3. If still failing, restart Claude Code.
-
-Install script fails to clone
-
-The script tries SSH first, then HTTPS. If both fail:
-
-- Check your network connection
-- For SSH: ensure `ssh -T git@github.com` works
-- For HTTPS: run `gh auth login` to set up credentials
-
-
OpenCode commands not working
@@ -157,7 +147,7 @@ codex-plugin-cc opencode-plugin-cc
```
opencode-plugin-cc/
├── .claude-plugin/marketplace.json # Marketplace registration
-├── install.sh # One-line installer
+├── .github/workflows/ci.yml # GitHub Actions CI
├── plugins/opencode/
│ ├── .claude-plugin/plugin.json # Plugin metadata
│ ├── agents/opencode-rescue.md # Rescue subagent definition
diff --git a/install.sh b/install.sh
deleted file mode 100755
index db6fa85..0000000
--- a/install.sh
+++ /dev/null
@@ -1,126 +0,0 @@
-#!/usr/bin/env bash
-# One-line installer for opencode-plugin-cc
-# Usage (inside Claude Code):
-# ! curl -fsSL https://raw.githubusercontent.com/tasict/opencode-plugin-cc/main/install.sh | bash
-#
-# Or clone + run locally:
-# ! bash <(curl -fsSL https://raw.githubusercontent.com/tasict/opencode-plugin-cc/main/install.sh)
-
-set -euo pipefail
-
-REPO="tasict/opencode-plugin-cc"
-PLUGIN_NAME="opencode"
-MARKETPLACE_NAME="tasict-opencode-plugin-cc"
-BRANCH="main"
-
-CLAUDE_DIR="$HOME/.claude"
-MARKETPLACES_DIR="$CLAUDE_DIR/plugins/marketplaces"
-CACHE_DIR="$CLAUDE_DIR/plugins/cache/$MARKETPLACE_NAME/$PLUGIN_NAME"
-KNOWN_MKT="$CLAUDE_DIR/plugins/known_marketplaces.json"
-INSTALLED="$CLAUDE_DIR/plugins/installed_plugins.json"
-
-# Colors
-RED='\033[0;31m'
-GREEN='\033[0;32m'
-YELLOW='\033[1;33m'
-NC='\033[0m'
-
-info() { echo -e "${GREEN}[opencode-plugin]${NC} $1"; }
-warn() { echo -e "${YELLOW}[opencode-plugin]${NC} $1"; }
-error() { echo -e "${RED}[opencode-plugin]${NC} $1"; exit 1; }
-
-# --- Pre-checks ---
-[ -d "$CLAUDE_DIR" ] || error "Claude Code directory not found at $CLAUDE_DIR. Is Claude Code installed?"
-
-mkdir -p "$CLAUDE_DIR/plugins/marketplaces" "$CLAUDE_DIR/plugins/cache"
-
-# --- Step 1: Clone marketplace ---
-MKT_DIR="$MARKETPLACES_DIR/$MARKETPLACE_NAME"
-
-if [ -d "$MKT_DIR" ]; then
- info "Marketplace already exists, pulling latest..."
- git -C "$MKT_DIR" pull --ff-only origin "$BRANCH" 2>/dev/null || true
-else
- info "Cloning marketplace from GitHub..."
- # Try SSH first, fall back to HTTPS
- if git clone --depth 1 -b "$BRANCH" "git@github.com:$REPO.git" "$MKT_DIR" 2>/dev/null; then
- info "Cloned via SSH."
- elif git clone --depth 1 -b "$BRANCH" "https://github.com/$REPO.git" "$MKT_DIR" 2>/dev/null; then
- info "Cloned via HTTPS."
- else
- error "Failed to clone repository. Please check your network and GitHub access."
- fi
-fi
-
-# --- Step 2: Read plugin version ---
-PLUGIN_JSON="$MKT_DIR/plugins/$PLUGIN_NAME/.claude-plugin/plugin.json"
-[ -f "$PLUGIN_JSON" ] || error "plugin.json not found at $PLUGIN_JSON"
-
-VERSION=$(python3 -c "import json; print(json.load(open('$PLUGIN_JSON'))['version'])" 2>/dev/null || echo "1.0.0")
-GIT_SHA=$(git -C "$MKT_DIR" rev-parse HEAD 2>/dev/null || echo "unknown")
-NOW=$(date -u +"%Y-%m-%dT%H:%M:%S.000Z")
-
-info "Plugin version: $VERSION (sha: ${GIT_SHA:0:12})"
-
-# --- Step 3: Copy plugin to cache ---
-CACHE_VERSION_DIR="$CACHE_DIR/$VERSION"
-rm -rf "$CACHE_VERSION_DIR"
-mkdir -p "$CACHE_VERSION_DIR"
-cp -R "$MKT_DIR/plugins/$PLUGIN_NAME/." "$CACHE_VERSION_DIR/"
-info "Plugin cached at $CACHE_VERSION_DIR"
-
-# --- Step 4: Register marketplace in known_marketplaces.json ---
-if [ ! -f "$KNOWN_MKT" ]; then
- echo '{}' > "$KNOWN_MKT"
-fi
-
-python3 -c "
-import json, sys
-with open('$KNOWN_MKT', 'r') as f:
- data = json.load(f)
-data['$MARKETPLACE_NAME'] = {
- 'source': {'source': 'github', 'repo': '$REPO'},
- 'installLocation': '$MKT_DIR',
- 'lastUpdated': '$NOW'
-}
-with open('$KNOWN_MKT', 'w') as f:
- json.dump(data, f, indent=2)
- f.write('\n')
-" || warn "Could not update known_marketplaces.json (non-fatal)"
-
-# --- Step 5: Register plugin in installed_plugins.json ---
-if [ ! -f "$INSTALLED" ]; then
- echo '{"version": 2, "plugins": {}}' > "$INSTALLED"
-fi
-
-python3 -c "
-import json
-with open('$INSTALLED', 'r') as f:
- data = json.load(f)
-if 'plugins' not in data:
- data['plugins'] = {}
-data['plugins']['$PLUGIN_NAME@$MARKETPLACE_NAME'] = [{
- 'scope': 'user',
- 'installPath': '$CACHE_VERSION_DIR',
- 'version': '$VERSION',
- 'installedAt': '$NOW',
- 'lastUpdated': '$NOW',
- 'gitCommitSha': '$GIT_SHA'
-}]
-with open('$INSTALLED', 'w') as f:
- json.dump(data, f, indent=2)
- f.write('\n')
-" || error "Failed to update installed_plugins.json"
-
-# --- Done ---
-echo ""
-info "Installation complete!"
-echo ""
-echo -e " ${GREEN}Next step:${NC} Run this command inside Claude Code:"
-echo ""
-echo -e " ${YELLOW}/reload-plugins${NC}"
-echo ""
-echo -e " Then verify with:"
-echo ""
-echo -e " ${YELLOW}/opencode:setup${NC}"
-echo ""
diff --git a/package-lock.json b/package-lock.json
index 8beb9d7..5ba1271 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,11 +1,11 @@
{
- "name": "@opencode-ai/opencode-plugin-cc",
+ "name": "@johnnyvicious/opencode-plugin-cc",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
- "name": "@opencode-ai/opencode-plugin-cc",
+ "name": "@johnnyvicious/opencode-plugin-cc",
"version": "1.0.0",
"license": "MIT",
"devDependencies": {
diff --git a/package.json b/package.json
index 55eb6d1..94d3d69 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
{
- "name": "@opencode-ai/opencode-plugin-cc",
+ "name": "@johnnyvicious/opencode-plugin-cc",
"version": "1.0.0",
"private": true,
"type": "module",