timCF / law

elixir project skeleton focused on code safety

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

!!!DEPRECATED!!!

PROJECT IS DEPRECATED IN FAVOR OF BOILEX

Law

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.

Installation

git clone https://github.com/timCF/law.git
cd ./law
mix compile && mix archive.build && mix archive.install

Usage

mix law.new

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 with coveralls.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 with pre-commit file.

pre-commit

Auto-generated bash script. This script will compile project and execute all possible checks.

About

elixir project skeleton focused on code safety


Languages

Language:Elixir 100.0%