Hex.pm Hex Docs Hex.pm Downloads CI Coverage

check --green run

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.json for 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"}
  ]
end

Then 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

CheckCommand
formatmix format --check-formatted
compilemix compile --warnings-as-errors
compile_testMIX_ENV=test mix compile --warnings-as-errors
dialyzermix dialyzer
credomix credo --all
credo_strictmix credo --strict --only readability --all
testmix test (with parallel partitioning)
modified_testsRuns only changed test lines vs base branch (builtin)
modified_test_modulesRuns whole modified test files vs base branch (builtin)

Guides

  • Configuration - .check.json reference, 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.