A fast, extensible Clojure linter focused on style and code shape, inspired by RuboCop.
Splint is a Clojure linter focused on enforcing style guidelines and improving code shape by analyzing source code as text. It helps developers maintain consistent coding standards by warning about violations of the Clojure Style Guide, similar to how RuboCop works for Ruby.
Clojure developers and teams looking for a fast, extensible linter to enforce style consistency and improve code readability in their projects.
Developers choose Splint for its exceptional speed compared to alternatives like Kibit, its extensible design that allows easy rule customization, and its focused approach to style linting without the overhead of macro expansion or lexical analysis.
A Clojure linter focused on style and code shape.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Lints hundreds of files in seconds, with benchmarks showing 223 files in under 6 seconds compared to Kibit's 34 minutes, as demonstrated in the README speed comparison.
Designed for easy modification and extension of linting rules, inspired by RuboCop's philosophy, allowing teams to add custom style checks.
Integrates seamlessly with Clojure CLI, Leiningen, and Babashka, with clear installation examples provided for each build tool.
Specifically targets the Clojure Style Guide for consistent code shape and readability, without the overhead of macro expansion or lexical analysis.
Cannot expand or lint macro-generated code, limiting its effectiveness for projects with complex macro usage, as admitted in the Non-goals section.
Does not perform lexical analysis, so it misses issues like unused variables or incorrect bindings that tools like clj-kondo handle.
Uses incremental, non-semantic versions and explicitly warns against relying on it as a library, with no guarantees on public API stability.