Opening a company
A company is a plain folder you own. There are three ways to get one — and one way to look at somebody else's before you commit to any of them.
Look at an example first
structure new --demo
This writes Sundial, a made-up company that sells scheduling software to small practices — and it arrives with work already in it. One sentence ("statement-period billing history, if customers actually want it") has already moved through four departments: customers wrote up what practices asked for, marketing drafted a tease, engineering priced the build, and the chain is sitting at a boundary waiting for somebody to hand the work to operations.
Every conversation in it is labelled a replay: it already happened, and it is kept as a record. Nothing is running, nothing is pretending to run, and no AI is needed to read any of it, in the room or in any editor.
Nothing in the example is generated when you run the command, so it stands up
the same on a device with nothing connected. It refuses --name, --describe
and --runner: the company is already written, so those flags would describe a
company that isn't there.
Start a new one
Run this in an empty folder:
structure new
Five questions: the name, one line about what it does, how the work should feel, who you are, and which starting structure to use. Every one offers suggestions you can take by digit. Then Structure shows you the plan before it writes anything. What you end up with:
company/— mission, values, positioning, voices: the spine.departments/,roles/,skills/— how the work is organised. Typed, so the structure is checked rather than trusted.AGENTS.md,CLAUDE.md,.cursorrules— the agent-facing files, generated from your canon so any coding agent you point at the folder reads the company correctly from the first minute. Edit the canon, not these.- The review rule armed, so canon changes from here on go through review.
Scriptable version:
structure new --yes --name "Acme" --describe "kayak rentals in Portland"
Your new canon starts as drafts. The warnings structure check shows you are
documents waiting for you to say they read true — they are not mistakes. You
ratify them one by one in the room (ratify <path> in structure tui) as each
one reads true.
Adopt what you've already written
If the folder already has a CLAUDE.md, AGENTS.md, or .cursorrules,
structure new offers to adopt them: it turns those hand-written files into
typed canon — your words, restructured and checked, each document carrying where
it came from. Your originals are kept exactly as they were under
memory/inbox/ingested/, and nothing is committed: you read the difference
and the canon lands when you say it reads true.
--adoptskips the question.--freshscaffolds a blank structure alongside your files instead.
This works on a real code repository too. Your source is untouched; the company structure arrives beside it.
Open one that already exists
If the company is already on this device — you made it earlier, or a teammate's
copy arrived with git clone — step into its folder and work:
cd shelfwise
structure check
structure tui
Or stay where you are and name it: the commands that work on a company take
--repo <path>. Structure works on the folder in place and never copies it,
so your editor, your terminal and the room are looking at the same files at the
same time.