Skip to content

ci: add typecheck/test/build workflow on Node 20 and 24 - #6

Merged
mlava merged 1 commit into
mainfrom
ci/add-workflow
Jul 27, 2026
Merged

ci: add typecheck/test/build workflow on Node 20 and 24#6
mlava merged 1 commit into
mainfrom
ci/add-workflow

Conversation

@mlava

@mlava mlava commented Jul 27, 2026

Copy link
Copy Markdown
Owner

Why

This repo had no CI at all, while its MCP sibling has three workflows. The gap wasn't theoretical: 0.5.2 shipped with agent-ready --version printing 0.5.1, because nothing tied src/cli.ts VERSION to package.json. A wrong version misdirects every bug report, and it reached npm because publishing here is fully manual with no gate in front of it.

(That drift is now fixed and guarded by test/version-sync.test.ts, added in #5 — but only a workflow makes the guard run before a release rather than when someone remembers.)

What

Mirrors agent-ready-mcp/.github/workflows/ci.ymlnpm ci → typecheck → test → build, on PRs and pushes to main.

Two deliberate differences:

  • Node matrix [20, 24]. package.json declares engines >=20.10; the main agent-ready repo pins 24.x. This is a published CLI that runs on whatever Node the user has, so both ends need to stay green — testing one hides breakage at the other. fail-fast: false so a failure on one version still reports the other.
  • Build step retained and commented. files ships dist/cli.mjs and prepublishOnly rebuilds it, so a build that only fails from a clean checkout would surface during npm publish — after the version is chosen and made immutable.

Verification

Ran the exact CI sequence locally from a wiped node_modules: npm ci, npm run typecheck, npm test (77), npm run build — all pass.

🤖 Generated with Claude Code

This repo had no CI at all while its MCP sibling had three workflows, and
the gap was not theoretical: 0.5.2 shipped with `agent-ready --version`
printing 0.5.1, because nothing tied src/cli.ts VERSION to package.json.
A wrong version misdirects every bug report, and it reached npm because
publishing is fully manual here with no gate in front of it.

Mirrors agent-ready-mcp's ci.yml, with a Node matrix instead of a single
version. package.json declares engines >=20.10 while the main repo pins
24.x, and this is a published CLI run on whatever Node the user happens to
have — so both ends need to stay green. Testing one end would hide
breakage at the other.

Build is included because `files` ships dist/cli.mjs and prepublishOnly
rebuilds it: a build that only fails from a clean checkout would otherwise
surface during `npm publish`, after the version is already chosen and
immutable.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@mlava
mlava merged commit 1664735 into main Jul 27, 2026
2 checks passed
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