Rule Authoring Workflow
1) Define rule intent firstโ
Before writing code, lock down:
- what code/config shape is allowed
- what should be reported
- whether fixers are safe or should be suggestions only
2) Implement rule metadata correctlyโ
Every rule should define:
meta.typemeta.docs.descriptionmeta.docs.urlmeta.schemameta.messages
Use messageId-based reporting only.
3) Keep traversal fastโ
Prefer narrow selectors and early exits. Avoid expensive repeated work in visitors.
4) Add tests with intent coverageโ
At minimum include:
- valid cases (false-positive protection)
- invalid cases (true-positive coverage)
- fixer outputs (when applicable)
- edge cases for odd config structures
5) Update docs and presets togetherโ
When rule behavior affects docs or preset membership:
- update rule docs
- run sync scripts for generated tables/matrixes
- validate docs build