# Mix v1.20.0 - Table of Contents

## Modules

- [Mix](Mix.md): Mix is a build tool that provides tasks for creating, compiling,
and testing Elixir projects, managing its dependencies, and more.
- [Mix.Generator](Mix.Generator.md): Conveniences for working with paths and generating content.

- [Mix.Project](Mix.Project.md): Defines and manipulates Mix projects.
- [Mix.Release](Mix.Release.md): Defines the release structure and convenience for assembling releases.

- [Mix.SCM](Mix.SCM.md): This module provides helper functions and defines the
behaviour required by any source code manager (SCM) used by Mix.

- [Mix.Shell](Mix.Shell.md): Defines `Mix.Shell` contract.

- [Mix.Shell.IO](Mix.Shell.IO.md): This is Mix's default shell.
- [Mix.Shell.Process](Mix.Shell.Process.md): Mix shell that uses the current process mailbox for communication.
- [Mix.Shell.Quiet](Mix.Shell.Quiet.md): This is Mix's default shell when the `MIX_QUIET` environment
variable is set.
- [Mix.Task](Mix.Task.md): Provides conveniences for creating, loading, and manipulating Mix tasks.
- [Mix.Task.Compiler](Mix.Task.Compiler.md): This module defines the behaviour for a Mix task that does compilation.
- [Mix.Task.Compiler.Diagnostic](Mix.Task.Compiler.Diagnostic.md): Diagnostic information such as a warning or compilation error.

- Exceptions
  - [Mix.ElixirVersionError](Mix.ElixirVersionError.md)
  - [Mix.Error](Mix.Error.md)
  - [Mix.InvalidTaskError](Mix.InvalidTaskError.md)
  - [Mix.NoProjectError](Mix.NoProjectError.md)
  - [Mix.NoTaskError](Mix.NoTaskError.md)

## Mix Tasks

- [mix app.config](Mix.Tasks.App.Config.md): Loads and configures all registered apps.
- [mix app.start](Mix.Tasks.App.Start.md): Starts all registered apps.
- [mix app.tree](Mix.Tasks.App.Tree.md): Prints the application tree.
- [mix archive](Mix.Tasks.Archive.md): Lists all installed archives.
- [mix archive.build](Mix.Tasks.Archive.Build.md): Builds an archive according to the specification of the
[Erlang archive format](`:code`).
- [mix archive.check](Mix.Tasks.Archive.Check.md): Checks all archives are available.
- [mix archive.install](Mix.Tasks.Archive.Install.md): Installs an archive locally.
- [mix archive.uninstall](Mix.Tasks.Archive.Uninstall.md): Uninstalls local archives.
- [mix clean](Mix.Tasks.Clean.md): Deletes generated application files.
- [mix cmd](Mix.Tasks.Cmd.md): Executes the given command.
- [mix compile](Mix.Tasks.Compile.md): The main entry point to compile source files.
- [mix compile.app](Mix.Tasks.Compile.App.md): Writes a `.app` file.
- [mix compile.elixir](Mix.Tasks.Compile.Elixir.md): Compiles Elixir source files.
- [mix compile.erlang](Mix.Tasks.Compile.Erlang.md): Compiles Erlang source files.
- [mix compile.leex](Mix.Tasks.Compile.Leex.md): Compiles Leex source files.
- [mix compile.yecc](Mix.Tasks.Compile.Yecc.md): Compiles Yecc source files.
- [mix deps](Mix.Tasks.Deps.md): Lists dependencies and their status.
- [mix deps.clean](Mix.Tasks.Deps.Clean.md): Deletes the given dependencies' files, including build artifacts and fetched
sources.
- [mix deps.compile](Mix.Tasks.Deps.Compile.md): Compiles dependencies.
- [mix deps.get](Mix.Tasks.Deps.Get.md): Fetches unavailable and out of date dependencies.
- [mix deps.loadpaths](Mix.Tasks.Deps.Loadpaths.md): Checks, compiles, and loads dependencies.
- [mix deps.precompile](Mix.Tasks.Deps.Precompile.md): Extension point for precompiling dependencies.
- [mix deps.tree](Mix.Tasks.Deps.Tree.md): Prints the dependency tree.
- [mix deps.unlock](Mix.Tasks.Deps.Unlock.md): Unlocks the given dependencies.
- [mix deps.update](Mix.Tasks.Deps.Update.md): Updates the given dependencies.
- [mix do](Mix.Tasks.Do.md): Executes the tasks separated by `+`, aborting if any task errors.
- [mix escript](Mix.Tasks.Escript.md): Lists all installed escripts.
- [mix escript.build](Mix.Tasks.Escript.Build.md): Builds an escript for the project.
- [mix escript.install](Mix.Tasks.Escript.Install.md): Installs an escript locally.
- [mix escript.uninstall](Mix.Tasks.Escript.Uninstall.md): Uninstalls local escripts
- [mix eval](Mix.Tasks.Eval.md): Evaluates the given code within a configured application.
- [mix format](Mix.Tasks.Format.md): Formats the given files and patterns.
- [mix help](Mix.Tasks.Help.md): Prints documentation for tasks, aliases, modules, and applications.
- [mix iex](Mix.Tasks.Iex.md): A task that simply instructs users to run `iex -S mix`.

- [mix loadconfig](Mix.Tasks.Loadconfig.md): Loads and persists the given configuration.
- [mix loadpaths](Mix.Tasks.Loadpaths.md): Loads the application and its dependencies paths.
- [mix local](Mix.Tasks.Local.md): Lists tasks installed locally via archives.

- [mix local.hex](Mix.Tasks.Local.Hex.md): Installs Hex locally.
- [mix local.rebar](Mix.Tasks.Local.Rebar.md): Fetches a copy of `rebar3` from the given path or URL.
- [mix new](Mix.Tasks.New.md): Creates a new Elixir project.
It expects the path of the project as argument.
- [mix profile.cprof](Mix.Tasks.Profile.Cprof.md): Profiles the given file or expression using Erlang's `cprof` tool.
- [mix profile.eprof](Mix.Tasks.Profile.Eprof.md): Profiles the given file or expression using Erlang's `eprof` tool.
- [mix profile.fprof](Mix.Tasks.Profile.Fprof.md): Profiles the given file or expression using Erlang's `fprof` tool.
- [mix profile.tprof](Mix.Tasks.Profile.Tprof.md): Profiles the given file or expression using Erlang's `tprof` tool.
- [mix release](Mix.Tasks.Release.md): Assembles a self-contained release for the current project
- [mix release.init](Mix.Tasks.Release.Init.md): Generates sample files for releases.
- [mix run](Mix.Tasks.Run.md): Runs the current application.
- [mix source](Mix.Tasks.Source.md): Prints source file location for modules and functions.
- [mix test](Mix.Tasks.Test.md): Runs the tests for a project.
- [mix test.coverage](Mix.Tasks.Test.Coverage.md): Build reports from exported test coverage.
- [mix xref](Mix.Tasks.Xref.md): Prints cross reference information between modules.

