# elixir_structure_manager v1.6.1 - Table of Contents

> Plugin to generate a clean architecture scaffold.

## Modules

- [ElixirStructureManager.Core.ApplyTemplate](ElixirStructureManager.Core.ApplyTemplate.md): This module is responsible for applying the templates to the project.

- [ElixirStructureManager.Reports.Sobelow](ElixirStructureManager.Reports.Sobelow.md): Sobelow report generator

- [ElixirStructureManager.Utils.DataTypeUtils](ElixirStructureManager.Utils.DataTypeUtils.md): Normalize data types to be used in the application.

- [ElixirStructureManager.Utils.FileGenerator](ElixirStructureManager.Utils.FileGenerator.md): Execute al parameterized actions to generate or modify files.

- [ElixirStructureManager.Utils.Hex.Packages](ElixirStructureManager.Utils.Hex.Packages.md): Module to manage dependencies in mix.exs

- [ElixirStructureManager.Utils.Injector](ElixirStructureManager.Utils.Injector.md): Injects some part of text in file contents using regular expressions.

- [ElixirStructureManager.Utils.StringContent](ElixirStructureManager.Utils.StringContent.md): Replace variables in a string content.

- [Util](Util.md): Utility functions.

## Mix Tasks

- [mix ca.apply.config](Mix.Tasks.Ca.Apply.Config.md): Applies common configuration to the clean architecture project
mix ca.apply.config --type config_name
- [mix ca.base_task](Mix.Tasks.Ca.BaseTask.md): Generic base task for all tasks in this project.

- [mix ca.new.da](Mix.Tasks.Ca.New.Da.md): Creates a new driven adapter for the clean architecture project
mix ca.new.da --type driven_adapter_name
- [mix ca.new.ep](Mix.Tasks.Ca.New.Ep.md): Creates a new driven adapter for the clean architecture project
mix ca.new.ep --type entry_point_name
- [mix ca.new.model](Mix.Tasks.Ca.New.Model.md): Creates a new model for the clean architecture project
    $ mix ca.new.model [model_name]
- [mix ca.new.structure](Mix.Tasks.Ca.New.Structure.md): Creates a new Clean architecture scaffold
    $ mix ca.new.structure [application_name]
    $ mix ca.new.structure [application_name] --metrics --sonar --monorepo
    $ mix ca.new.structure [application_name] -m -s -r

- [mix ca.new.usecase](Mix.Tasks.Ca.New.Usecase.md): Creates a new usecase for the clean architecture project
    $ mix ca.new.usecase [name_usecase]

- [mix ca.release](Mix.Tasks.Ca.Release.md): Run common static code analysis tools and tests for the project
Run mix release and move compressed artifact to _build/release/artifact folder
- [mix ca.sobelow.sonar](Mix.Tasks.Ca.Sobelow.Sonar.md): Translates the sobelow json report to sonar issues
- [mix ca.update](Mix.Tasks.Ca.Update.md): Updates dependencies in mix.exs to their latest stable versions from hex.pm

