Designing a Human-Friendly CLI for API-Driven Infrastructure
summary
Bloomberg builds a CLI that reads OpenAPI JSON at startup and generates commands so changing the API alone adds features to the CLI; implementation uses FastAPI and pydantic and formats human-friendly output with Ginger templates for human output. Commands support positional args, short flags, multiple formatters (CSV/TSV/table/--json) and async job tracking. One physical Python CLI serves many virtual CLIs pointed at different APIs; a demo shows three CLI behaviors changed by editing only the API code.
AI-written summary · about
chapters (10)
- 0:00Project motivation
- 1:30Tightly coupled architecture
- 2:20Auto-generating the CLI
- 3:41First design iteration
- 5:06Refining the user experience
- 6:43Advanced CLI requirements
- 11:00Implementation strategy
- 15:54Live demonstration
- 21:18Scalability and closing
- 22:42Q&A session
related talks
33mFrom OpenAPI to OpenCLI: AI-Ready Operations for Modern API Platforms
02h 28mBuilding human-first and machine-friendly CLI applications
26mBetter API DX with a CLI
33mUpgrading Python CLIs From Scripts to Interactive Tools
20mWhat makes a good CLI
26mBuilding Great CLI Experiences in Node
25mReinventing the CLI with Go
49mBuilding Software Better: API Lifecycle Management for Developers
