charter.yaml. Configuring a profile means every invocation of charter doctor — on any machine, in any CI run — uses the same threshold without anyone needing to pass a flag.
Available profiles
Setting a profile
charter.yaml in the root of your repo. Charter discovers it automatically. With this config, every charter doctor invocation gates at 90 — no --threshold flag needed.
Setting an exact threshold
If neither profile maps to the threshold you want, set an explicit numeric value:policy.threshold alongside policy.profile if you want to name the intent clearly:
Threshold precedence
When multiple threshold sources are present, Charter applies them from highest to lowest priority:--thresholdflag on the command linepolicy.thresholdincharter.yaml- The default for the configured
policy.profile(60 forrelaxed, 80 forstandard, 90 forstrict) - Built-in default: 80 (when
charter.yamlis absent or has no policy section)
Command-line override
Passing--threshold at invocation time overrides everything in charter.yaml. The config file is not modified:
Next steps
charter.yaml Reference
The full configuration file, fields, and validation rules.
Run Charter in GitHub Actions
Apply a profile-backed gate to every pull request.
GitHub Action
How the
threshold input interacts with profiles.Scoring and Caps
What the threshold is gating against.