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

43 lines
1.4 KiB
Markdown

# 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:
```typescript
new MyStack(app, 'MyStack', {
stackName: 'my-stack',
});
```