The CLI — work on your website locally
Pull a website onto your machine, edit it with your own editor and coding agent, check it with the server's own rules, and push it back safely.
webmati is a command-line tool (CLI) that copies one website onto your
machine as an ordinary project folder: its Liquid theme, its backend workflows
(with the Go source of every code node), pages, content types, redirects and
translations. You edit with the editor you already use (VS Code, Cursor…) or let
a coding agent (Claude Code, Cursor, Codex) do it, then push the changes back.
The CLI runs the server's own checks on your machine, and it never
overwrites someone else's change you have not seen.
curl -fsSL https://webmati.com/cli/install.sh | sh # install (macOS / Linux)
webmati login --web --platform webmati # approve a key in the browser
webmati clone my-shop # download the website into my-shop/
cd my-shop
webmati validate # check it as the server would
webmati push --dry-run # see what would be sent
webmati push # write to the draft
webmati preview # a link to the draft
webmati publish theme # show it to visitors
When to use the CLI
| You want to… | Use |
|---|---|
| change a few words, swap an image, try the look | the admin (customizer, page builder) |
| ask an AI in a chat to do one specific thing | the MCP (see MCP overview) |
| edit many theme files, write Go code nodes, use git, review before you push | the CLI |
| let a coding agent (Claude Code, Cursor, Codex) work on your machine | the CLI (the agent reads the project's AGENTS.md) |
| run a workflow without touching real data | the CLI (webmati test) |
All three work on the same data: edit in the admin and webmati pull shows it;
push from the CLI and the admin shows it.
Safe by default
pushwrites drafts only. Themes, workflows and pages have drafts; visitors see them only when youpublish. What has no draft (tables, routes, redirects, translations…) goes throughpush --live, with a plan to approve first — see Live changes.- No blind overwrites. Every item carries a fingerprint (etag) the server
computes. If someone changed it on the server since your last
pull,pushstops and reports a conflict — see Conflicts. - A key for one website, with an expiry. You approve the key in your browser; it works for exactly one website and expires after 30 days (by default). A project never contains a key, a secret value or media.
Fewer tokens for AI
A coding agent on the CLI spends far fewer tokens than one going through the full MCP:
- CLI-first (the agent runs
webmati …, reads--jsonand trims it with--select) is roughly 5–20× cheaper than the same work through the full MCP: the agent reads only what it needs. - The slim MCP,
webmati mcp, has 8 tools instead of the whole catalogue (182 tools): its tool list is 97.4% smaller. Measure it yourself withwebmati mcp --measure. - Code mode,
webmati exec script.ts: one script calls many tools, and only its final answer comes back to the agent.
See AI agents.

