A single Mix task to efficiently run all code analysis and testing tools in an Elixir project.
ex_check is a Mix task that consolidates all code checking, analysis, and testing tools for Elixir projects into a single command. It ensures consistent code quality across local development and CI environments by running tools in parallel and catching all issues in one pass, saving developers significant time.
Elixir developers and teams who want to streamline their code quality workflow by unifying multiple analysis and testing tools into a single, efficient process.
Developers choose ex_check because it provides a curated, parallelized toolset out of the box, reduces workflow complexity with features like smart retry and fix mode, and ensures consistent checks across both local and CI environments with minimal configuration.
One task to efficiently run all code analysis & testing tools in an Elixir project. Born out of 💜 to Elixir and pragmatism.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Includes a predefined set of essential Elixir tools like Credo and Dialyzer out of the box, reducing initial setup time and ensuring common checks are covered.
Runs tools concurrently to deliver results faster and catch all issues in a single pass, as emphasized in the README's workflow description.
Re-runs only failed tools and tests from the previous execution, saving time on iterative development cycles, a feature highlighted in the documentation.
Automatically fixes code style and formatting issues locally or on CI, streamlining corrections with configurable workflows, including autofix commits.
Managing environments to avoid duplicate builds can be tricky, requiring additional configuration in mix.exs and .check.exs, as admitted in the troubleshooting section.
Relies on community-maintained tools like Credo and Dialyzer; any instability or breaking changes in those tools can propagate issues to ex_check's execution.
For projects with minimal checks, the need to configure .check.exs and manage tool dependencies might add unnecessary complexity compared to running tools directly.