Aqua

Aqua is general templating and scaffolding solution for Elixir projects, that helps:

Aqua by itself tries to bring the most common and general templates and code snippets, that are widely used in development, and also allowes it's users to create there own templates and snippets.

Acknowledgements

Aqua is heavily inspired by Dave's Thomas solutions:

while tries to bring some new features, that probably can be usfull for day-by-day coding experience.

Also, because Aqua is used as a Mix archive, other Elixir packages can not be used as it's dependencies.

While JSON configurations are widely used across Aqua and it's templates, Jason library is fully copied, namespaced and backed inside Aqua package. All copyrights and notes for this library can be found in it's license section.

Installation

Note: you should not add aqua as dependency for your project.

Install it locally as mix archive, using:

$ mix archive.install hex aqua

Quick-start

Simply run

$ mix aqua

and follow the instructions :)

To create new project:

To add new predefined file:

Update template:

$ mix aqua update plug

General information

Domain Terminology

Across Aqua ecosystems, next terminology is accepted:

File system artifactory

Aqua uses ~/.aqua folder for it's internal needs. This means that:

Templates

Templates generally can have information about Scaffold and Injects, including there configuration and Args.

Predefined templates list can be found under:

Custom templates can be found everywhere, or created by yourself. Read Documentation to get information about Template creation.

Scaffold

Scaffold can be created using new command. Use:

$ mix aqua help new

in order to get information about this command. Args for the scaffold can be found it it's Template documentation

Inject

Inject can be created using add command. Use:

$ mix aqua help add

in order to get information about this command. Args for the scaffold can be found it it's Template documentation

Documentation

The docs can be found at https://hexdocs.pm/aqua.