The Command Classification Bureau
Nomenclature classifies every command in your environment — alias, function, builtin, keyword, or file — so you never execute in the dark again.
Capabilities
Every flag maps to a distinct classification philosophy. Choose the lens that matches the depth of understanding you need.
Feed any command name and receive its canonical identity: alias, keyword, function, builtin, or file. The foundation of all operational awareness.
nomenclature <name>
Returns a single, machine-parseable classification token — alias, keyword, function, builtin, or file. Perfect for pipeline integration and automated taxonomies.
nomenclature -t <name>
Surfaces every location where a command can be found — aliases, builtins, functions, and all PATH entries. Complete topological awareness of your command landscape.
nomenclature -a <name>
Strips away the noise of aliases and builtins. Returns only the on-disk binary that would execute — the ground truth beneath the abstraction layers.
nomenclature -p <name>
Ignores aliases, builtins, and functions entirely. Forces a raw PATH traversal and returns the absolute disk path. No shortcuts. No assumptions.
nomenclature -P <name>
Silences function lookup during classification. When you need to see past custom overrides to the underlying truth, this is your lens.
nomenclature -f <name>
Interactive
Watch commands get sorted into their proper taxonomic categories in real time.
Taxonomy
A living visual taxonomy of every classification category in the Nomenclature system.
A name that expands to another command. The shape-shifter of your shell.
ll is aliased to `ls -la`
A reserved word in the shell grammar. Structural scaffolding of the language itself.
if is a shell keyword
A user-defined composition. Custom logic distilled into a single invocable name.
greet is a function
greet () { echo "hello" }
Wired directly into the shell runtime. No external process. No spawn overhead. Pure velocity.
cd is a shell builtin
An executable binary or script found on disk via PATH traversal. The tangible artifact.
grep is /usr/bin/grep
Process
Pass any command name — or multiple names — to the Nomenclature engine. No preprocessing required.
The engine checks aliases, reserved keywords, defined functions, shell builtins, and PATH entries, in that order. The first match wins — unless you request a Deep Scan.
Receive a definitive identity for each name: its category, its origin, and its disk path if applicable. Pipe-friendly, human-readable, zero ambiguity.
Terminal
Voices
"We burned two sprint cycles debugging alias collisions before adopting Nomenclature. Now every engineer classifies before they commit. The compound effect on velocity has been extraordinary."
"Deep Scan Mode completely changed how I audit shell environments. Seeing every location a command resolves to — in order — is the kind of operational awareness I didn't know I was missing."
"The -t flag's single-word output slots perfectly into our CI pipeline. We gate deployments on classification checks now. It's become a core primitive in our delivery architecture."
"I use Nomenclature to teach shell internals. Having students classify commands and see the taxonomy light up — builtins here, PATH binaries there — is worth a hundred lectures."
Plans
Every plan includes core classification. Upgrade to unlock advanced modes, Deep Scan, and multi-environment support.
Questions
Nomenclature returns an empty classification with a non-zero exit status. No false positives. If something doesn't exist in your environment, we tell you — clearly and immediately.
Absolutely. Pass multiple names in a single invocation and receive a classification report for each. Batch classification is available on all paid plans.
Disk Resolver returns the binary only if the command would normally resolve to a file. PATH Force Search overrides everything — aliases, builtins, functions — and searches PATH directly. Think of -p as polite and -P as insistent.
Nomenclature performs all classification locally within your shell execution context. We inherently cannot see your data because classification requires awareness of your current session state — aliases, functions, PATH — which only exists in your live environment.
That's where it truly shines. The -t flag returns a single machine-parseable word, purpose-built for conditional logic in automation pipelines. Guard clauses, validation steps, CI gates — all powered by a single classification call.
Our belief
We live in an age of aliases stacked on functions stacked on builtins shadowing binaries. The shell has become a palimpsest — layers of intent written over layers of machinery. And somewhere beneath it all, the actual command waits to be seen for what it is.
Nomenclature was founded on a single conviction: that understanding what you're about to execute is not a luxury — it is the first act of operational discipline. Classification isn't a debugging step. It's a philosophy of care.