Skip to content

Installation

cairn is a Python project managed with uv. The engine ships as one wheel (obsagent/); each operator pack is its own wheel in the same uv workspace.

  • Python 3.12 or 3.13
  • uv
Terminal window
git clone git@github.com:evs-cmd/cairn.git
cd cairn
uv sync --extra dev # engine + workspace operators + dev deps

uv sync builds a fresh environment from the lockfile; it is enforced by CI to stay working. The dev extra brings test and lint tooling.

Terminal window
uv run cairn doctor # preflight: packs, profile bindings, env, MCP
uv run cairn ls # list what is installed

doctor is the fastest way to confirm the install is healthy — it checks that packs load, profile bindings resolve to registered operators, and required services are present. See the CLI reference.

Enable only what you need:

ExtraAdds
ragretrieval-augmented generation support
rag-sqlite-veczero-config local vector store
runtime-temporalthe durable Temporal runtime
runtime-dboslightweight durable execution (SQLite or Postgres, no server)
runtime-sqlitecross-restart human-in-the-loop
telemetryOpenTelemetry export
storage-postgresPostgres run/state store
Terminal window
uv sync --extra dev --extra rag --extra runtime-dbos
Terminal window
uv run pytest -q