llms.txt · git:20260923.08f4893 · 2026-09-23 · sha256 afef113862375ccf
llms.txt git:20260923.08f4893A
Immutable. This exact content never changes and is served at /api/v1/blob/afef113862375ccf.
# Navvi > Compile it once so you never drive it again. Navvi is a self-healing scraper compiler: `npx navvi "<prompt>" <url...>` turns a plain-words request and a few URLs into JSON records and a compiled scraper file in one step. `npx navvi make "<prompt>" <url...> --work <dir>` runs the same pipeline staged into eight inspectable phases — spec, sample, investigate, reconcile, schema, determinism, compile, verify — each writing its own artifact into the work directory, re-runnable from any artifact you edit by hand. The first run asks a small number of multiple-choice questions about the page (answered by the host coding agent with no API key, or by Jev / any AI SDK model with one); every later run replays the compiled scraper with zero model calls and heals a moved field or a renamed button instead of failing. Secrets stay in the environment, logins use a local browser profile, and the tool never solves captchas or runs model output as code. ## Start here - [SKILL.md](SKILL.md): the agent skill. The one command, the no-key question protocol on stdio, the file-and-resume path (exit 3), input contract, output shape, exit codes and limits. - [README: Install and run](README.md#install-and-run): four lines from zero to data. - [README: What you get](README.md#what-you-get): records, the scraper JSON you can commit, the zero-model second run. - [README: Before the compile](README.md#before-the-compile-navvi-spec-and-navvi-heuristics): `navvi spec` (a brief into a spec, with what the brief left unsaid as open questions) and `navvi heuristics` (the rules that decide what a model is even asked). Neither reads a page. - [README: `navvi make`](README.md#navvi-make-the-driver): the driver — one whole compile as eight artifacts in a work directory, staleness tracked by content hash rather than mtime, and what "fewer fields than requested" means in `reconcile.md` and `scorecard.md`. - [README: Choosers](README.md#choosers): claude and codex (an installed, signed-in CLI on your subscription), jev, model, agent (no key), and what each needs. - [README: Exit codes](README.md#exit-codes): what each status means and what to do next. - [README: Limits](README.md#limits): drift versus redesign, captchas, logins and secrets. ## Reference - `npx navvi --help`: every flag in one screen, including `make`'s. - `storage/key_value_stores/scraper-cache/<cacheKey>.json`: the compiled scraper produced by a plain run. - `storage/questions/<token>.json`: a parked question batch waiting for `--answers <file> --resume <token>`. - `<work>/make.json`: `navvi make`'s ledger — the digest of what each stage read, used to decide whether it must run again. - [docs/architecture.md](docs/architecture.md): the modules under `src/`, what each one owns, the import graph between them, the known cycles and the two orphans. Generated from the code and checked in CI. - [docs/measurements.md](docs/measurements.md): questions, wait time and cost with and without Jev on the same pages. - [LICENSE](LICENSE): MIT.