mix new
is like Tony Stark: Awesome and can do great things, but not bulletproof. When he suits up, however, his vulnerabilities are covered. Similarly, the Ironman project takes an elixir project (existing or newly created) and configures it in a way that protects it from getting in a bad state. It does this by adding dependencies for best practices such as :credo
and :dialyxir
, adding ci configuration for these tools, setting run configuration such as warnings_as_errors
, etc...
Each step of suiting up is confirmed with the end user before changing, and can be rejected individually.
Ironman is a mix archive that can be installed by running:
mix archive.install hex ironman
Ironman can be run from the root of any project by calling:
mix suit_up
Contributions welcome. Specifically looking to:
- Complete items in current progress below.
-
:ex_doc
[X]Now a dependency of:earmark
~:ex_doc
-
:dialyxir
-
:mix_test_watch
-
:credo
-
:excoveralls
-
:git_hooks
-
:ex_unit_notifier
- Travis
- Gitlabs
- CircleCI
- Self check/upgrade version
- Check for mix.exs file before running
- Check/warn for uncommitted files before running
- Check all dependencies for updates
- Ask what additional dependencies to add
- Add test to ensure README.md referenced version is up to date with project version