Skip to content

docs+harness: packaging phase 4 — marketplace.json + plugin install/update/migration docs (#39) - #48

Merged
robercano-ghbot merged 4 commits into
mainfrom
feat/issue-39-packaging-phase4
Jul 5, 2026
Merged

docs+harness: packaging phase 4 — marketplace.json + plugin install/update/migration docs (#39)#48
robercano-ghbot merged 4 commits into
mainfrom
feat/issue-39-packaging-phase4

Conversation

@robercano-ghbot

Copy link
Copy Markdown
Collaborator

Packaging phase 4: marketplace manifest + plugin install/update docs

Closes #39.

Delivers the marketplace source manifest and rewrites the user docs around the plugin lifecycle, plus a migration guide for existing hand-copied .claude/ adopters.

What changed

Harness (.claude/)

  • .claude/.claude-plugin/marketplace.json — new Claude Code marketplace manifest. Top-level marketplace name ai-project-orchestrator; single plugin entry orchestrator (source: "./"), mirroring plugin.json (name/version/description/author).
  • .claude/.claude-plugin/README.md — added an "Enabling in a consuming project" section with the extraKnownMarketplaces + enabledPlugins snippet for a consumer's .claude/settings.json, plus an honest note on the discovery limitation (see below).
  • .claude/self/checks.sh — the self build gate now also JSON-validates marketplace.json, so future malformed edits are caught (closes a coverage gap flagged in review).

Docs (docs/)

  • docs/GETTING_STARTED.md — rewritten around the plugin flow: install (marketplace add + enable) → /orchestrator:setup (the onboarding skill that scaffolds the adapter/CLAUDE.md/fan-out workflow/CI) → normal work → update → re-stamp. Keeps the substance of what setup collects.
  • docs/USAGE.md — opens with plugin-lifecycle context, command references namespaced to /orchestrator:*, and adds an "Updating the plugin" section.
  • docs/MIGRATION.md — new. For adopters who hand-copied .claude/: what to delete (generic machinery the plugin now carries), what to keep (their gates.json adapter, CLAUDE.md, feature-fanout.js, CI workflow), how to enable the marketplace, and a verification checklist.

Accuracy notes (verified against origin/main, not assumed)

Known limitation (documented honestly in the docs)

A github-source marketplace entry makes Claude Code look for marketplace.json at the repo root (.claude-plugin/marketplace.json), but this repo keeps the plugin root at .claude/, so the manifest lives at .claude/.claude-plugin/marketplace.json. The reliably-working install method today is a local clone: /plugin marketplace add <clone>/.claude. The settings.json github snippet is presented as the target flow with this caveat.

Deferred follow-up

  • Standalone external marketplace repo. The clean long-term fix for the discovery limitation is a dedicated marketplace repo (or a repo-root manifest alias). It cannot be created from inside this repo and is deferred to a follow-up issue.

Validation

  • Self gates on the combined branch: build / lint / test all pass (GATES_FILE=.claude/self/gates.json).
  • Reviewers (consensus all): correctness = approve, tests = approve (tests re-approved on the combined tree once marketplace.json + docs coexist).

🤖 Generated with Claude Code

https://claude.ai/code/session_01VHX2JEvD8oQGs2R9YhtSLL

robercano added 3 commits July 5, 2026 12:52
Adds .claude/.claude-plugin/marketplace.json listing the orchestrator
plugin (mirrors plugin.json's name/version/description/author), and
documents the extraKnownMarketplaces + enabledPlugins settings.json
snippet a consuming project adds to install it. Notes the known
limitation that Claude Code's GitHub marketplace source resolves
marketplace.json at repo root, not a subdirectory, given this repo's
plugin-root-is-.claude/ layout.

Part of issue #39 (packaging phase 4).
The marketplace top-level name must equal the marketplace part of
`<plugin>@<marketplace>` addressing. Rename it from `orchestrator` to
`ai-project-orchestrator` (the repo/marketplace), keeping the plugin
entry's own `name` as `orchestrator` (the plugin id) — this now agrees
with the README's extraKnownMarketplaces key and enabledPlugins entry.

Also add marketplace.json to the self build gate's JSON-parse loop so
a malformed marketplace.json is caught by gates going forward.
…N guide

Reframes onboarding around installing the `orchestrator` Claude Code plugin
(marketplace + enable) and running /orchestrator:setup, instead of cloning
this repo as a template. Leads with the working local-clone install method,
presents the settings.json github-source snippet as the target flow, and
documents the known marketplace.json-at-repo-root discovery gap. Renames
command references to their namespaced /orchestrator:* form, adds an
"Updating the plugin" section (marketplace update + /orchestrator:sync,
clearly marked forthcoming per issue #38). Adds MIGRATION.md for existing
hand-copied adopters: what to delete (harness now carried by the plugin),
what to keep (adapter/CLAUDE.md/workflow/CI files), how to enable the
plugin, and a verification checklist.

Part of issue #39 (packaging phase 4).
…; sync is now shipped (#46)

- Union-merge docs/USAGE.md: keep #48's plugin-flow rewrite structure, fold in
  main's phone-testing section for /orchestrator:test-pr (renamed from the
  unnamespaced /test-pr to match this branch's convention).
- Update USAGE.md and MIGRATION.md: /orchestrator:sync is no longer
  "forthcoming" — it shipped in #46 — so document it as available and point
  at .claude/skills/sync/SKILL.md instead of telling readers to fall back to
  /orchestrator:setup.
@robercano-ghbot
robercano-ghbot merged commit 9e35730 into main Jul 5, 2026
9 checks passed
@robercano-ghbot
robercano-ghbot deleted the feat/issue-39-packaging-phase4 branch July 5, 2026 15:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Packaging phase 4: marketplace repo + install/update docs

2 participants