Configuration Hierarchy
A repository's review behavior can come from three places. Codessa checks them in order, field by field, so a .codessa.yml file doesn't have to set everything to take effect.
How precedence works
For every individual setting — tone, severity threshold, each analysis focus flag — Codessa looks top to bottom until it finds a value.
.codessa.yml
Wins when setCommitted to the repository
Any field set here wins, no matter what the dashboard says. It lives with the code and travels with the branch, which makes it the most specific place to configure a repo.
Dashboard Settings
Fills the gapsSet per repository in Codessa
Used for any field .codessa.yml leaves out. Handy for a quick baseline without maintaining a config file at all.
Built-in defaults
Final fallbackShipped with Codessa
Used when a field isn't set in .codessa.yml or the dashboard. Every repository always ends up with a complete, working configuration.
Field-by-field example
Say a repository has a partial .codessa.yml and some dashboard settings. Here's what actually gets used:
| Field | .codessa.yml | Dashboard | Effective value |
|---|---|---|---|
| tone | — | strict | strictdashboard |
| severity_threshold | balanced | strict | balanced.codessa.yml |
| analysis_focus.security | true | false | true.codessa.yml |
| language | — | — | endefault |
This is why a .codessa.yml file only needs to contain the fields you actually want to lock in — everything else still falls through to the dashboard, then to Codessa's defaults.
Was this page helpful?
