Initial Commit
This commit is contained in:
24
openspec/archive/2026-04-20-enterprise-cli/proposal.md
Normal file
24
openspec/archive/2026-04-20-enterprise-cli/proposal.md
Normal file
@@ -0,0 +1,24 @@
|
||||
# OpenSpec Change: enterprise-cli
|
||||
|
||||
**Change ID:** enterprise-cli
|
||||
**Date:** 2026-04-20
|
||||
**Status:** Shipped
|
||||
**Spec:** [docs/superpowers/specs/2026-04-20-readline-cli-design.md](/docs/superpowers/specs/2026-04-20-readline-cli-design.md)
|
||||
|
||||
## Summary
|
||||
|
||||
Full enterprise rewrite of `@suaveplan/cli` — composable fluent CLI framework with subcommand routing, POSIX-style argument parsing, OTel tracing, and a complete set of terminal UI primitives. Depends on `@suaveplan/readline` rather than `node:readline` directly.
|
||||
|
||||
## ADDED Requirements
|
||||
|
||||
- `App` / `cli()` — root entry point with `--version`, `--help`, AbortSignal, onError handler
|
||||
- `Command` — fluent builder: `description`, `option`, `argument`, `alias`, `hidden`, `example`, `action`
|
||||
- `parseArgs` / `parseOptionFlags` / `parseArgumentSpec` — POSIX-style argv parser
|
||||
- `style` / `createStyler` — ANSI color proxy with chainable style codes
|
||||
- `heading`, `list`, `tree`, `columns`, `keyValue`, `json`, `divider`, `indent` — text formatters
|
||||
- `table` — ASCII/Unicode bordered table renderer
|
||||
- `createSpinner` — TTY-aware animated spinner with AbortSignal
|
||||
- `createProgress` — ASCII progress bar with TTY in-place update
|
||||
- `text`, `password`, `confirm`, `select`, `multiselect` — interactive prompts with injectable reader factory
|
||||
- OTel spans on `App.run()` and `Command.execute()`
|
||||
- 100% istanbul coverage
|
||||
Reference in New Issue
Block a user