# @suaveplan/cli - Zero-dependency CLI toolkit: argument parser, command router, ANSI styling, output formatting, spinner, progress bar, interactive prompts ## Summary Enterprise-grade CLI framework for Node.js. Composable fluent API with subcommand routing, option parsing, OTel tracing, and a full set of terminal UI primitives. --- ## Documentation tree - [app](./src/app/app.md) — _(no submodules)_ - [app](./src/app/app.md) — _(no submodules)_ - [command](./src/command/command.md) — _(no submodules)_ - [command](./src/command/command.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_ - [format](./src/output/format/format.md) — _(no submodules)_ - [format](./src/output/format/format.md) — _(no submodules)_ - [table](./src/output/table/table.md) — _(no submodules)_ - [table](./src/output/table/table.md) — _(no submodules)_ - [parser](./src/parser/parser.md) — _(no submodules)_ - [parser](./src/parser/parser.md) — _(no submodules)_ - [progress](./src/progress/progress.md) — _(no submodules)_ - [progress](./src/progress/progress.md) — _(no submodules)_ - [prompt](./src/prompt/prompt.md) — _(no submodules)_ - [prompt](./src/prompt/prompt.md) — _(no submodules)_ - [spinner](./src/spinner/spinner.md) — _(no submodules)_ - [spinner](./src/spinner/spinner.md) — _(no submodules)_ - [style](./src/style/style.md) — _(no submodules)_ - [style](./src/style/style.md) — _(no submodules)_ - [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_- [app](./src/app/app.md) — _(no submodules)_- [command](./src/command/command.md) — _(no submodules)_ - [command](./src/command/command.md) — _(no submodules)_- [errors](./src/errors/errors.md) — _(no submodules)_ - [errors](./src/errors/errors.md) — _(no submodules)_- [format](./src/output/format/format.md) — _(no submodules)_ - [format](./src/output/format/format.md) — _(no submodules)_- [table](./src/output/table/table.md) — _(no submodules)_ - [table](./src/output/table/table.md) — _(no submodules)_- [parser](./src/parser/parser.md) — _(no submodules)_ - [parser](./src/parser/parser.md) — _(no submodules)_- [progress](./src/progress/progress.md) — _(no submodules)_ - [progress](./src/progress/progress.md) — _(no submodules)_- [prompt](./src/prompt/prompt.md) — _(no submodules)_ - [prompt](./src/prompt/prompt.md) — _(no submodules)_- [spinner](./src/spinner/spinner.md) — _(no submodules)_ - [spinner](./src/spinner/spinner.md) — _(no submodules)_- [style](./src/style/style.md) — _(no submodules)_ - [style](./src/style/style.md) — _(no submodules)_ ## Modules | Module | Path | Description | |---|---|---| | [App / cli()](src/app/app.md) | `app/app` | Application entry point and root command | | [Command](src/command/command.md) | `command/command` | Subcommand builder with fluent API | | [Parser](src/parser/parser.md) | `parser/parser` | Argv parser with options, positionals, and short flags | | [Errors](src/errors/errors.md) | `errors/errors` | Stable error codes and `CliError` class | | [Style](src/style/style.md) | `style/style` | ANSI color and formatting with chainable proxy styler | | [Format](src/output/format/format.md) | `output/format/format` | Text formatters: key-value, list, tree, columns, heading | | [Table](src/output/table/table.md) | `output/table/table` | ASCII/Unicode bordered table renderer | | [Spinner](src/spinner/spinner.md) | `spinner/spinner` | TTY-aware animated spinner with AbortSignal | | [Progress](src/progress/progress.md) | `progress/progress` | ASCII progress bar with TTY in-place update | | [Prompt](src/prompt/prompt.md) | `prompt/prompt` | Interactive prompts: text, password, confirm, select, multiselect | --- ## Quick Start ```ts import { cli } from "@suaveplan/cli"; const app = cli("myapp", "1.0.0"); app.description("My enterprise CLI tool"); app .command("build") .description("Build the project") .option("--output