Dotabases

The one primitive everything in Dots is built on: typed rows under a closed schema, enriched by behaviors, connected by edges, and read through views by you, the CLI, and your agents.

A Dotabase is a typed collection of rows that keeps its structure. Because the structure survives the act of writing something down, the same knowledge is a table you scan, a graph you traverse, and context an AI reads. Nothing is exported or converted between those three readings.

Everything you or an agent stores in Dots is a row in a . A Tasks Dotabase and a Songs Dotabase are the same two database tables wearing different schemas, different views, and different behavior bindings. That is what makes one primitive rather than a bundle of features: a capability built for one Dotabase works on every Dotabase, including the ones you have not created yet.

Get Started

What Happens When A Row Is Written

A write is checked against the schema first, and a value of the wrong type or a property the schema never declared is refused before anything is stored. The row then moves through the behaviors its Dotabase binds. Each behavior runs on one of six lifecycle hooks: a row is created, updated, archived, or restored, the schema changes, or an event arrives from elsewhere. Formula properties recompute in the same write, and rollups that summarize related rows refresh shortly after. Archiving is reversible: an archived row drops out of the default row listing, which reads only live rows, and restoring it returns the row to that listing.

Key Features

  • Typed Rows — a title, a body, and typed properties drawn from thirty-three built-in property types, so a date comes back a date and a number a number.
  • Closed Schema — a write naming a property the schema does not declare is refused, which is what lets a filter, a view, or an agent depend on the shape.
  • Behaviors — thirty-nine enrichment behaviors across six lifecycle hooks, each Dotabase binding only the ones it wants: classification, embedding, version history, relation-to-edge promotion.
  • Typed Edges — seventy-nine built-in verbs in five categories, connecting rows across two Dotabases or out to a code symbol.
  • Ten Types — table, board, gallery, list, calendar, timeline, stream, wheel, graph, and dashboard over the same rows. A view is a lens, never a copy.
  • Hybrid Search — full-text and semantic retrieval over the same row, because both the search vector and the embedding live on it.
  • Operation Manual — stored guidance that rides along to an agent reading the Dotabase, so it knows how the rows are meant to be used. See the Dotabase Operation Manual (DBOM).
  • Three Ways In — the web app, the dots CLI, and any agent on MCP reach the same data, every read and write scoped to one company.

Resources

  • DIIICE — the six-value taxonomy rows are classified against.
  • Chat Overview — hold a conversation against these rows.