Skip to content

claude-plugin README: document installing from a fork (AGENT_BOUNDARY_PACKAGE_SPEC) - #1

Open
berekuk wants to merge 1 commit into
Metta-AI:mainfrom
berekuk:readme-package-spec
Open

claude-plugin README: document installing from a fork (AGENT_BOUNDARY_PACKAGE_SPEC)#1
berekuk wants to merge 1 commit into
Metta-AI:mainfrom
berekuk:readme-package-spec

Conversation

@berekuk

@berekuk berekuk commented Aug 26, 2026

Copy link
Copy Markdown
Contributor

Installing the plugin from a fork takes two steps, and the second is easy to miss: re-pointing the marketplace only changes the hook wiring, while bin/bootstrap keeps installing the Python package into the protected runtime from the public repo's pinned revision. AGENT_BOUNDARY_PACKAGE_SPEC is the override for that, but it was only mentioned in a comment inside bootstrap.

This adds an "Installing from a fork" subsection to the plugin README, right after the paragraph that explains where the runtime's package comes from:

  • the two layers and how each is refreshed (/plugin update … vs bin/bootstrap install);
  • AGENT_BOUNDARY_PACKAGE_SPEC with file:// and git+https://…@branch examples, and where to set it so hook processes inherit it (the env block of user settings.json; a plain terminal needs it passed explicitly);
  • that AGENT_BOUNDARY_SOURCE_DIR still wins when set and is for lockfile-carrying workspaces, not a standalone checkout.

Docs only. Verified the described setup end-to-end on macOS: directory marketplace from a fork checkout + the env var in settings.json, runtime direct_url.json pointing at the checkout, and a fresh session's shell seeing the variable.

🤖 Generated with Claude Code

…_PACKAGE_SPEC)

The plugin and the Python package in the protected runtime are two layers
refreshed separately, and bin/bootstrap installs the package from the public
repo's pinned revision regardless of which marketplace the plugin came from —
so a fork user who only re-points the marketplace still runs upstream code.
Name the override (AGENT_BOUNDARY_PACKAGE_SPEC, passed to `uv pip install`
verbatim), where to set it so hooks inherit it (settings.json `env`), and how
to refresh each layer; note that AGENT_BOUNDARY_SOURCE_DIR is for lockfile-
carrying workspaces, not a standalone checkout.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.

1 participant