Say where the commitlore command comes from, since the plugin does not carry it - #356
Merged
Conversation
…t carry it The README leads with the plugin and then, sixty lines later, tells the reader to run `commitlore init` and `commitlore context .`. Nothing between those two points puts a `commitlore` anywhere. `package.json` is private with no `bin`, `.claude-plugin/plugin.json` declares no executable, and the plugin's payload is `.mcp.json`, `hooks/hooks.json`, `skills/` and `dist/` -- so a reader who took the headline path and typed the documented command got exit 127. The MCP server offers no route around it: seven tools, none of them `init`. Nothing in the product was wrong. The plugin does what its own section claims, the hook resolves the bundle through `CLAUDE_PLUGIN_ROOT` without needing `PATH`, and `docs/COMPATIBILITY.md` has said all of this precisely for some time -- it already separates what a path requires from what it checks, and already records that the plugin path enforces nothing. The README simply never inherited that care. So the correction is one sentence per language saying what the plugin holds and where the CLI comes from, phrased to stay consistent with the document that is authoritative on it rather than to restate it. The setup skill had the same gap and is worse placed to survive it: it is shipped by the plugin, so its reader is by construction the person least likely to have the CLI. It now names the CLI's origin before the first command, and gives the bundle path as the fallback the hook itself uses. Record-Id: r-pluginpath353 Limit: a plugin manifest has no way to add anything to PATH, so no plugin-side change can make the documented commands resolve Ruled-out: Wiring scripts/commitlore-bootstrap.sh into the plugin | it npm installs an unclaimed registry name into the plugin data directory, which was closed as a supply-chain hole, and re-arming it to make a README sentence true trades a documentation defect for an execution one Ruled-out: Adding a bin entry to package.json | the package is private and publishes nothing, so the entry would name an install path no user can take Ruled-out: Rewriting the later sections to drop the bare commitlore form | three skills and both quickstart blocks use it, the CLI is real for anyone who ran the installer, and rewriting a correct command is a larger edit than naming its source once Certainty: firm Blast: local Undo: easy Verified: package.json is private with no bin and .claude-plugin/plugin.json declares no executable; the plugin ships only .mcp.json, hooks/hooks.json, skills/ and dist/; src/mcp exposes seven tools and none is init; commitlore-bootstrap.sh is referenced by nothing in the tree; readme, readme-order, readme-numbers, compatibility-matrix, install-script and manifest suites pass at 116 across four languages, readme-positioning and doctor at 59, and check-readme-numbers exits 0 with the BENCH block byte-identical Unverified: whether a reader who skips the install section still meets the sentence before typing the command it explains
CommitLore — record lintTrailers: clean — 1 commit in Active constraints for the paths this PR touchesLimits (43)
Ruled out (97)
Warnings (25)
Trailer violations fail this check. Active constraints are informational — they are what the repository already decided, not a verdict on this PR. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #353
The README leads with the plugin and then tells the reader to run
commitlore initand
commitlore context .. Nothing between those two points puts acommitloreanywhere, so for a plugin-only user both commands exit 127.
Verified before changing anything:
package.jsonis"private": truewith nobin..claude-plugin/plugin.jsondeclares metadata only — no executable, no commands..mcp.json,hooks/hooks.json,skills/anddist/.before_change,guard,prepare_capture,query,stage_capture,stale,verify_capture) — there is noinitroute.scripts/commitlore-bootstrap.shis referenced by nothing in the tree.The documentation route, not the bootstrap route. Nothing in the product is wrong:
the plugin does what its own section claims, the pre-edit hook resolves the bundle
through
CLAUDE_PLUGIN_ROOTwithout needingPATH, anddocs/COMPATIBILITY.mdalready separates what each path requires from what it checks and already
records that the plugin path enforces nothing. The README never inherited that
care. Wiring the orphaned bootstrap would re-arm the supply-chain hole that was
just closed, and a
binentry would name an install path a private package cannotoffer.
Changes
README.md,README.ko.md,README.ja.md,README.zh-CN.md— one sentenceafter the plugin install block, in each file's own language and register: the
plugin holds the MCP server, the pre-edit hook and the skills, puts no
commitloreonPATH, and thecommitlore …commands below come frominstall.sh/install.ps1.skills/commitlore-setup/SKILL.md— names the CLI's origin before the firstcommand, with
node <plugin-checkout>/dist/commitlore.mjsas the fallback thehook itself uses. This skill ships with the plugin, so its reader is by
construction the one least likely to have the CLI.
The
BENCH:BEGIN/BENCH:ENDblock, the guard precision/recall figures and theirplacement in Known limitations are untouched, and no new number was introduced.
Verification