Full Type InferenceFlag and argument types flow from schema to handler. No manual interfaces, no generic gymnastics.
Resolution ChainCLI → env → config → prompt → default. Every step opt-in. Every step preserves types.
Built-in Test HarnessRun commands in-process with full control. No subprocesses, no process.argv mutation.
Typed MiddlewareContext accumulates through the middleware chain via type intersection. No manual interface merging.
Structured OutputSpinners, progress bars, tables, JSON mode. Adapts automatically: TTY → pretty, piped → stable.