perch
Semantic code linter that evaluates code units against configurable Jev questions.
perchscan.com</a> · <a href="https://docs.perchscan.com">docs</a> · <a href=".benchmarks">benchmarks</a> · <a href="https://discord.gg/znTcuKRK">Discord</a> </p> Semantic code and security scanner. <picture> <source media="(prefers-color-scheme: dark)" srcset=".github/greptile-dark.svg"> <img alt="Known bugs caught on the Greptile benchmark and the cost of a pull request: Greptile 82% at about $1, perch on OpenAI Decisions 76% at $0.007, Cursor Bugbot 58% at about $1.50, GitHub Copilot 54%, CodeRabbit 44% at $1–3, perch on Jev 44% at $0.003, Graphite 6% at about $2" src=".github/greptile-light.svg" width="880"> </picture> ## Getting started ```sh npm install -g @lakeday/perch perch login perch scan ``` `perch login` signs you in to [Perch Cloud](https://perchscan.com), where the first $5 is free. Since decisions are cached, running perch again on unchanged code is free. Perch Cloud also scans pull requests in CI, without writing any workflows. ```console $ perch scan checkout.py ID Line Severity Type Confidence Problem Method bdc67421 14 P1 (0.8) defect 81% wrong_order place_order ddc5c917 24 P1 (0.8) defect 92% inverted_condition can_fulfil cart.py ID Line Severity Type Confidence Problem Method 287bfb9d 9 P1 (1.0) defect 90% off_by_one subtotal 80d6ebbb 29 P1 (1.4) defect 89% unhandled_null cheapest ✖ 20 problems in 5 files, all failing ``` Run `perch issues` to see them worst first, and `perch issues <id>` to view one. `perch check <id>` asks again after you think you've fixed it. It doesn't record anything. ## Agent skills ``