Getting Started
One command to install, one to run. Jevitate runs locally as a daemon, a CLI, and an MCP server.
Prerequisites
- Node.js 20+
- A desktop with a visible browser — you sign in yourself, in a real window.
Install
npm install -g @jevitate/cli Or run on demand without installing:
npx @jevitate/cli --help Initialize & sign in
jevitate init # set up local state
jevitate profile create work # opens a headed browser — you sign in
jevitate profile status work Run a Journey
List what's available, find one, and replay it deterministically — no model in the loop:
jevitate journey list
jevitate journey find "checkout"
jevitate journey run <id> --param email=you@example.com
Journeys live in ~/.jevitate/journeys by default (override with --dir).
See Journeys for the full record → promote → run lifecycle.
Record a Journey
Demonstrate a flow yourself in a headed browser and capture it into a Recording:
jevitate record --url http://localhost:3000 --intent "Check out with a saved card" Press Enter to finish. The Recording lands in ~/.jevitate/recordings.
Promote a recorded take
Turn a captured take into a parameterized, promoted Journey:
jevitate recording fit take.json # bind variables
jevitate recording postdoc take.json --out journey.json
jevitate recording promote journey.json # register it Load-test a Journey
jevitate load run <journeyId> --concurrency 5 --iterations 10 --seed 1 Autonomous testing
Point Jev at your app — goal-directed, feature, exploratory, or adversarial:
jevitate explore --url http://localhost:3000 \
--goal "Add a product to the cart and reach checkout" \
--success urlIncludes:/checkout --real
jevitate explore --url http://localhost:3000 --strategy adversarial --real Each run emits a deterministic Recording (and, for coverage/exploratory, a coverage summary). See Testing Modes for every strategy and flag.
Serve over MCP
Expose your promoted Journeys to an MCP client as typed, allowlisted tools:
jevitate mcp # MCP stdio server — only allowlisted domain tools, no raw browser
Today find_capabilities and run_journey are fully wired; the other
allowlisted tools are served but return not_implemented while they're being wired.
See MCP & CLI.
Building from source
git clone https://github.com/matt-cochran/jevitate
cd jevitate && pnpm install && pnpm build