Structure

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.

  • --adopt skips the question.
  • --fresh scaffolds 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.