PROJECT IS DEPRECATED IN FAVOR OF BOILEX
Law is generator of ultra-safe Elixir projects. Law is completely based on standard mix new
task and it's just another way to create new Elixir project.
git clone https://github.com/timCF/law.git
cd ./law
mix compile && mix archive.build && mix archive.install
Command mix law.new
generates new Elixir project. Compatible with all standard mix new
task options, arguments and flags. Benefits:
Credo
static code analysis tool will make your code pretty and consistent. Can be configured with.credo.exs
file.Coveralls
tool will help you to check test coverage for each module of new project. Can be configured withcoveralls.json
file(s). Note: in umbrella project files to ignore should be configured inside each application.Dialyzer
is static analysis tool for BEAM bytecode. Most useful feature of this tool is perfect type inference what will work in your project from-the-box without writing any explicit function specs or any other overhead. Can be configured with.dialyzer_ignore
file.Xref
built-in (in modern elixir compilers) cross-reference tool. Your code will be checked for calls of undefined functions.- Auto-generated git
pre-commit
hook will not let you make commits before all issues generated by compiler and static analysis tools will be fixed and all tests will pass. Can be configured withpre-commit
file.
Auto-generated bash script. This script will compile project and execute all possible checks.