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.