Component Naming Forms
Forms of reference for every Koder Stack component: type, display name, bare name, slug, path, and aliases array. Defines the regex per form, the prefix rule (Koder vs no-Koder), and global uniqueness. §7 binds each rendering surface (landing title/hero/navbar, app title bar, Hub card, CLI, URLs) to a concrete form, closing the bare-vs-display ambiguity. Registry lives at meta/docs/stack/registries/component-names.md and is CI-checked by `koder-spec-audit naming`.
Defines the forms of reference every component of the Koder Stack must declare. Each component has up to 6 forms: a structural type, a prosaic display name, a contextual bare name, a canonical slug, a filesystem path, and an optional array of aliases for compact/colloquial reference.
Applies to every entry in meta/docs/stack/registries/component-names.md.
1. The 6 forms
| Form | Example (Flow) | Example (Koda) | Example (Drafts) | Example (Kdb umbrella) | Where it's used |
|---|---|---|---|---|---|
| type | service |
engine |
meta |
umbrella |
classification |
| display | Koder Flow |
Koder Koda |
Drafts |
Kdb |
UI, marketing, prose docs |
| bare | Flow |
Koda |
Drafts |
Kdb |
conversation where Koder context is implied |
| slug | koder-flow |
koda |
drafts |
kdb |
repo, path segment, package id |
| path | services/foundation/flow |
engines/lang/koda |
meta/context/drafts |
infra/data/kdb |
filesystem reference |
| aliases | [kflow] |
[] |
[kdrafts] |
[] |
CLI binary, D-Bus tail, oral speech |
The "Where it's used" column is a summary. The exhaustive, normative surface→form mapping (which surface uses
displayvsbarevsslug) lives in §7.
2. Rules
R1 — type is required (enum)
type ∈ { product, service, engine, meta, umbrella }product— user-facing app/CLI (`products