# Naming Standards

> How Sqemo turns a shared word list and naming rules into consistent physical names for every table and column.

Naming conventions usually live in a wiki nobody reads. Sqemo turns them
into rules that run on every column: you model in business terms, and the
physical names are generated from a word list your team controls.

## The word list

The word list maps each logical word to its standard physical word — for
example "Customer" → `cust`, "Number" → `no`. Type the logical name
"Customer Number" and the physical column comes out `cust_no`, the same
way every time, for everyone. The word list can be imported and exported,
and Sqemo prevents duplicate words from slipping in.

Words are only half of it: what a whole term like "Customer Number"
*means* lives in the [business glossary](/docs/business-glossary/), which
is derived from the model rather than maintained separately.

## Naming rules

Naming rules control how generated words are assembled — case style and
separators — and what happens when a logical name uses a word that is not
in the word list yet (`unknown word mode`):

- **warn** — flag unregistered words so they get added to the word list,
- **keep** — use the word as-is,
- **romanize** — transliterate it.

## Overrides are explicit

Sometimes a physical name has to differ from the generated one. You can
override it — the override is marked (`manual override`) and excluded from
automatic regeneration, so a word-list change never silently rewrites it.
Overrides are visible, which matters: an invisible override is how naming
standards die.

## Checking compliance

- **In the app** — validation flags logical names with unregistered words
  and physical names that drifted from the standard.
- **In CI** — the [MCP/CLI package](/docs/mcp/) lints a project file and
  fails the build on violations:

```bash
npx sqemo-mcp lint schema.erd.json   # exit code 1 on violations
```

## One standard for the whole team

With a workspace, the word list and naming rules become a **team standard**
that every connected ERD generates names from. Members propose new words;
the standard owner approves; approved words propagate to connected
projects. See [Team collaboration](/docs/collaboration/), or watch the
[two-minute video](https://youtu.be/wHsoFbak6GY) that follows one word
from proposal to a renamed column.

While a project is connected, a status bar above the validation panel
shows whether it is in sync with the standard and holds the entry points —
pulling the latest version, the proposal queue, and the compliance view:

![The team standard bar in a connected project: sync status, Pull, member and settings management, the proposal queue with its pending count, and the compliance view entry.](/screenshots/docs/team-standard-bar.png)

---
Source: https://sqemo.com/docs/naming-standards/ · Updated 2026-08-13
