@reticlehq/eslint-plugin exists because conventions rot. Someone adds a mutation, forgets the signal, and every verdict for that flow quietly drops a grade. Nothing breaks, the tests still pass, the evidence just gets weaker. A lint rule is the only way a convention survives contact with a deadline.
Version 2.8.0. Apache 2.0. Depends on @typescript-eslint/utils. Peer dependency: eslint >= 9.
Exports
The rules
reticle/require-signal-on-mutation
Warns when a store mutation happens without a mapped Reticle signal.
Message id: mutationWithoutSignal. Text: store mutation without a mapped Reticle signal.
Options (options[0], no additional properties):
reticle/no-internal-tags
Errors on internal design-doc reference codes and internal version strings appearing in comments, file names, directory names or test descriptions. Message id: internalTag, with a { tag } placeholder. No options.
This one is mostly for contributors to Reticle itself, but the recommended config turns it on for everyone.
The recommended config
One config,recommended:
Why signals are the strongest evidence
What a signal proves that a rendered pixel cannot.