Naming Conventions
- Use camelCase for variables and functions
- Use PascalCase for classes and types
- Use UPPER_SNAKE_CASE for constants
Error Handling
- Always use typed errors, never throw raw strings
- Handle errors at boundaries, not everywhere
- Log context before rethrowing