Skip to content

feat(harness): repo-root marketplace alias so GitHub-source install resolves - #55

Merged
robercano-ghbot merged 1 commit into
mainfrom
feat/root-marketplace-alias
Jul 6, 2026
Merged

feat(harness): repo-root marketplace alias so GitHub-source install resolves#55
robercano-ghbot merged 1 commit into
mainfrom
feat/root-marketplace-alias

Conversation

@robercano-ghbot

Copy link
Copy Markdown
Collaborator

Summary

Claude Code's "source": "github" marketplace resolution looks for .claude-plugin/marketplace.json at the repo root, not a subdirectory — but this repo's plugin root is .claude/, so the GitHub-source snippet documented in GETTING_STARTED.md never actually resolved. Consumers had to fall back to a local sibling clone.

Fix

Add a thin .claude-plugin/marketplace.json at the repo root with one plugin entry pointing back at the real payload via a relative path ("source": "./.claude") — same-repo relative sources are documented/supported, resolved relative to the marketplace root. No submodule, no separate repo. Deliberately omits version/author so it never needs to stay in sync with .claude/.claude-plugin/marketplace.json (it just points at that directory and tracks the git commit SHA).

Docs updated to promote the GitHub-source method now that it works (GETTING_STARTED.md), with the two-manifest rationale explained in both .claude-plugin/README.md (new, root) and .claude/.claude-plugin/README.md (existing, updated).

Test plan

  • node -e "JSON.parse(...)" on the new marketplace.json — valid
  • GATES_FILE=.claude/self/gates.json gate.sh lint passes
  • GATES_FILE=.claude/self/gates.json gate.sh test passes

…esolves

Claude Code's "source": "github" marketplace resolution looks for
.claude-plugin/marketplace.json at the repo root, not a subdirectory. This
repo's plugin root is .claude/, so the bare GitHub-source snippet in
GETTING_STARTED.md never actually resolved.

Fix: add a thin .claude-plugin/marketplace.json at the repo root whose single
plugin entry points back at the real payload via a relative path
("source": "./.claude") — same-repo relative sources are documented and
supported, resolved relative to the marketplace root. No submodule or
separate repo needed. Deliberately omits version/author so it never needs to
be kept in sync with .claude/.claude-plugin/marketplace.json — it just points
at that directory's payload and tracks the git commit SHA.

Updates GETTING_STARTED.md and .claude/.claude-plugin/README.md to promote
the GitHub-source method now that it works, keeping the local-clone method as
an alternative.
@robercano-ghbot
robercano-ghbot merged commit d2b7acb into main Jul 6, 2026
9 checks passed
@robercano-ghbot
robercano-ghbot deleted the feat/root-marketplace-alias branch July 6, 2026 14:51
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.

2 participants