v7.1.0
Features
- Stream child stdout live so long-running blocks don't look stalled (#127). Each
console.lognow appears in your terminal as the block runs, instead of being buffered until it exits. --automode detects->andrejects(#122). Previously only=>,→, andthrowswere picked up; now the auto-detect regex matches whatcommentToAssertactually understands./readme-testagent skill (#128). A portable skill file you can drop into~/.claude/skills/(or any compatible agent) — Claude runs readme-assert, reads the failing line, and proposes targeted fixes. See https://readme-assert.laat.dev/skill/ for the installable copy.
Fixes
package.jsonexportsstring + conditional forms (#120)."exports": "./lib/main.js"and"exports": { "import": "./esm.js", "require": "./cjs.js" }shapes are now resolved correctly when rewriting imports; previously they silently fell through to./index.js.- Line numbers preserved through
console.logassertions (#121). Theconsole.log(x) //=> valuetransform no longer inserts a newline that shifted later lines, so error reporting now points at the right line in the README. - Clean error when a README has no test blocks (#123). The CLI now prints
No test code blocks found in <path>and exits 1 instead of leaking a Node stack trace. - Strict CLI argument parsing (#126). Unknown flags like
--autopare now rejected with a friendly message and a--helphint, instead of being silently ignored.
Internal
- Cleanups to examples and dead code, including a functional
ts-nodeexample that actually exercises the ts-node hook (#125). - Simplified the
bails-when-no-tests-existstest shim and added direct coverage for the TypeScript path, the--requireCJS downgrade, and unknown-flag rejection (#126). - Dropped stale
v7CI trigger (#124).
Compatibility
No breaking changes. The strict CLI argument parsing is the only user-visible behaviour change — if you were passing a typo'd flag that was silently ignored before, you'll now see an error.