Context
Two version bugs shipped because CI never exercises the CLI end-to-end. Add a smoke test that runs each top-level command against a fixture scaffold and asserts exit codes + basic output. This would have caught the hard-coded-version bug.
Scope
- Build a fixture scaffold (commit one, or generate via
mex setup in a temp dir).
- Run each top-level command (
check, doctor, timeline, log, --version, …) against it.
- Assert exit code
0 and key output substrings for each.
Where
- New test, e.g.
test/cli-smoke.test.ts.
- CI already runs
npm test (.github/workflows/ci.yml), so wiring is automatic once the test exists.
Acceptance criteria
Context
Two version bugs shipped because CI never exercises the CLI end-to-end. Add a smoke test that runs each top-level command against a fixture scaffold and asserts exit codes + basic output. This would have caught the hard-coded-version bug.
Scope
mex setupin a temp dir).check,doctor,timeline,log,--version, …) against it.0and key output substrings for each.Where
test/cli-smoke.test.ts.npm test(.github/workflows/ci.yml), so wiring is automatic once the test exists.Acceptance criteria
--version(e.g. mismatched constant) would fail the suite.npm run typecheck && npm test && npm run buildpass.