Rules reference
lucid-lint ships 25 rules as of v0.2 (17 from v0.1 plus 8 added during the v0.2 cycle). Each rule has a dedicated page below with category, severity, default weight, thresholds per profile, examples, and suppression guidance.
The compact reference at RULES.md remains the single-file overview kept in the repository root. The academic and normative sources behind every rule are consolidated on the References page.
Categories
Every rule belongs to exactly one of five fixed buckets. The taxonomy is authoritative — the scoring model composes per-category sub-scores into the global X / max.
Authoritative source. The category of each rule is determined by
Category::for_ruleinsrc/types.rs. The mapping above mirrors that function. A coverage test (tests/rule_docs_coverage.rs) keeps the per-rule pages, the category helper, and the scoring weights in lock-step.
Severity levels
| Level | Meaning | Effect |
|---|---|---|
info | Signal worth knowing, not a defect | Reported; does not fail CI |
warning | Quality issue worth fixing | Reported; may fail CI depending on --min-score |
error | Reserved for v0.3+ | Not emitted in v0.2 |
Reading a rule at the terminal
Each rule bundles its reference page into the binary. Run lucid-lint explain <rule-id> to print the same content this website serves —
useful when CI only gives you a diagnostic id and no browser:

lucid-lint explain structure.sentence-too-long
Contributing a rule
See Contributing for the rule-addition checklist — every new rule must land with a page in this section.