Skip to main content
Tesser is designed to be driven by a coding agent. The agent edits files on your laptop as it normally does, and when it needs to run something it calls tesser the same way it would call git or pnpm. You watch the result in the browser.

Install the skill

This writes ~/.claude/skills/tesser-cli/SKILL.md, and it is only a few lines: a description so the agent picks it up when a box is what the task needs, and an instruction to run tesser --help first. Nothing in it changes between releases, so installing it once is the end of it. For an agent that reads instructions from somewhere else, tesser skill install --dir <path> writes the same file there.

The CLI is the skill

Everything the agent needs to know lives in the binary, so it is current by construction:
  • tesser --help is the model and the rules: what a workbench is, what dev does, that files are edited on the laptop and never on the box, that rm does not confirm.
  • tesser <command> --help is that command’s actual behavior. tesser dev --help says it reuses the box per (worktree, service) and waits on its own port; tesser wire --help has the two-boxes recipe; tesser service --help is the manifest format.
  • Errors name the next command to run.
tesser update replaces the binary, and with it every word of the above. There is no second copy to fall behind.

What you do

You open the address the agent gives you (http://<box_id>.localhost:<port>) when it tells you a server is up. The daemon behind that address starts itself the first time the agent runs tesser dev; tesser daemon install makes it a login service so it is there after a reboot too. Every page served through the daemon has a small panel in its corner that lists your boxes, so when the agent has several branches running you can focus one and see it on bare localhost:<port>, without using the terminal.

A typical session