Skip to content

chore(claude): register the claudine plugin marketplace for this repo - #1841

Open
hercemer42 wants to merge 1 commit into
mainfrom
chore/claudine-plugin-and-doc-drift
Open

chore(claude): register the claudine plugin marketplace for this repo#1841
hercemer42 wants to merge 1 commit into
mainfrom
chore/claudine-plugin-and-doc-drift

Conversation

@hercemer42

@hercemer42 hercemer42 commented Aug 21, 2026

Copy link
Copy Markdown
Contributor

What this changes for someone reading this repo's docs

A dev — or an agent — reading CLAUDE.md today follows its instructions confidently, and one of them cannot work: line 99 tells you to install the Linear MCP server from an npm package that does not exist. That is the class of problem PRD-762 exists to kill. This PR does not fix it, and does not fix any doc claim, because the PRD-762 verification pass handed me an empty findings list — zero claims came back CONFIRMED or PARTIAL, so per the ticket's own rule (apply only what was verified) there is nothing to apply. See "Checked and not changed" below for what I did check, and "Needs your call" for the drift I found and deliberately left alone.

What does land is the PRD-713 half: registering the forest marketplace in the shared .claude/settings.json, so the Forest Claude Code toolkit (skills, hooks, scripts) is one command away for anyone who opens this repo instead of a thing you hear about in Slack and wire up by hand.

Change 1 — register the claudine marketplace (PRD-713)

Three keys added to .claude/settings.json, nothing else in the file touched:

"extraKnownMarketplaces": { "forest": { "source": { "source": "github", "repo": "ForestAdmin/claudine" } } },
"enabledPlugins": { "forest@forest": true }

It prompts. It does not force-install, and it does not silently install. extraKnownMarketplaces registers the marketplace so /plugin install forest@forest resolves; enabledPlugins marks the plugin active if the dev has installed it — it is a pre-selection, not an installer. Per the Claude Code v2.1.195+ docs: a plugin that only the project's .claude/settings.json enables, coming from an external source such as a GitHub repo, does not load until the team member installs it — until then Claude Code reports it as not installed. So the worst case for a dev who wants none of this is an offer they decline.

Verified rather than assumed:

Claim Verdict Evidence
Top-level key is extraKnownMarketplaces, not knownMarketplaces CONFIRMED This repo already uses it: .claude/settings.json:2 on main, for claude-code-plugins and anthropic-agent-skills
GitHub source shape is nested source: { source: "github", repo: "owner/repo" } CONFIRMED Same file, .claude/settings.json:3-7 and :9-13 on main — my entry is copied from the shape already working here
The plugin identifier is forest@forest CONFIRMED ForestAdmin/claudine.claude-plugin/marketplace.json: marketplace name: "forest" (line 2), plugin name: "forest" (line 8)
ForestAdmin/claudine is the right repo string CONFIRMED gh repo view ForestAdmin/claudinenameWithOwner: ForestAdmin/claudine, default branch main
Belongs in settings.json (committed), not settings.local.json CONFIRMED .gitignore:25 ignores .claude/settings.local.json, so a local-scope entry could not be shared with the team even if we wanted it there
Private-marketplace auth needs no schema field CONFIRMED (with a caveat) claudine is a private repo (gh repo viewvisibility: PRIVATE). Install/update authenticates through the dev's normal git credential helper (gh auth / SSH / Keychain); no auth field exists in or is needed by the JSON. Caveat: background auto-updates can need a git URL rewrite with an embedded token — not something this PR can configure.
No existing key was dropped in the merge CONFIRMED Diffed the flattened key/value set of origin/main's file against mine: 0 lost, exactly 3 added. permissions.deny and all six existing enabledPlugins entries are byte-identical.

Change 2 — doc fixes (PRD-762): no changes in this PR

The verified-findings payload for PRD-762 arrived empty ([]). No claim was marked CONFIRMED or PARTIAL, so no doc edit is included. Nothing was REFUTED or UNVERIFIABLE either — there was simply no claim list to act on. Flagging this rather than inventing fixes, since guessing at doc "corrections" is exactly how a docs file acquires drift.

Checked and not changed

