[[!meta title="The New Command Line Manifesto"]] Ideas: * Let all new commands to support also machine-readable formats as inputs and outputs. * Encourage some good CLI practices like `--verbose` and `--dry-run/--simulate`. This, along with UNIX pipes and daemon interfacing, brings CLI to a new era of services that are: * Still based on small programs that do one thing but one thing right. * But also are capable of interacting with each other in an uniform way. So let them support parameters like `--json` and `--yaml` for it's I/O. In other words, with parsers and serializers it's possible to keep an ecosystem of UNIX microservices interacting with each other using a consistent API. References ---------- * [jo - JSON output from a shell](https://github.com/jpmens/jo) ([packages](https://repology.org/metapackage/jo/versions)). * [jq](https://stedolan.github.io/jq/).