CLI

Drive your whole workspace from a terminal, a script, or a coding agent's shell.

dots is the whole platform at a terminal. Its workspace families are a one-to-one front end onto the same API routes the web app calls, so the browser and the command line are two views of one thing rather than a full product and a reduced one.

The rule is exact: anything a user can do in the UI, an agent can do through the CLI — and through MCP unless named-exempt. So anything you can do in the interface you can do in a script, in a pipeline, or from a coding agent's shell.

Exemption is the only way a capability sits on one surface and not another, and each one is a named record stating what about that capability cannot cross. A parity census holds the surfaces to that rule, refusing any route, screen, or command carrying neither a counterpart, a recorded exemption, nor a filed defect — so where the surfaces do differ, the difference is written down rather than left for you to discover.

The reader this surface is tuned for is a program. Output defaults to a shape a model parses, failures exit with codes a script branches on, and every read can be bounded at the source rather than truncated downstream.

Key Features

  • A noun and a verb. Commands group into families — dots rows list, dots edges create, dots dotabases describe. Any family explains itself with dots <family> --help.
  • Agent-shaped output. --format chooses across md, json, yaml, table, csv, and plain, defaulting to md on every surface, so a pipe gets the same bytes a person saw.
  • Bounded reads. --fields, --depth, --token-budget, and --level cap what comes back at the source instead of truncating it downstream.
  • Typed exit codes. Usage, auth, not-found, conflict, network, configuration, and retryable each carry their own code, so a script branches on what actually went wrong without parsing an error message.
  • One company per invocation. --company <slug> chooses among your memberships, DOTS_COMPANY sets it from the environment, and dots use <slug> persists a default.
  • A server for your agent. dots mcp launches the stdio MCP server that serves this same workspace to a coding agent.
  • Your own machine. dots local runs the local daemon, and dots init provisions a fresh database into a bootable instance.

Get Started

Resources

The families carrying the most surface each have a command-by-command page listing every signature, argument, and option.

Row Envelope Format specifies the record block the md default prints. Access And Tenancy is how memberships and permission atoms resolve into an answer.

Get Started