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

7. TOML configuration format

Date: 2026-04-22

Status

Accepted

Context

Cerebro needs a user-friendly configuration format that supports multiple projects and settings.

Decision

We use TOML with two sections:

[settings]
cache_ttl_hours = 24           # Cache TTL in hours
opencode_db_path = "..."        # Path to OpenCode SQLite DB
output_dir = "..."             # Dashboard output directory

[[projects]]
name = "project-name"         # Display name
repo_path = "~/Projects/..."   # Git repository path
note_path = "./Notes/..."       # Manual notes path
active = true                  # Include in build

Consequences

Pros

  • TOML is human-readable and well-supported in Rust
  • Clear separation between settings and project definitions
  • Easy to add new fields without breaking existing configs

Cons

  • Requires toml parsing dependency
  • ~ path expansion needed

Notes

Parsed in cerebro-core via toml crate. ~ expansion in config.rs.