# Catalyst v1.0.0-beta.2 - Table of Contents

> Codemod, generation and scaffolding for Elixir

## Pages

- [Catalyst](readme.md)

## Modules

- [Catalyst](Catalyst.md): Main entry point for Catalyst. Orchestrates the execution of plugins, actions, and validations.

- [Catalyst.Action](Catalyst.Action.md)
- [Catalyst.Actions.AddAlias](Catalyst.Actions.AddAlias.md)
- [Catalyst.Actions.AddConfig](Catalyst.Actions.AddConfig.md)
- [Catalyst.Actions.AddDependency](Catalyst.Actions.AddDependency.md)
- [Catalyst.Actions.AddFile](Catalyst.Actions.AddFile.md)
- [Catalyst.Actions.AppendFile](Catalyst.Actions.AppendFile.md)
- [Catalyst.Actions.DeleteFile](Catalyst.Actions.DeleteFile.md)
- [Catalyst.Actions.Executor](Catalyst.Actions.Executor.md)
- [Catalyst.Actions.Function](Catalyst.Actions.Function.md)
- [Catalyst.Actions.MixTask](Catalyst.Actions.MixTask.md)
- [Catalyst.Actions.MoveFile](Catalyst.Actions.MoveFile.md)
- [Catalyst.Actions.PatchFile](Catalyst.Actions.PatchFile.md): Generic action for inserting arbitrary Elixir AST/source into a `.ex` or
`.exs` file using Sourceror. Handles anything with a `do...end` block -
`def`/`defp` (guarded or not, block or one-liner), and any other macro
call that takes a `do:` body (`schema`, `pipeline`, `scope`, etc) - and
also handles the body itself being a list literal (e.g. a supervisor's
`children = [...]` or `def children, do: [...]`), splicing into the
list's elements rather than appending next to it.
- [Catalyst.Actions.RequirePlugin](Catalyst.Actions.RequirePlugin.md)
- [Catalyst.Actions.SystemCommand](Catalyst.Actions.SystemCommand.md)
- [Catalyst.CLI](Catalyst.CLI.md): Entry point for Catalyst's global Mix archive commands.

- [Catalyst.Config](Catalyst.Config.md)
- [Catalyst.Config.App](Catalyst.Config.App.md)
- [Catalyst.Config.Builder](Catalyst.Config.Builder.md)
- [Catalyst.Config.Loader](Catalyst.Config.Loader.md)
- [Catalyst.Plugin](Catalyst.Plugin.md)
- [Catalyst.PluginOptionParser](Catalyst.PluginOptionParser.md): Parses and validates plugin options using OptionParser-like semantics.
- [Catalyst.Registry](Catalyst.Registry.md): Resolves Catalyst plugin names from configured registries.

- [Catalyst.ValidationAction](Catalyst.ValidationAction.md): Declares a post-validation action.

- [Sourceror](Sourceror.md): 
- [Sourceror.Comments](Sourceror.Comments.md): Utilities to merge an un-merge comments and quoted expressions.

- [Sourceror.FastZipper](Sourceror.FastZipper.md): High performance alternative to `Sourceror.Zipper`.
- [Sourceror.Identifier](Sourceror.Identifier.md): Functions to identify an classify forms and quoted expressions.

- [Sourceror.Patch](Sourceror.Patch.md): Functions that generate patches for common operations.
- [Sourceror.Range](Sourceror.Range.md): Represents a start/end position in a source file as `:line` and `:column`
keyword lists.

- [Sourceror.TraversalState](Sourceror.TraversalState.md): The state struct for Sourceror traversal functions.

- [Sourceror.Zipper](Sourceror.Zipper.md): Tree-like data structure that provides enhanced navigation and modification
of an Elixir AST.
- [Sourceror.Zipper.Inspect](Sourceror.Zipper.Inspect.md): Provides `Sourceror.Zipper`'s implementation for the `Inspect` protocol.
- [Ucwidth](Ucwidth.md): A module to determine the width of a Unicode charactor (or codepoint) on monotyped screens.
- [Ucwidth.CombinedEmoji](Ucwidth.CombinedEmoji.md): A module for detecting combined Emoji graphemes.

## Mix Tasks

- [mix catalyst.plugin](Mix.Tasks.Catalyst.Plugin.md)
- [mix catalyst.registry](Mix.Tasks.Catalyst.Registry.md)
- [mix catalyst.run](Mix.Tasks.Catalyst.Run.md)

