{"repo":"ScopeLift/scopelint","free":true,"listed":false,"github":"https://github.com/ScopeLift/scopelint","clone":"git clone https://github.com/ScopeLift/scopelint.git","description":"🔬 An opinionated formatting and linting tool for foundry projects","language":"Rust","stars":83,"topics":["foundry","linters","smart-contracts","solidity"],"license":null,"category":"blockchain-web3","readme_excerpt":"ScopeLint A simple and opinionated tool designed for basic formatting/linting of Solidity and TOML code in foundry projects. - ScopeLint - Installation - Usage - scopelint fmt - scopelint check - scopelint fix - scopelint spec - Development Installation When using the ScopeLift Foundry template scopelint will automatically be ran in CI. To run locally: 1. Install the rust toolchain 2. Run cargo install scopelint Usage Once installed there are four commands: - scopelint fmt - scopelint check - scopelint fix - scopelint spec For all commands, please open issues for any bug reports, suggestions, or feature requests. scopelint fmt This command will format: - Solidity files using the configuration specified in foundry.toml . - TOML files using a hardcoded configuration that indents keys and sorts them alphabetically to improve readability. Flags: - --check : Show changes without modifying files (dry run mode) scopelint check This command ensures that development best practices are consistently followed by validating that: - Test names follow a convention of ^test(Fork)?(Fuzz)?( Revert(If When On))? (\\w+) $ . (To see a list of example valid test names, see here). - Constants and immutables are in ALL CAPS . - Transient storage variables are prefixed with t (e.g. t reentrancyFlag ). - Function names and visibility in forge scripts only have 1 public run method per script. - Internal or private functions in the source directory start with a leading underscore. Path configuration: sco","default_branch":null,"files":null,"tree":[],"storefront":"/r/ScopeLift","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/ScopeLift/scopelint/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}