From bf18cdf0266300b23dbdd71f64d7eaa5b6316007 Mon Sep 17 00:00:00 2001 From: Test Date: Tue, 16 Jun 2026 12:06:47 +0200 Subject: [PATCH] remove root marketplace catalogs --- .agents/plugins/marketplace.json | 20 ------ .claude-plugin/marketplace.json | 32 ---------- .cursor-plugin/marketplace.json | 18 ------ AGENTS.md | 105 +++++-------------------------- 4 files changed, 16 insertions(+), 159 deletions(-) delete mode 100644 .agents/plugins/marketplace.json delete mode 100644 .claude-plugin/marketplace.json delete mode 100644 .cursor-plugin/marketplace.json diff --git a/.agents/plugins/marketplace.json b/.agents/plugins/marketplace.json deleted file mode 100644 index 529fe1f..0000000 --- a/.agents/plugins/marketplace.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - "name": "expo-plugins", - "interface": { - "displayName": "Expo Skills" - }, - "plugins": [ - { - "name": "expo", - "source": { - "source": "local", - "path": "./plugins/expo" - }, - "policy": { - "installation": "AVAILABLE", - "authentication": "ON_INSTALL" - }, - "category": "Developer Tools" - } - ] -} diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json deleted file mode 100644 index dd17990..0000000 --- a/.claude-plugin/marketplace.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "name": "expo-plugins", - "owner": { - "name": "Expo Team", - "email": "support@expo.dev" - }, - "metadata": { - "description": "Expo's official plugins for Claude Code" - }, - "plugins": [ - { - "name": "expo", - "source": "./plugins/expo", - "description": "Official Expo skills for building, deploying, upgrading, and debugging Expo apps." - }, - { - "name": "expo-app-design", - "source": "./plugins/expo", - "description": "[Deprecated] Use the \"expo\" plugin instead. Build robust, productivity apps with Expo." - }, - { - "name": "upgrading-expo", - "source": "./plugins/expo", - "description": "[Deprecated] Use the \"expo\" plugin instead. Guidelines for upgrading Expo SDK versions." - }, - { - "name": "expo-deployment", - "source": "./plugins/expo", - "description": "[Deprecated] Use the \"expo\" plugin instead. Deploying Expo apps to App Store, Play Store, and web." - } - ] -} diff --git a/.cursor-plugin/marketplace.json b/.cursor-plugin/marketplace.json deleted file mode 100644 index 52ecc4e..0000000 --- a/.cursor-plugin/marketplace.json +++ /dev/null @@ -1,18 +0,0 @@ -{ - "name": "expo-plugins", - "owner": { - "name": "Expo Team", - "email": "support@expo.dev" - }, - "metadata": { - "description": "Expo's official plugins for Cursor", - "version": "1.0.0" - }, - "plugins": [ - { - "name": "expo", - "source": "./plugins/expo", - "description": "Official Expo skills for building, deploying, upgrading, and debugging Expo apps." - } - ] -} diff --git a/AGENTS.md b/AGENTS.md index 04e596e..a979534 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,17 +1,10 @@ # Expo Skills Repository -This repository contains official Expo AI agent skills. The primary distribution format is a Claude Code plugin marketplace, but the skills should stay useful to any agent that can consume `SKILL.md` files. +This repository contains official Expo AI agent skills. The primary distribution formats are official Claude Code and Codex plugin marketplaces plus the skills CLI, but the skills should stay useful to any agent that can consume `SKILL.md` files. ## Repository Structure ``` -.claude-plugin/ - marketplace.json # Claude Code marketplace catalog -.agents/ - plugins/ - marketplace.json # Codex marketplace catalog -.cursor-plugin/ - marketplace.json # Cursor marketplace catalog plugins/ expo/ .claude-plugin/ @@ -32,7 +25,7 @@ README.md # User-facing installation instructions CONTRIBUTING.md # Contributor guidance ``` -The Claude Code marketplace currently exposes `expo` as the active plugin. It also keeps deprecated aliases such as `expo-app-design`, `upgrading-expo`, and `expo-deployment` pointing at `./plugins/expo` for backward compatibility. The Codex and Cursor marketplaces expose only the active `expo` plugin because their marketplace entries must match the plugin manifest name. +The repo keeps one shared `expo` plugin implementation with per-ecosystem manifests under `plugins/expo`. Claude Code and Codex users install the plugin from their official marketplaces. Cursor plugin metadata is kept with the plugin so the package is ready for Cursor's plugin marketplace review; this repo does not maintain its own root marketplace catalog. ## Plugin Manifest @@ -122,69 +115,17 @@ Consult these resources as needed: - `./references/examples.md`: Usage examples ``` -## Marketplace Configuration +## Plugin Configuration -This repo has one shared plugin implementation at `plugins/expo` and separate marketplace wrappers for each agent ecosystem: +This repo has one shared plugin implementation at `plugins/expo` and separate plugin manifests for each agent ecosystem: -- `.claude-plugin/marketplace.json`: Claude Code marketplace. -- `.agents/plugins/marketplace.json`: Codex marketplace. -- `.cursor-plugin/marketplace.json`: Cursor marketplace. +- `plugins/expo/.claude-plugin/plugin.json`: Claude Code plugin manifest. +- `plugins/expo/.codex-plugin/plugin.json`: Codex plugin manifest. +- `plugins/expo/.cursor-plugin/plugin.json`: Cursor plugin manifest. +- `plugins/expo/.mcp.json`: Claude Code and Codex MCP server configuration. +- `plugins/expo/mcp.json`: Cursor MCP server configuration. -Claude Code and Cursor marketplace entries use string `source` paths: - -```json -{ - "name": "marketplace-name", - "owner": { - "name": "Expo Team", - "email": "support@expo.dev" - }, - "metadata": { - "description": "Marketplace description" - }, - "plugins": [ - { - "name": "plugin-name", - "source": "./plugins/plugin-name", - "description": "What the plugin does." - } - ] -} -``` - -Codex marketplace entries use an object `source` plus install policy and category: - -```json -{ - "name": "marketplace-name", - "interface": { - "displayName": "Marketplace Display Name" - }, - "plugins": [ - { - "name": "plugin-name", - "source": { - "source": "local", - "path": "./plugins/plugin-name" - }, - "policy": { - "installation": "AVAILABLE", - "authentication": "ON_INSTALL" - }, - "category": "Developer Tools" - } - ] -} -``` - -Marketplace entry fields: - -- `name` is required and uses kebab-case. -- `source` is required and should point at the plugin directory relative to the marketplace root. -- `description` fields, when present, should be concise and user-facing. -- Codex entries must include `policy.installation`, `policy.authentication`, and `category`. - -When changing Claude Code marketplace aliases, preserve backward compatibility unless the task explicitly removes an old install path. Do not add deprecated alias entries to Codex or Cursor unless their plugin manifest names also match. +Keep the manifest names aligned with the plugin package name, `expo`. Do not add root marketplace catalogs unless Expo decides to publish and maintain its own marketplace again; current user installation should point to the official Claude Code and Codex marketplaces or the skills CLI. ## Adding a Skill @@ -196,19 +137,15 @@ When changing Claude Code marketplace aliases, preserve backward compatibility u ## Testing Plugins -Validate the changed surface before publishing: +Validate the changed plugin surface before publishing: ```bash -claude plugin validate . claude plugin validate ./plugins/expo ``` For JSON-only changes, also verify the edited JSON file parses: ```bash -python3 -m json.tool .claude-plugin/marketplace.json >/dev/null -python3 -m json.tool .agents/plugins/marketplace.json >/dev/null -python3 -m json.tool .cursor-plugin/marketplace.json >/dev/null python3 -m json.tool plugins/expo/.claude-plugin/plugin.json >/dev/null python3 -m json.tool plugins/expo/.codex-plugin/plugin.json >/dev/null python3 -m json.tool plugins/expo/.cursor-plugin/plugin.json >/dev/null @@ -216,32 +153,22 @@ python3 -m json.tool plugins/expo/.mcp.json >/dev/null python3 -m json.tool plugins/expo/mcp.json >/dev/null ``` -For Codex marketplace changes, verify registration in an isolated Codex home before using your real config: - -```bash -mkdir -p .context/codex-home .context/fake-home -CODEX_HOME="$PWD/.context/codex-home" HOME="$PWD/.context/fake-home" codex plugin marketplace add "$PWD" -``` - -For Cursor marketplace changes, validate against Cursor's plugin template validator when available. This workspace has `bun`, so the Node-based validator can be run with Bun. +For Cursor manifest changes, validate against Cursor's plugin template validator when available. This workspace has `bun`, so the Node-based validator can be run with Bun. If a skill includes scripts, run the relevant script-level validation from that skill's `scripts/` directory. ## User Installation -Users install the active plugin from this marketplace: +Claude Code users install the active plugin from the official Claude Code plugin marketplace: ```text -/plugin marketplace add expo/skills -/plugin install expo +/plugin install expo@claude-plugins-official ``` -The deprecated marketplace entries are compatibility aliases only. New documentation should point users to `/plugin install expo`. - -Codex users can add this repository as a marketplace and then install `expo` from the Codex plugin directory: +Codex users install the active plugin from the OpenAI-curated marketplace: ```text -codex plugin marketplace add expo/skills --ref main +codex plugin add expo@openai-curated ``` ## Conventions in This Repo