engineering-handbook/naming-conventions.md
Adam Moussa 0333e7f8f5 Add engineering handbook
Conventions covering naming, git workflow, commit messages, pull
requests, code review, GitHub standards, AWS infrastructure, SAM
project layout, and secrets management. Commit messages section
adapted from RomuloOliveira/commit-messages-guide (CC-BY-4.0).
2026-05-02 16:42:44 -04:00

1.2 KiB

Naming Conventions

The Rule

kebab-case for everything. No exceptions.

No snake_case, PascalCase, or mixed styles anywhere.

Where It Applies

Resource Example
Repository names expense-approval-bot, door-unlock-api
CloudFormation stack names expense-approval-bot (must match repo name)
Lambda function names expense-approval-bot-process-receipt
DynamoDB table names expense-approval-bot-receipts
S3 bucket names expense-approval-bot-uploads
Secrets Manager secrets expense-approval-bot/slack-signing
Feature branches feature/add-receipt-parser

CDK Gotcha

CDK generates PascalCase stack names by default. Always set an explicit stackName (TypeScript) or stack_name (Python) in your stack definition to enforce kebab-case.

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

Examples

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