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
Cerebro uses TOML with two sections:
[settings]
opencode_db_path = "..." # Path to AI tool's SQLite DB (optional)
output_dir = "..." # Dashboard output directory
[[projects]]
name = "project-name" # Display name
repo_path = "~/Projects/..." # Git repository path
active = true # Include in build
Cerebro reads manual notes from a fixed path derived from the output directory
({output_dir}/notes/projects/{name}.md) rather than a per-project note_path field.
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.