Design document for the CLI output abstraction layer that enables:
- Commands returning structured data instead of formatted strings
- Multiple output formats (table, json, yaml, quiet)
- Testable output without parsing strings
- Streaming support for logs/attach commands
Draws from patterns in Docker CLI, kubectl, and GitHub CLI.