doc.haus Atlas Legal-document workflows on OpenCode, bound to their code
219 documents
script/ast-grep/effect-simplifications/README.md

Effect-simplification lint rules: a dedicated config scanning TS and TSX with equivalent rules (the generic ast-grep config excludes them); ignored underscore-prefixed callback parameters are supported only as simple ASCII identifiers with an exact-subtree-unused proof; the proof is deliberately conservative about destructuring, nesting, this/arguments capture and meta-properties. Read when touching the effect-simplification lint rules.

Effect simplification rules

The dedicated config scans both TypeScript and TSX with equivalent rules. The generic ast-grep config intentionally does not load these rules.

Ignored callback parameters are supported only when they are simple ASCII underscore-prefixed identifiers such as _, _error, or _value, optionally with a type annotation. A rule reports the callback only when the exact target subtree contains no underscore-prefixed identifier-like node, proving the binding is unused without relying on unavailable TypeScript scope resolution.

This proof is intentionally conservative. Destructured, defaulted, rest, optional, non-underscore, and Unicode parameters are excluded. A nested binding or property whose name starts with _ also suppresses the diagnostic, even when it does not reference the callback parameter. Regular-function callbacks are excluded when their target captures this, arguments, or a meta-property such as new.target or import.meta.