AlCheck
View Source
A parallel code quality checker for Elixir projects. Runs format, compile, credo, dialyzer, and tests concurrently with smart test partitioning.
Check out how it works in the live showcase
Features
- Parallel Execution - all checks run concurrently to maximize CPU utilization
- Test Partitioning - splits test suite across multiple partitions
- Coverage Merging - combines partition coverage into a single report with caching
- Modified Tests - run only tests changed on your branch (granular line-level or whole modules)
- Failed Test Rerun - re-run only previously failed tests
- Auto-fix - configurable fix commands for format and credo issues
- Real-time Progress - animated status lines with test counts and spinner
- Configurable -
.check.jsonfor all settings,builtin:checks for Elixir-powered logic
Installation
Add al_check to your list of dependencies in mix.exs:
def deps do
[
{:al_check, "~> 0.1.0"}
]
endThen install globally:
mix deps.get
mix check.install
# if you use asdf
asdf reshim
Quick Start
check # Run default checks
check --init # Create .check.json with defaults
check --fast # Run only fast checks (format, compile, credo)
check --only format,test # Run specific checks
check --failed # Re-run only failed tests
check --fix # Apply auto-fixes
check --coverage # Show coverage report
check -v # Show version
check --help # Show all options
Available Checks
| Check | Command |
|---|---|
format | mix format --check-formatted |
compile | mix compile --warnings-as-errors |
compile_test | MIX_ENV=test mix compile --warnings-as-errors |
dialyzer | mix dialyzer |
credo | mix credo --all |
credo_strict | mix credo --strict --only readability --all |
test | mix test (with parallel partitioning) |
modified_tests | Runs only changed test lines vs base branch (builtin) |
modified_test_modules | Runs whole modified test files vs base branch (builtin) |
Guides
- Configuration -
.check.jsonreference, custom checks, coverage, fix commands - Test Partitioning - database setup, connection limits, scheduler tuning
- Workflows - failed tests, auto-fix, modified tests, coverage, watch mode
Documentation
Full API documentation is available at https://hexdocs.pm/al_check.
Requirements
- Elixir ~> 1.18
- Mix build tool
License
This project is licensed under the MIT License - see the LICENSE file for details.