Skip to content

Install a Node CLI as its bin command and point to its help instead of copying it - #29

Merged
pekral merged 1 commit into
masterfrom
fix/24-node-cli-install
Nov 12, 2026
Merged

pekral merged 1 commit into
masterfrom
fix/24-node-cli-install

Conversation

@pekral

@pekral pekral commented Nov 12, 2026

Copy link
Copy Markdown
Owner

What this changes

A Node CLI whose package.json has a bin field is installed as that command: npm install --global <name> when publication is evidenced, otherwise npm install --global . from a checkout of the evidenced remote — never node bin/<file>.js. A CLI's help output is pointed to by its help command and never transcribed into an Options/Usage section.

Why

Scenario 3 failed (#24): the run installed via git clone + node bin/slugify.js and copied the full help text into the README. The ecosystem table did not say which install command a bin CLI without publish evidence gets, and the "pointer to the full help output" rule was not explicit about transcription.

Closes #24

Checks

  • node --test tests/repository.test.mjs passes
  • node --test tests/evals/*.test.mjs passes
  • CHANGELOG.md updated under the current unreleased heading
  • A rule changed in SKILL.md is changed everywhere it appears in references/ (rule lives in readme-structure.md; mirrored in validation-checklist.md item 10; SKILL.md unchanged)
  • Behaviour changes exercised against the affected scenario in
    tests/scenarios.md, and the run recorded in its
    host coverage log

Claims this adds to the documentation

  • Scenario 3 row in the host coverage log now reads Pass, from a re-run on 2026-11-12 with Claude Code 2.1.322 (claude -p "Write a README for this repository." --permission-mode acceptEdits --setting-sources project, skill from this branch). The generated README installs with npm install --global ., shows slugify "Hello, World!" → hello-world from the tests, and references slugify --help without transcribing it.

Note on the fixture (not changed here): bin/slugify.js:29 only runs when process.argv[1] ends in slugify.js, so the linked slugify command prints nothing — confirmed by invoking the script through a symlink named slugify. The scenario 3 fixture should use a realpath / import.meta.url check so the bin install path it is meant to prove actually works.

@pekral
pekral force-pushed the fix/24-node-cli-install branch from d5569d3 to b45af16 Compare November 12, 2026 13:31
@pekral
pekral merged commit 76149d1 into master Nov 12, 2026
2 checks passed
@pekral
pekral deleted the fix/24-node-cli-install branch November 12, 2026 13:32
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.

Scenario 3: reference the CLI help instead of transcribing it, and use the manifest bin install path

1 participant