Suite documentation
A local-first, collaborative canvas. A workspace owns its cards, boards are views of those cards, and every write is validated in @suite/graph.
Version 1.1.0
Tutorials2 pagesLearn by doing. One guided path to a first success.How-to11 pagesOne task at a time: test, deploy, operate, release, contribute.Reference13 pagesFacts to look up: the model, commands, limits, security boundary.Explanation1 pageWhy the product and the code are shaped this way.
- Deploy a serverOne small instance, one Docker host, one app container, six SQLite stores on one volume, Caddy in front, Cloudflare in front of Caddy.
- Operate a deploymentSuite runs as a single Node process with six SQLite stores on one directory; there is no external database and no multi-replica mode.
- Run Suite locallyThis tutorial takes a checkout to a working canvas in one browser. It is one path with nothing to decide. Variants such as the standalone bundle, custom ports…
- Billing and licencesBilling is @better-auth/stripe registered on the auth instance (ADR-0078). The plugin owns the Stripe customer, Checkout, the billing portal, the webhook, the…
- Canvasapps/canvas/src/canvas turns the workspace document into a board you can point at: placements become nodes, edges become routes, and every gesture ends in one…
- CapacityWhat one relay holds, what one more open room costs, and where the CPU stops keeping up. The numbers on this page are measured on this checkout by…
- Coding conventionsThe rules as rules. The model they serve is architecture.md. The procedure that applies them is ../how-to/add-a-feature.md, and the gate is…
- Data modelThis page does not cover how the canvas draws these records or how a share link is authenticated; architecture.md and security-model.md own those. It describes…
- EditingHow card text, fields, templates and reference chips are stored and edited; the document model underneath is in architecture.md.
- EnvironmentEvery variable the relay reads, its default, and what it changes. apps/collab-server/src/config/config.ts parses them once at boot and refuses to start on a…
- GlossaryOne definition per term, in the sense this repository uses it. The model behind them is architecture.md, and the code identifiers are listed beside each term.
- InterfaceHow the shell, the library, the panels, the styling surfaces and the command palette are assembled, and the focus, keyboard and theme rules they share; the…
- LimitsWhat one Suite instance accepts, and what happens at the boundary. The numbers below are read from the code that enforces them, so they cannot drift from the…
- RuntimeThe browser process: boot order, persistence, the relay, sharing, and the diagnostics an operator can read. It does not cover the document model…
- Security modelTwo credentials open a room: a session JWT for an account and a share token for a link. The owner key that used to be the third was deleted (ADR-0076), with no…
- Your first workspaceThis tutorial creates a small workspace, adds cards, links two of them, and checks that the work survives a reload. Start the app first with Run Suite locally.
- Add a featureThe data flow fixes the order: the document package owns the shape, the workspace document owns the write, the snapshot store owns the read, and the component…
- ArchitectureSuite is a local-first collaborative canvas. One Loro document per workspace is the source of truth, @suite/graph validates every write, and the React canvas…
- Change the canvasAdding to the canvas means answering three questions before writing code: which layer owns the input, what the document records, and what peers see while the…
- Change the data modelA record change travels one path: schema, reader, writer, facade, then the tests that prove two clients still converge. Skipping the reader step is how a field…
- Change the editorAdd a node, a mark, a field renderer, a slash command or a mention action to the card editor, with the files each one touches and the tests that fail when it…
- Contribute a changeOne change, from branch to merge. The coding standards are in reference/conventions.md, the repo map in AGENTS.md, and the local gate in test-and-verify.md.
- Design directionSuite is a local-first canvas over a workspace of typed cards. One Loro document holds the whole workspace, the browser edits it offline, and a relay syncs it…
- Import an Obsidian vaultImporting a vault folder reads every note, tag, link and canvas into one workspace. The import runs once, as a single change, so undo takes it back whole.
- Release and roll backA release is a tag, an image built from it on the host that serves it, the image id that identifies it, a smoke test against a host, and a rollback path. This…
- Test and verify a changeSuite runs three test runners: Vitest for the workspace projects, Playwright for end-to-end journeys, and node --test for @suite/billing, which sits outside…
- Try the paid flow on this machineThe whole product runs in five containers on one machine: the relay, the control plane, Postgres, Caddy, and the docs site. This page walks the parts that need…
No pages match.