Install and first run
What you need
- git and Deno 2.x.
- Optionally, a coding agent CLI. Claude Code
is the primary path: install it, then run
claudeonce in a terminal to sign in. Structure drives the command-line tool, so the Claude desktop app on its own is not enough. Codex CLI, Gemini CLI, Ollama, LM Studio, and OpenAI-compatible endpoints also work.
No agent CLI? Everything structural still works. Scaffolding, checks, proposals and review all run without one. The parts that need a model tell you so and tell you how to connect one; nothing is silently skipped and nothing is faked with a stand-in.
Install the command
From the root of a checkout of the Structure repository:
deno task install-cli # puts `structure` on your PATH, pointed at this checkout
structure --version # the build stamp
structure doctor # what's ready, what needs setup, the next command for each
Installing fetches the command's own dependencies once, from jsr.io and npmjs.org. That is the one download; nothing goes to us.
structure doctor is the answer to almost every "is this thing on?" question. It
lists each runner and scheduler, whether it's ready, and the exact command to
fix the ones that aren't.
Stand a company up
structure new shelfwise # a short interview, then a new company in ./shelfwise
cd shelfwise
Five questions, each with suggestions you can take by typing a digit. Structure shows you the plan before it writes a file, and ends by telling you the way in. With no questions at all:
structure new shelfwise --yes --describe "tracking the books on my shelves"
The name you give becomes the folder and the default answer to the first
question. --yes with no name and no description is refused: a company needs
both, and a non-interactive run has nobody to ask. With no runner, no key
and no network, the scripted run takes under a second.
Opening a company has the other doors: the example company, adopting the agent files you already wrote, and a smaller project layout.
Compile and check
structure compile # a dry run: which agent files would change; --write writes them
structure check # the company typechecks: types, links, shape, your rules
compile turns your canon into the files your agents read: AGENTS.md,
CLAUDE.md and .cursorrules. They are build output, so a hand edit to one of
them is something check names, quoting the line back and pointing at
structure tidy, which moves it somewhere a recompile cannot reach.
Your new canon starts as drafts, so the first check shows warnings. They are
documents waiting for you to say they read true, not mistakes.
Work in the room
structure tui
The room is the terminal view of your company: what is happening on the left,
where the company stands on the right, and a command line below. Type help for
its verbs. ratify <path> makes a draft active under your name, review shows
what is waiting on you, and approve <path> -m "why" proposes and approves an
edit in one motion. The room needs a terminal to answer at, so it has no
--yes.
Run it: structure serve
structure serve # the runtime, on 127.0.0.1 port 8712
serve is the runtime the room rides on. It keeps the company checked as you
edit, recompiles the agent files when canon changes, and narrates each thing it
does in the terminal, one line at a time. structure serve --stop ends it.
It has one page of its own, the instance page, at http://127.0.0.1:8712/
(the address serve prints when it starts; /instance is the same page): the
company's name, the folder it is open on, its state, and the counts from its
last completed check. The page answers only
on this device. There is no web view in this tree; the terminal is the product
today.
Connecting a model later
You never have to do this to get started, and you can do it at any point:
- Install an agent CLI โ
claudeis the shortest path. - Sign in to it once in a terminal.
- Run
structure doctorto confirm Structure can see it.
Until then Structure is a company you can read, edit, check, review and approve in. The model adds the agent work on top; it isn't the floor.