mirror of
https://github.com/Sea-Haven-Industries/engineering-handbook.git
synced 2026-10-03 03:23:22 +00:00
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
43 lines
1.4 KiB
Markdown
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',
|
|
});
|
|
```
|