Initial commit
This commit is contained in:
42
commands/add-typescript-best-practices.md
Normal file
42
commands/add-typescript-best-practices.md
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
description: Setup TypeScript best practices and code style rules in CLAUDE.md
|
||||
argument-hint: None required - creates standardized TypeScript guidelines
|
||||
---
|
||||
|
||||
# Setup TypeScript Best Practices
|
||||
|
||||
Create or update CLAUDE.md in with following content, <critical>write it strictly as it is<critical>, do not summaraise or introduce and new additional information:
|
||||
|
||||
```markdown
|
||||
## Code Style Rules
|
||||
|
||||
### General Principles
|
||||
|
||||
- **TypeScript**: All code must be strictly typed, leverage TypeScript's type safety features
|
||||
|
||||
### Code style rules
|
||||
|
||||
- Interfaces over types - use interfaces for object types
|
||||
- Use enum for constant values, prefer them over string literals
|
||||
- Export all types by default
|
||||
- Use type guards instead of type assertions
|
||||
|
||||
### Best Practices
|
||||
|
||||
#### Library-First Approach
|
||||
|
||||
- Common areas where libraries should be preferred:
|
||||
- Date/time manipulation → date-fns, dayjs
|
||||
- Form validation → joi, yup, zod
|
||||
- HTTP requests → axios, got
|
||||
- State management → Redux, MobX, Zustand
|
||||
- Utility functions → lodash, ramda
|
||||
|
||||
#### Code Quality
|
||||
|
||||
- Use destructuring of objects where possible:
|
||||
- Instead of `const name = user.name` use `const { name } = user`
|
||||
- Instead of `const result = await getUser(userId)` use `const { data: user } = await getUser(userId)`
|
||||
- Instead of `const parseData = (data) => data.name` use `const parseData = ({ name }) => name`
|
||||
- Use `ms` package for time related configuration and environment variables, instead of multiplying numbers by 1000
|
||||
```
|
||||
Reference in New Issue
Block a user