engineering-handbook/confluence/01-naming-conventions.md
Claude 735b407017
docs(confluence): add sanitized standards export for partner teams
Partner engineering teams need the standards without access to this
repo, which contains internal repo names, account identifiers, and
migration history. Adds eight simplified pages, one per Confluence
page, plus an internal README with source mapping and exclusions.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UP6j3hYgoVqjKZwC3XB9ay
2026-09-27 01:58:05 +00:00

1.4 KiB

Naming Conventions

The rule

Use kebab-case for everything: lowercase words separated by hyphens. Do not use snake_case, PascalCase, camelCase, or mixed styles.

Where it applies

Resource Example
Repository expense-approval-bot
Stack or workspace name expense-approval-bot (matches the repo name)
Lambda function expense-approval-bot-process-receipt
DynamoDB table expense-approval-bot-receipts
S3 bucket expense-approval-bot-uploads
Secrets Manager secret expense-approval-bot/slack-signing
Branch feature/add-receipt-parser
Workflow file deploy-api.yaml

Resource names start with the repo or stack name so ownership is obvious.

Examples

Bad Good Why
ExpenseApprovalBot expense-approval-bot PascalCase
expense_approval_bot expense-approval-bot snake_case
expenseApprovalBot expense-approval-bot camelCase
feature/AddParser feature/add-parser PascalCase in branch

Existing names

A few older resources do not follow this convention. Leave them as they are: renaming them would force a rebuild of production resources. Everything new must use kebab-case.

CDK note

CDK generates PascalCase stack names by default. Always set stackName explicitly:

new MyStack(app, 'MyStack', {
  stackName: 'my-stack',
});