aboutsummaryrefslogtreecommitdiff
path: root/suckless/cli.md
blob: 3fbdb865d60207a032f5efd52a6b35ef3cd14275 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[[!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.