Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Carry

A local-first semantic database for humans and machines.

Carry is a CLI tool for working with Dialog DB – a local-first, semantic database designed for structured data that both people and machines can read, write, and reason about.

carry init my-project
carry assert com.app.person name=Alice age=28
carry query com.app.person name age

What is Carry?

Carry gives you a private, local-first data repository to which both you and your tools can read and write. Data lives on your machine, not in a cloud service. Carry provides a shared, durable place for your data to live.

At its core, Carry stores data as claims – simple statements in the form (the X of Y is Z) – organized into domains and composable schemas. This structure is flexible enough to model anything from a personal profile to a recipe database, while remaining queryable and human-readable.

Key Properties

  • Local-first. Your data lives on your machine. No cloud service holds your memory. Sync is optional and on your terms.
  • Schema-on-read. You don’t need to design a schema before writing data. Define concepts when you need them, and Dialog interprets your data at query time.
  • Composable. Attributes combine into concepts. Concepts combine into rules. Rules derive new knowledge from existing data. Each layer builds on the one below.

Who is Carry for?

  • Developers using multiple AI tools who are tired of re-explaining context across Claude Code, Cursor, and others.
  • Data modelers who want a local and lightweight tool for defining and querying structured data without standing up a database server.
  • Anyone who wants to own their data, inspect it, and carry it with them.

What’s in these docs?

SectionWhat you’ll find
Getting StartedInstallation and first steps
PhilosophyWhy Carry exists and what it believes
Core ConceptsClaims, entities, domains, and asserted notation
Domain ModelingDefining attributes, concepts, and rules
CLI ReferenceEvery command, flag, and option
Use CasesConcrete examples of what to build with Carry
Dialog DBThe database engine underneath

Status

Caution

Carry is version 0.1 and under active development. The CLI and data model are stabilizing, but expect rough edges. Dialog DB itself is experimental – binary encoding and index construction may change between releases without a migration path.

That said, the data you write is yours. If the tooling changes, your data doesn’t disappear.