format
This commit is contained in:
parent
d858222af7
commit
7d9044ab29
202 changed files with 10755 additions and 10972 deletions
58
.serena/memories/code_style_conventions.md
Normal file
58
.serena/memories/code_style_conventions.md
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
# Code Style and Conventions
|
||||
|
||||
## TypeScript Configuration
|
||||
- **Strict mode enabled**: All strict checks are on
|
||||
- **Target**: ES2022
|
||||
- **Module**: ESNext with bundler resolution
|
||||
- **Path aliases**: `@stock-bot/*` maps to `libs/*/src`
|
||||
- **Decorators**: Enabled for dependency injection
|
||||
|
||||
## Code Style Rules (ESLint)
|
||||
- **No unused variables**: Error (except prefixed with `_`)
|
||||
- **No explicit any**: Warning
|
||||
- **No non-null assertion**: Warning
|
||||
- **No console**: Warning (except in tests)
|
||||
- **Prefer const**: Enforced
|
||||
- **Strict equality**: Always use `===`
|
||||
- **Curly braces**: Required for all blocks
|
||||
|
||||
## Formatting (Prettier)
|
||||
- **Semicolons**: Always
|
||||
- **Single quotes**: Yes
|
||||
- **Trailing comma**: ES5
|
||||
- **Print width**: 100 characters
|
||||
- **Tab width**: 2 spaces
|
||||
- **Arrow parens**: Avoid when possible
|
||||
- **End of line**: LF
|
||||
|
||||
## Import Order
|
||||
1. Node built-ins
|
||||
2. Third-party modules
|
||||
3. `@stock-bot/*` imports
|
||||
4. Relative imports (parent directories first)
|
||||
5. Current directory imports
|
||||
|
||||
## Naming Conventions
|
||||
- **Files**: kebab-case (e.g., `database-setup.ts`)
|
||||
- **Classes**: PascalCase
|
||||
- **Functions/Variables**: camelCase
|
||||
- **Constants**: UPPER_SNAKE_CASE
|
||||
- **Interfaces/Types**: PascalCase with 'I' or 'T' prefix optional
|
||||
|
||||
## Library Standards
|
||||
- **Named exports only**: No default exports
|
||||
- **Factory patterns**: For complex initialization
|
||||
- **Singleton pattern**: For global services (config, logger)
|
||||
- **Direct class exports**: For DI-managed services
|
||||
|
||||
## Testing
|
||||
- **File naming**: `*.test.ts` or `*.spec.ts`
|
||||
- **Test structure**: Bun's built-in test runner
|
||||
- **Integration tests**: Use TestContainers for databases
|
||||
- **Mocking**: Mock external dependencies
|
||||
|
||||
## Documentation
|
||||
- **JSDoc**: For all public APIs
|
||||
- **README.md**: Required for each library
|
||||
- **Usage examples**: Include in documentation
|
||||
- **Error messages**: Descriptive with context
|
||||
Loading…
Add table
Add a link
Reference in a new issue