.md to this page’s URL
(https://docs.vendo.run/install.md) for the raw version.
Point an agent at it
Paste this into your coding agent inside the app you want to install Vendo in:npx vendo init --agent
prints a read-only JSON plan: framework, code diffs, the four questions,
extracted tools, and risk recommendations. npx vendo sync --json prints one
machine-readable report object. Init also offers to write a vendo-setup
skill into .claude/skills/ when your repo uses skills.
Stage 1 — base install
Goal: a working, on-brand agent turn in your product, proven byvendo doctor exit 0.
1
Install the package
vendoai is a thin alias of @vendoai/vendo — either name installs the
same composition and the same vendo bin.2
Run init
package.json (next wins over
express; anything else is treated as Next), interviews you — model
import, product brief, critical-tool risk labels, MCP door — and proposes
every code change as a diff you approve one by one. It writes the
committed .vendo/ contract: tools.json (extracted from your OpenAPI
spec and routes), overrides.json, policy.json, brief.md,
theme.json (your brand, extracted from your CSS), and a gitignored
.vendo/data/ for the zero-config PGlite store.Unattended (CI or agent-driven):3
Give it a model
Vendo runs on any AI SDK If your app already exports a model, point init at it with
LanguageModel. If init scaffolded the starter
model module, install its pinned peers and set a key:--model-import instead.4
Finish Express wiring (Express only)
Next.js apps are fully wired by init. Express apps get
vendo/server.ts
plus two manual lines: mount app.use("/api/vendo", mountVendo()) and
wrap the client entry in <VendoRoot>. See the
Node quickstart.5
Verify
Start your dev server, then:Doctor checks the wiring and
.vendo/ files, then makes one live
/status round-trip (default http://localhost:3000/api/vendo; override
with --url or VENDO_URL). Exit 0 is green; exit 1 lists each
broken: line. Fix and re-run until it exits 0 — that is the definition
of installed.Stage 2 — review and remix
Goal: extraction stays fresh and correct as your API and brand evolve.- Init adds
predev/prebuildhooks sovendo syncruns with your app. Run it manually after API changes; in CI usenpx vendo sync --strict— exit 2 on breaking tool changes, exit 3 when saved apps, automations, or grants would break.--jsonemits the full report for scripts. - Review
.vendo/tools.jsonand correct risk labels in.vendo/overrides.json— overrides are yours forever;tools.jsonis regenerated and never hand-edited. Mark irreversible actions{"critical": true}so policy asks before running them. - Tune
.vendo/policy.json(default: destructive asks, reads run) and write a real.vendo/brief.md— it is the agent’s product knowledge. theme.jsonwas extracted from your CSS so generated UI ships on-brand; re-runvendo syncafter brand changes. See Theming and Host components for remix baselines.
Stage 3 — block unlocks
Goal: turn on the rest of the platform deliberately, one block at a time.vendo doctor ends with a ladder line naming exactly what each remaining
block unlocks for your install.
Agent surfaces reference
See the CLI reference for every flag and exit code.