Record a Vidact lint rule
Capture one actionable compatibility hazard per document without implying that a lint plugin already exists.
Workflow
- Inspect the relevant compiler/runtime behavior, tests, architecture decisions,
and existing files in
docs/lint-rules/. - Classify the finding before writing:
- Make directly provable destructive render behavior a compiler diagnostic, not merely a lint rule.
- Keep missing features in the roadmap unless a source pattern is hazardous even after the feature boundary is understood.
- Record non-destructive stale-data, duplicate-effect, portability, or opaque- dependency hazards as proposed lint rules.
- Search for an existing rule with the same semantic purpose. Extend that file instead of creating overlapping rules.
- Read references/rule-template.md, then write one
rule to
docs/lint-rules/<lowercase-hyphen-rule-name>.md. - Show minimal incorrect and preferred examples. State the current Vidact behavior, the future check, known false positives, and escape-hatch needs.
- Link concrete repository evidence when it exists. Distinguish implemented diagnostics from proposed lint behavior.
Rules
- Keep exactly one lint rule in each rule file.
- Prefer a
no-*name for a prohibited pattern and arequire-*name for a required contract. - Describe semantic risk, not code style preference.
- Do not claim arbitrary call purity, getter purity, or complete effect detection.
- Do not turn valid but unsupported React features into lint violations merely to shrink Vidact's implementation scope.
- Mark rules
Proposeduntil the future lint plugin enforces them.