Patterns are implemented in Rust (cli/src/rules/). To propose a new one:
- Open an issue with the label
new-rule - Include: the pattern, a before/after example, and the corpus source (if you have one)
- The maintainer will implement it and credit you in the changelog
The bar: if a human developer would write it unprompted, it is not a style violation.
echo "your test input" | cargo run --manifest-path cli/Cargo.toml
make testUnit tests live in cli/src/rules/mod.rs and sibling modules under #[cfg(test)]. Note: rules/ at the repo root is documentation only — the implementation lives in cli/src/rules/.
Integration tests (binary-level) live in cli/tests/integration.rs.
Add a test case for your new rule in the appropriate module.
make test # unit + integration tests
make lint # clippy -D warnings
make fmt-check # formatting check- Open an issue first if the rule is debatable.
- For clear-cut LLM-isms, a PR alone is fine.
- One rule per PR is easiest to review.
- Make sure
make test && make lint && make fmt-checkall pass before opening.