Skip to content

release: 1.0.1 — instant cards + Node 20 - #51

Merged
Wolfe-Jam merged 3 commits into
mainfrom
release/1.0.1
Sep 7, 2026
Merged

release: 1.0.1 — instant cards + Node 20#51
Wolfe-Jam merged 3 commits into
mainfrom
release/1.0.1

Conversation

@Wolfe-Jam

Copy link
Copy Markdown
Owner

What

npx mcp-context-card card at a terminal now writes context-card.html and opens it in your browser — one command, no MCP host, no redirect. The fastest way to see what an agent actually gets from a project. Piped / redirected / --stdout keep the raw-HTML-to-stdout path unchanged.

Node 20 is supported. engines.node was >=22, set casually in a pre-publish housekeeping commit — nothing in the code needs 22, and the published 1.0.0 runs identically on Node 20 (verified against the npm tarball). Every Node-20 user got npm warn EBADENGINE on first npx. Caught by luck.

Changes

src/bin.ts card mode: TTY → write file + open; piped/--stdout → raw stdout (unchanged). HELP + header updated.
package.json version 1.0.1; engines.node >=22>=20; new engines:check script
.github/workflows/ci.yml node matrix '22'['20','22','24'] (× 3 OSes); engines:check step
scripts/check-engines.mjs new guard — the engines floor must equal the lowest Node in the CI matrix, and be an even (LTS) major. Stops another casual floor bump CI never exercises.
README.md Node ≥20; card section rewritten for the new UX
CHANGELOG.md 1.0.1 entry
version stamps server.json ×2, .well-known/fafa, demo.ts ×2, docs/MECHANISMS.md, examples/README.md, docs/card*.html pill, package-lock.json

Verified

  • 104/104 tests, tsc clean, version:check / engines:check / faf:check green
  • Published 1.0.0 and this build run clean on Node 20.20.2 (--version, --help, card piped) — byte-identical card output to Node 22
  • card all three paths tested: piped → raw HTML; --stdout → raw HTML; TTY → writes context-card.html + opens
  • Vendor-neutral language sweep: clean
  • No API change — nine tools, three concerns, two transports, two discovery mechanisms

🤖 Generated with Claude Code

https://claude.ai/code/session_01Aij9ReMwQeQTVSnYUZ4Qdt

Wolfe-Jam and others added 3 commits September 7, 2026 18:25
card UX:
- `npx mcp-context-card card` at a terminal now writes context-card.html and
  opens it in the browser (no host, no redirect). Piped / redirected / --stdout
  keep the raw-HTML-to-stdout path unchanged.
- a bare `card` run used to dump raw HTML at the prompt — noise.

Node 20:
- engines.node ">=22" -> ">=20". Nothing in the code needed 22; the published
  package runs identically on Node 20 (verified). Ends `npm warn EBADENGINE` on
  the current LTS.
- CI node matrix 22 -> [20, 22, 24] across all three OSes.
- new scripts/check-engines.mjs (engines:check, wired into CI + prepublishOnly):
  the engines floor must equal the lowest Node in the CI matrix, and be an even
  (LTS) major. Guards against another casual floor bump that CI never exercises.

No API change. Nine tools, three concerns, two transports, two discovery
mechanisms — as 1.0.0. 104/104 tests, tsc clean.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Aij9ReMwQeQTVSnYUZ4Qdt
The test-runner glob arg and --test-coverage-* flags need Node 22.5/22.8.
The shipped code runs on Node 20 (verified) — so the Node 20 matrix job now
proves the published entry points (--version / --help / card) and the
end-to-end demo, while 22/24 run the coverage-gated unit suite.

This IS the "terminal test on release" gate: the npx entry path exercised
on the engines floor, every CI run.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Aij9ReMwQeQTVSnYUZ4Qdt
The bin main-guard compared import.meta.url (always resolved) to an
unresolved process.argv[1]. Run via `npx`, a global install, or
./node_modules/.bin, argv[1] is the bin *symlink* — the check failed and
the CLI exited 0 with no output. Direct `node dist/bin.js` was fine, which
is why CI + the client conformance passes stayed green.

- realpath process.argv[1] before the comparison
- CI: new "Packaged npx entry" step — pack, install into a temp project,
  assert `npx mcp-context-card --version` prints a version. The unit suite
  spawns `node <path>` and never touches the symlink.
- .gitignore: *.tgz (stray npm pack output)
- CHANGELOG lead reframed — this is the headline fix

104/104 tests, tsc clean, engines/version/faf checks green.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Aij9ReMwQeQTVSnYUZ4Qdt
@Wolfe-Jam
Wolfe-Jam merged commit 701e941 into main Sep 7, 2026
9 checks passed
@Wolfe-Jam
Wolfe-Jam deleted the release/1.0.1 branch September 7, 2026 23:21
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