Skip to main content

:::tip Looking for the recipe? See Workflows → Gate CI on quality for the task-driven guide. This page is the reference. :::

Per-rule configuration

Tune individual rules without touching the rest. Use a [rules.<rule_id>] table in zuit.toml for any rule you want to change. Every rule has a stable ID (for example MAINT001-cyclomatic) that you use as the table name.

Common tasks​

Disable a rule entirely​

When a rule isn't relevant to your project, turn it off completely. Disabled rules produce no findings — they do not appear in the report and are not counted by --fail-on.

[rules.DOC002-todo-fixme]
enabled = false

Keep a rule visible without blocking CI​

If you want findings reported but don't want them to fail CI, lower the severity so it falls below your --fail-on threshold:

[rules.MAINT003-fn-length]
severity = "low"

With --fail-on high, this rule still shows up in the report, but never fails the build. Use severity = "info" to keep findings visible with zero CI impact.

Raise a rule's severity​

[rules.SEC001-hardcoded-secret]
severity = "critical"

Adjust a numeric threshold​

Some rules fire when a measured value crosses a threshold. Raise or lower the threshold to match your codebase's conventions:

[rules.MAINT001-cyclomatic]
threshold = 15
note

enabled = false is different from severity = "info". With enabled = false, the rule's findings are completely absent — no report entry, no score impact, no --fail-on consideration. With severity = "info", findings still appear in the report, but contribute zero weight to the dimension score.

Keys available on every rule​

KeyTypeDefaultDescription
enabledbooltrueTurn the rule off entirely.
severitystringrule's defaultOverride severity. One of info, low, medium, high, critical.

Rules with additional options​

These rules accept a threshold key in addition to enabled and severity. Rules not listed here only accept enabled and severity.

Rule IDKnobDefaultDescription
MAINT001-cyclomaticthreshold10Cyclomatic complexity at which a function is flagged.
MAINT003-fn-lengththreshold80Maximum function length in lines before a finding fires.
MAINT004-file-lengththreshold600Maximum file length in lines.
MAINT005-deep-nestingthreshold4Maximum block-nesting depth.

For what each rule measures and any per-language notes, see the Rules reference.

See also​