The Command Classification Bureau

Know what you're actually running.

Nomenclature classifies every command in your environment — alias, function, builtin, keyword, or file — so you never execute in the dark again.

$ nomenclature ls
file ls is /bin/ls
0 Classification Categories
0M+ Commands Classified Daily
0% Classification Accuracy
<1ms Avg. Classification Time

Capabilities

Six modes of inquiry. One source of truth.

Every flag maps to a distinct classification philosophy. Choose the lens that matches the depth of understanding you need.

🏛️

Core Classification

Feed any command name and receive its canonical identity: alias, keyword, function, builtin, or file. The foundation of all operational awareness.

nomenclature <name>
🏷️

Type Word Protocol™

Returns a single, machine-parseable classification token — alias, keyword, function, builtin, or file. Perfect for pipeline integration and automated taxonomies.

nomenclature -t <name>
🔍

Deep Scan Mode

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>
📂

Disk Resolver

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>
🛤️

PATH Force Search

Ignores aliases, builtins, and functions entirely. Forces a raw PATH traversal and returns the absolute disk path. No shortcuts. No assumptions.

nomenclature -P <name>
🚫

Function Suppression

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

The Classification Engine

Watch commands get sorted into their proper taxonomic categories in real time.

Awaiting input…
alias 0
keyword 0
function 0
builtin 0
file 0

Taxonomy

The Type Registry

A living visual taxonomy of every classification category in the Nomenclature system.

alias

Alias

A name that expands to another command. The shape-shifter of your shell.

ll is aliased to `ls -la`
keyword

Keyword

A reserved word in the shell grammar. Structural scaffolding of the language itself.

if is a shell keyword
function

Function

A user-defined composition. Custom logic distilled into a single invocable name.

greet is a function
greet () { echo "hello" }
builtin

Builtin

Wired directly into the shell runtime. No external process. No spawn overhead. Pure velocity.

cd is a shell builtin
file

File

An executable binary or script found on disk via PATH traversal. The tangible artifact.

grep is /usr/bin/grep

Process

How classification works

01

Submit a name

Pass any command name — or multiple names — to the Nomenclature engine. No preprocessing required.

02

Multi-layer resolution

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.

03

Classification report

Receive a definitive identity for each name: its category, its origin, and its disk path if applicable. Pipe-friendly, human-readable, zero ambiguity.

Terminal

See Nomenclature in action

nomenclature — deep scan
$ nomenclature ls
ls is /bin/ls
$ nomenclature -t cd
builtin
$ nomenclature -a echo
echo is a shell builtin
echo is /bin/echo
$ nomenclature -t if
keyword
$ nomenclature -P echo
/bin/echo
$ nomenclature -t ls
file
$ nomenclature cd
cd is a shell builtin
$

Voices

What practitioners are saying

"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."

Maren Isaksen VP of Platform Engineering, ScaleForge

"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."

Tomás Herrera Staff SRE, GridStack

"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."

Priya Chandrasekaran DevOps Lead, Lattice Infra

"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

Choose your classification depth

Every plan includes core classification. Upgrade to unlock advanced modes, Deep Scan, and multi-environment support.

Observer

$0/mo
  • Basic classification (1 name at a time)
  • Core identity report
  • 10 classifications / day
  • Type Word Protocol™ (-t)
  • Deep Scan Mode (-a)
  • PATH Force Search (-P)
Get Started

Bureau

$69/seat/mo
  • Everything in Classifier
  • PATH Force Search (-P)
  • Multi-name batch classification
  • Team classification audit logs
  • SSO & SAML
  • Shared taxonomy dashboards
Start Trial

Sovereign

Custom
  • Everything in Bureau
  • Dedicated classification cluster
  • Custom taxonomy extensions
  • 99.99% uptime SLA
  • Priority support & onboarding
  • Self-hosted deployment option
Contact Sales

Questions

Frequently asked

What happens if a command name isn't found?

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.

Can I classify multiple commands at once?

Absolutely. Pass multiple names in a single invocation and receive a classification report for each. Batch classification is available on all paid plans.

What's the difference between Disk Resolver (-p) and PATH Force Search (-P)?

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.

Is my environment data stored on your servers?

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.

Can I use Nomenclature in scripts?

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

Every command has a true name.

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.

Backed by mandō