# Cheer v0.2.1 - Table of Contents A clap-inspired CLI framework for Elixir. Declarative command trees with typed options, validation, env var fallback, lifecycle hooks, param groups, shell completion, REPL mode, and in-process testing. ## Pages - [Changelog](changelog.md) - Getting Started - [Getting Started](getting_started.md) - [Concepts](concepts.md) - Guides - [Options](options.md) - [Arguments](arguments.md) - [Subcommands](subcommands.md) - [Validation](validation.md) - [Constraints](constraints.md) - [Help and output](help_and_output.md) - [Lifecycle hooks](lifecycle_hooks.md) - [Shell completion](shell_completion.md) - [REPL mode](repl.md) - [Testing](testing.md) - Cookbook - [Greeter: a single-command CLI](greeter.md) - [Devtool: nested subcommands with hooks and groups](devtool.md) - [Mix task: drive mix commands with Cheer](mix_task.md) - [Long-running server: argv as configuration](server.md) ## Modules - [Cheer](Cheer.md): A [clap](https://crates.io/crates/clap)-inspired CLI argument parsing framework for Elixir. - [Cheer.Command](Cheer.Command.md): Behaviour and macros for defining CLI commands. - [Cheer.Command.Compiler](Cheer.Command.Compiler.md): Compile-time hook that materializes command metadata from module attributes and validates command definitions. - [Cheer.Command.DSL](Cheer.Command.DSL.md): Macros for declaring commands, arguments, options, subcommands, lifecycle hooks, param groups, and validation. - [Cheer.Completion](Cheer.Completion.md): Shell completion script generation for bash, zsh, fish, and PowerShell. - [Cheer.Help](Cheer.Help.md): Auto-generates help text from command metadata. - [Cheer.MixTask](Cheer.MixTask.md): Build a Mix task from a Cheer command. - [Cheer.Reference](Cheer.Reference.md): Generate a reference document for a command tree, suitable for a docs site or a repository reference page. Derives everything from `Cheer.tree/1`, so hidden options, arguments, and subcommands are omitted. - [Cheer.Repl](Cheer.Repl.md): Interactive REPL mode for a command tree. - [Cheer.Router](Cheer.Router.md): Routes argv through the command tree and dispatches to the matched command. - [Cheer.Test](Cheer.Test.md): In-process test runner for CLI commands.