Skip to content
livetest v0.1.0
Install

devDependency · JS/TS and Python · no config required

The right tests,
the moment you save

Live Test Runner watches your project, works out from the dependency graph which tests your change affects, including the tests of the files that import it, and runs only that subset. In seconds. Then it tells you why each test ran.

npm install --save-dev @livetest/cli
livetest start idle
1167tests across four packages
100%enforced coverage
0runtime dependencies on this page

What comes in the box

Small where it should stay out of your way, complete where it matters.

A real dependency graph

JS/TS through the TypeScript compiler API, resolving paths, baseUrl, index.* and the ./x.js → ./x.ts mapping. Python through the native ast module.

Every selection is explained

No test runs without a reason attached. Not sure what a change will trigger? livetest why src/login.ts prints the full import chain before you touch anything.

Two readers, one daemon

A grepable summary line, an always-current status.json and an append-only NDJSON log for the agent. A file tree with status and reasons for you, inside VSCode.

Debounce that never stalls

Consecutive saves are grouped by idle time and by a maximum window, so a long editing streak never postpones the tests forever, and no keystroke fires a run of its own.

It degrades, it does not fall over

Python gone? It falls back to regex analysis and says so. Adapter broken? The file runs on its own and the event explains what changed. The daemon stays up.

Pluggable adapters

Go, Rust, Java: implement two interfaces, or use the command adapter and get watching, debounce and source-to-test mapping without writing a line.

Stop finding out at the end

Node.js 18.18 or newer. For Python projects, a 3.8+ interpreter on your PATH. Nothing else.

npx livetest init && npx livetest start

@livetest/cli @livetest/core VSCode