Drift I hit while working in this repo, left untouched to keep this PR to its declared scope. Each is checkable:

  1. CLAUDE.md:99 — the Linear MCP install command is dead. It says claude mcp add linear-server npx -- -y @anthropic/linear-mcp-server. npm view @anthropic/linear-mcp-server returns 404 — package does not exist. Anyone following this line gets a failed install. The current Linear MCP is a remote (hosted) server, not an npm package, so the fix is a different command shape, not a version bump. Highest-value single line in the file to fix.
  2. CLAUDE.md:116mcp__linear-server__create_issue looks stale. The Linear MCP consolidated issue create/update into save_issue; in my session the exposed tool is …__save_issue and no create_issue exists. Softer evidence than build: add compiler, linter and test runner #1 — tool-name prefixes vary by how the server is registered locally — so I am reporting it as an observation, not a verified defect.

Both belong in the PRD-762 doc-fix pass with proper verification behind them, not smuggled in here.

Needs your call

  • The prompt-on-trust behaviour is inferred, not documented. The docs do not state whether the interactive install panel (the one that appears when you open and trust a repo carrying extraKnownMarketplaces) is triggered by extraKnownMarketplaces alone, or needs enabledPlugins too. My read: extraKnownMarketplaces registers the marketplace so install works, enabledPlugins has no effect on install prompts for a new dev, and the "prompt once" flow may fire on a different trigger. What is solid is the negative: nothing here force-installs or auto-loads. Worth one fresh-clone test before we promise the team a prompt.
  • Private repo means access is per-dev. Anyone without read access to ForestAdmin/claudine sees the marketplace fail to resolve rather than silently do nothing. Fine if the whole team has access — please confirm they do.
  • enabledPlugins pre-enables the plugin for everyone in this repo. Opinionated by design (that is the point of PRD-713), but say the word if you would rather register the marketplace only and let people enable it themselves.
  • This is the doc-fix half of PRD-762 only, and it is empty. The Slite conventions tree is NOT touched by this PR — nothing there is edited, moved, or retired. PRD-762 needs team sign-off before anything is retired, and this PR does not pre-empt it.
  • Pre-existing prettier drift, left alone. prettier --check .claude/settings.json warns on both main and this branch: it wants permissions.deny collapsed onto one line (fits in printWidth: 100). Pre-existing, in a block I did not touch, and no CI job runs prettier on this path — so I did not reformat it. Say so if you want it cleaned up in passing.

Tickets: PRD-713 · PRD-762


Definition of Done

General

  • Write an explicit title for the Pull Request, following Conventional Commits specification
  • Test manually the implemented changes — JSON re-parsed after the merge; flattened key set diffed against origin/main (0 lost, 3 added); prettier --check run on the touched file (only the pre-existing permissions.deny warning, documented above). Not tested: the end-to-end install prompt in a fresh clone — see "Needs your call".
  • Validate the code quality (indentation, syntax, style, simplicity, readability) — 2-space indent matching the file; new entry copies the shape of the two marketplaces already present.

Security

  • Consider the security impact of the changes made — this adds a private, org-owned GitHub repo as a plugin marketplace. Plugin code executes locally once a dev installs, so the trust question is real: it is ForestAdmin/claudine, ours, private, and install stays an explicit per-dev action. Nothing here auto-installs, auto-loads, or embeds a credential. permissions.deny (the .env read blocks) is unchanged.

🤖 Generated with Claude Code

Note

Register the 'forest' claudine plugin marketplace and enable forest@forest skill

Adds a new forest source to .claude/settings.json pointing to the ForestAdmin/claudine GitHub repository. Enables the forest@forest skill so it becomes available for use in this repo.

Macroscope summarized d36bdc4.

…prompt away

Anyone who opens and trusts this repo now gets offered the Forest Claude Code
toolkit (skills, hooks, scripts) instead of hearing about it in Slack and
wiring the marketplace by hand. Nothing installs on its own: Claude Code
registers ForestAdmin/claudine as a known marketplace and pre-enables
forest@forest, but an external-source plugin does not load until the dev runs
/plugin install forest@forest — until then Claude Code reports it as not
installed.

Merged into the existing shared .claude/settings.json alongside the two
anthropics marketplaces already there; the permissions.deny block and every
existing enabledPlugins entry are untouched.

Co-Authored-By: Claude Opus 5 (1M context) <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