Add a Domain Glossary to CLAUDE.md So Claude Uses Your Team's Vocabulary
Every project has domain-specific language that generic AI doesn't know. Without a glossary, Claude guesses — calling your "tenants" users, your "workspaces" projects, or your "settlements" payments. A glossary section in CLAUDE.md fixes this permanently.
## Domain Glossary
- **Tenant** — an organization account. NOT a user. One tenant has many users.
- **Workspace** — a project container within a tenant. NOT a directory or repo.
- **Settlement** — the daily reconciliation of transactions. NOT a single payment.
- **Provider** — a third-party service integration. NOT a cloud provider.
- **Claim** — a user's request for reimbursement. NOT an auth claim or JWT claim.
With this glossary, Claude uses the right terms everywhere:
- Variable names:
tenantIdnotuserIdwhen referring to the organization - Database columns:
settlement_datenotpayment_date - Comments: "Process the daily settlement" not "Process the daily payment"
- Test descriptions: "it creates a claim for the user" not "it creates a request"
This is especially important for projects where common words have specific meanings:
## Domain Glossary
- **Account** — always means a financial account, not a user account.
User accounts are called "profiles."
- **Transfer** — money moving between accounts. NOT a file transfer or data transfer.
- **Balance** — the current amount in an account. Always stored in cents as an integer.
- **Ledger** — the immutable log of all transactions. Never update ledger entries.
The glossary also prevents Claude from introducing confusion when generating new code. If Claude creates a new service and names it UserAccountService when your domain calls them "profiles", that mismatch propagates through every file it touches.
Domain language is the foundation of readable code — teach Claude your vocabulary once and every session speaks the same language as your team.
via Claude Code
Log in to leave a comment.
When Claude writes error messages, button labels, validation text, or onboarding flows, it defaults to generic developer-speak. Add a "Users" section to your CLAUDE.md describing who your actual users are — their technical level, industry jargon, and what they care about — so Claude writes copy that makes sense to THEM, not to developers.
Use the --agent flag with custom markdown files in .claude/agents/ to launch purpose-built Claude sessions with restricted tools and scoped system prompts.
Every project has traps — the billing module that silently fails if you forget to queue the job, the legacy table with column names that don't match the model, the config value that must be set before tests run. Document these gotchas in your CLAUDE.md so Claude avoids the same mistakes your team spent days debugging.