Configuration

coree is zero-config by default. All options are documented here.

coree is zero-config by default. A .coree.toml file in your project root lets you override storage, remote sync, and indexing behaviour.

File discovery

coree walks up from the current working directory looking for .coree.toml. The first file found wins. If none is found, the global config is used as a fallback:

The global config merges with the project config when both exist - useful for setting a Turso backend once across all projects.

Environment variables

Any config field can be overridden via environment variable using COREE__<SECTION>__<FIELD> (double underscore as separator):

COREE__PROJECT_ID                -> project_id
COREE__PROJECT_ROOT              -> project_root
COREE__MEMORY__MODE              -> memory.mode
COREE__MEMORY__REMOTE_URL        -> memory.remote_url
COREE__MEMORY__REMOTE_AUTH_TOKEN -> memory.remote_auth_token

Env vars take precedence over both config files.

Reference

project_id

project_id = "my-project"

Scopes all memories to this identifier. Defaults to a hash of the project root path. Set this explicitly if you want memories to be portable across machines or directory locations.


project_root

project_root = "/absolute/path/to/project"

Overrides the directory used for .coree.toml discovery and storage paths. Mainly useful for agent integrations that launch coree from a plugin directory.


[memory]

mode

[memory]
mode = "managed"  # default
ValueDescription
managedPlatform data directory, keyed by project path. No config required.
locallocal_path relative to the project root.
remotelibSQL/Turso remote backend. Requires remote_url.
disabledMemory subsystem disabled. No memory tools available.

local_path

[memory]
mode = "local"
local_path = ".coree/memory.db"

remote_url

[memory]
mode = "remote"
remote_url = "libsql://your-db.turso.io"

remote_mode

[memory]
remote_mode = "replica"  # default: direct
ValueDescription
directAll reads and writes go directly to the remote.
replicaMaintains a local replica. Faster reads, works offline.

remote_auth_token

Prefer the environment variable over the config file:

export COREE__MEMORY__REMOTE_AUTH_TOKEN=your-token

[index]

mode

[index]
mode = "managed"  # default

Same values as memory.mode. Use disabled to turn off code indexing.

git_history

[index]
git_history = true  # default

Whether to index git commit history for churn analysis. Disabling speeds up initial index build on large repositories.

exclude

[index]
exclude = [
    "vendor/**",
    "third_party/**",
    "*.generated.go",
]

Additional glob patterns to exclude from indexing. Standard exclusions (.git/, target/, node_modules/) are always applied.


Storage paths

In managed mode, databases are stored outside the project directory:

<encoded-path> is the project root path with / replaced by -.

Each directory contains:


Examples

Local storage

[memory]
mode = "local"

[index]
mode = "local"

Everything stays in the project directory.

Remote sync with Turso

.coree.toml (safe to commit):

project_id = "my-project"

[memory]
mode = "remote"
remote_mode = "replica"
remote_url = "libsql://your-db.turso.io"

.envrc (do not commit):

export COREE__MEMORY__REMOTE_AUTH_TOKEN=your-token

Shared backend across all projects

~/.config/coree/config.toml:

[memory]
mode = "remote"
remote_mode = "replica"
remote_url = "libsql://your-db.turso.io"

Individual projects only need:

project_id = "my-project"