Skip to content

Conversation

@usagi32
Copy link
Contributor

@usagi32 usagi32 commented Nov 4, 2025

Motivation

#28738 gave me the idea that we don't have a linter yet, like clippy for rust, that can be used to check for common coding patterns by teams in codebases.

This pr gives a linting framework, a linter, and a way to provide a collection of standard lints for leo or a leo package to standardize the coding practices across different leo packages / teams and check for common mistakes, potential fallouts between leo and snarkVM etc.

Inspirations for the design were mainly taken from rust's clippy, aptos's move language linter, cairo's linter.

note: most of the lints can be done early, but I prefer late when possible for two reasons, one being easier to traverse the tree and implementation and second is clear decoupling / separation of intentions, where early can be only used for lints where late can't be.

Test Plan

Included testing module for the linter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant