invoke-task-conventions
Naming and wiring invoke tasks
inv <namespace>.<task> should read as an imperative command. The namespace is the subject, the
task is the action: inv apt.install-base is "apt: install base", inv zsh.fix-history is "zsh:
fix history".
This is the mainstream CLI shape, not a local invention — gh pr create, docker image prune,
kubectl config set-context are all <subject> <verb>, and Azure CLI mandates it outright
("Commands must follow a [noun] [noun] [verb] pattern"). See
references/rationale.md for the prior art and the evidence behind each
rule below.
The examples and measurements are from this author's own repo family — power-user-linux-setup,
repo-tasks, scaffoldapy-generated projects — because that is where the rules were tried. The
rules are invoke's and hold in any tasks.py; substitute your own repos wherever one of those is
named.