CLI Command Naming Examples

Concrete examples by category, each with a one-line rationale. Steal the structure, not necessarily the words.

User management

terminal — user commands
mycli create-user      # verb-noun: the default pattern
mycli invite-user       # specific verb beats generic add
mycli list-users        # plural noun reads naturally
mycli deactivate-user   # precise; not disable/remove
mycli reset-password    # action + object, no ambiguity

Prefer precise verbs (invite, deactivate) over generic ones (add, remove) when the domain has meaningful distinctions.

Configuration

terminal — config commands
mycli config set       # two-level: namespace groups all config ops
mycli config get
mycli config list
mycli config reset --force  # destructive: confirmation by default

Config is the textbook case for two-level namespaces: one topic, a small fixed verb set, used constantly.

Deployment

terminal — deploy commands
mycli deploy            # verb-only: the obvious default action
mycli deploy --dry-run  # flags over deeper nesting
mycli rollback --to v1.4.2
mycli deploy status      # noun after verb for sub-state

Keep the happy path as short as possible (deploy), and push variations into flags.

Data and backups

terminal — data commands
mycli backup create
mycli backup list
mycli backup restore --from latest
mycli export --format csv --output report.csv
mycli migrate --dry-run

Resource-first grouping (backup create, backup list) keeps everything about one resource in one place in help output.

Verb bank

A short, consistent verb set covers most CLIs: add, remove, list, get, set, create, delete, update, sync, deploy, rollback, backup, restore, migrate, export, import, validate, reset, refresh, publish, revoke, enable, disable, check, scan. Pick from it before inventing a new verb — the free command name generator draws from exactly this kind of bank.

When two examples both fit, choose the one a new user would guess. Then check the naming guide to make sure the choice follows the rules.