Skip to main content
Mounts make a service readable as files; CLIs make it actionable as a program. A CLI is a typed program tree (CLISpec) installed on the workspace by name, completely separate from any mount: it initializes from its own config, consults no mount, and takes no operand path. The shell dispatches a line to a CLI when its first word matches an installed name.
In YAML the same install rides the clis: section:
Every level of the tree answers --help, unknown verbs fail with git’s wording (exit 1), and missing required flags fail with argparse’s wording (exit 2). Two installs under different head words are two accounts.

Builtin CLIs

Reading stays on the mount (cat, grep, jq over the virtual files); acting goes through the CLI. The mounted tree’s <name>__<id> path segments supply the IDs the CLI flags take.