Naming Conventions Style
Names encode intent for humans and agents: kebab-case slugs on disk, PascalCase components, camelCase functions, and hook names that describe returned state.
Wiki and docs
Wiki slugs use kebab-case.md. Disambiguate collisions (david-liu-princeton.md vs other David Liu pages). Source: AGENTS.md Entity Identity Protocol
TypeScript/React
Components and types: PascalCase. Functions, variables, hooks: camelCase. Custom hooks start with use and name the returned concept. Source: React Style; TypeScript Style
Files
Match primary export: ReticleButton.tsx exports ReticleButton. Colocate tests as *.test.ts or *.spec.ts per repo convention.
Dedalus monorepo
Follow Dedalus Style Guide and The Dedalus Edict for Python/Typer commands, package boundaries, and banned patterns. Personal wiki style extends, not overrides, Dedalus rules when editing Dedalus code.
Constants
Extract magic numbers to named constants at module or domain scope. Taste skills use ALL_CAPS dial names (MOTION_INTENSITY) for generation variance. Source: skills/engineering/taste-core/SKILL.md
Naming Contract
| Surface | Default | Banned pattern | Proof |
|---|---|---|---|
| Wiki pages | Stable kebab-case slug, display title in Title Case | Opaque IDs or incidental clone-folder names | build-index and title normalizer |
| React components | PascalCase file and primary export match | Generic Component, Widget, NewThing names |
Local import/search review |
| Hooks | use plus returned concept |
Verb soup naming internal steps | Hook call sites read naturally |
| Functions | Verb/object name with one responsibility | Function names containing "and" | Review split or test boundary |
| Constants | Domain name plus units or qualifier | Magic numbers and ambiguous VALUE names |
Search and typecheck |
Proof
A name is good when search finds the owner, call sites read without comments, and a future agent can infer the boundary before opening the function body. If a name needs an explanatory comment, rename the thing first.
Style Rule Contract
This page follows Style Rule Contract: name the default pattern, banned pattern, reason, exception, proof, and codification path clearly enough that the next agent can apply the rule without asking Kevin again. If a local repo has a stricter rule, follow the local rule and update the wiki when the decision becomes durable.
Timeline
- 2026-07-01 | Aligned this page with Style Rule Contract so style guidance names default behavior, banned patterns, exceptions, proof, and codification expectations. Source: User request, 2026-07-01
- 2026-07-01 | Added a naming contract and proof rule for wiki slugs, React components, hooks, functions, constants, and search-based ownership. Source: User request, 2026-07-01
- 2026-04-06 | AGENTS.md slug conventions documented. Source: AGENTS.md
- 2026-05-31 | Naming conventions style page compiled. Source: compiled from wiki graph