Skip to content Aller au contenu

Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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_rule in src/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

LevelMeaningEffect
infoSignal worth knowing, not a defectReported; does not fail CI
warningQuality issue worth fixingReported; may fail CI depending on --min-score
errorReserved 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:

Terminal capture: lucid-lint explain structure.sentence-too-long, printing the rule’s “What it flags” paragraph, the at-a-glance table with category, default severity, default weight, supported languages, and the source link

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.