A ready-to-use and reference Elixir project template for code consistency, quality, and security. This template brings together Elixir tools and best practices for ensuring your codebase remains clean, consistent, and maintainable — before you even start writing application logic.
It includes:
- Code formatting via mix format.
- Linting & style checks with Credo.
- Static type analysis using Dialyzer.
- Test coverage reports with ExCoveralls.
- Documentation with ExDoc.
- Security auditing via Sobelow.
- Dependency vulnerability check using mix hex.audit.
Clone this repository if you want to give it a try:
git clone [email protected]:PanyPy/elixir-ensure-consistency.git
cd my_app
mix deps.getRun all quality and consistency checks in one go:
MIX_ENV=ci mix ensure_consistencyThis project was inspired by concepts from Adopting Elixir and aims to provide a practical foundation for building maintainable Elixir systems from day one.
For more details, see the full article: Ensuring Code Consistency with Elixir