A Leiningen plugin that enforces code quality standards by checking for common style issues and anti-patterns in Clojure projects.
lein-bikeshed is a Leiningen plugin for Clojure that performs automated code quality checks. It scans projects for common style violations like long lines, trailing whitespace, missing docstrings, and problematic coding patterns, helping developers maintain consistent code standards.
Clojure developers and teams using Leiningen who want to enforce consistent coding standards and catch common style issues during development.
Developers choose lein-bikeshed because it provides a simple, configurable way to automate style enforcement without complex setup, integrating seamlessly into existing Leiningen workflows with both command-line and project configuration options.
A Leiningen plugin designed to tell you your code is bad, and that you should feel bad
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Installs as a Leiningen plugin with minimal setup—just add to profiles.clj—and runs via a simple `lein bikeshed` command, integrating directly into existing workflows.
Each check, such as line length or var redefs, can be enabled or disabled individually via command-line flags or the :bikeshed map in project.clj, as detailed in the options table.
Targets objective, measurable violations like trailing whitespace and docstring coverage, reducing subjective style debates, aligning with its stated philosophy.
Outputs specific file paths and line numbers for each issue, such as in the example showing long lines at line 10, making it easy to pinpoint and fix problems.
Tied exclusively to Leiningen, making it unusable for Clojure projects on alternative build systems like Boot or deps.edn, limiting its adoption.
Checks are basic style-oriented (e.g., line length, whitespace) and lack advanced features like unused variable detection or custom lint rules offered by tools like clj-kondo.
Runs only via command-line with no built-in IDE or editor integration, requiring manual execution or CI setup for continuous checking, which can slow development feedback loops.