File locations
| File | Path | Notes |
|---|---|---|
| Global config | ~/.config/shuvarie/config.kdl |
Always loaded |
| Workspace config | ./shuvarie.kdl, then ./.shuvarie/config.kdl |
Loaded only when the workspace trust grants the Configs category |
| Explicit config | --config <FILE> |
Loads exactly this file; a missing file is an error |
| Connections | ~/.config/shuvarie/connections.kdl |
Providers and API keys — keep it private |
| Trust records | ~/.config/shuvarie/trusts.kdl |
Written by the trust prompt |
| Drop-in dirs | scene.d/, themes.d/ next to each config level |
Every sorted *.kdl file is loaded; broken files are skipped with a warning |
Precedence
For each top-level section, the highest layer that defines it wins wholesale
(./shuvarie.kdl → ./.shuvarie/config.kdl → global). Exceptions:
lsp.servers and registries merge key-by-key, permissions rule lists
stack, and scenes/themes merge field-wise per name. Defining the same
scene or theme name twice within one layer loads neither copy. Unknown
sections are ignored; duplicate keys are an error.
Accepted sections
ui, embedding, agent, lsp, skills, context, shell,
registries, tools, permissions, scenes, themes, retry — each is
covered on a subsection page: Interface,
Agent & context,
Skills,
Tools & integrations,
Providers & models,
Scenes and
Permissions.