Skip to content

Repositories

A Dojo repository is a remote-first version control repository. The server manages all state with strong consistency guarantees.

Unlike Git where repositories live locally and are pushed to remotes, Dojo repositories are remote by default. The server is the source of truth, and the CLI syncs local state with it.

This means:

  • No divergent histories to reconcile
  • Real-time collaboration without push/pull ceremonies
  • AI agents can work on repositories without a local checkout
Terminal window
dojo init

This creates a new repository on the server and sets up a local .dojo directory.

Terminal window
dojo clone <repo-url>

Locally, Dojo stores its metadata in a .dojo directory:

.dojo/
├── config # Repository configuration
├── store/ # Local commit and tree cache
└── working-copy # Working copy state

Push your local commits to the server:

Terminal window
dojo sync push

Pull new changes from the server:

Terminal window
dojo sync pull