Aller au contenu principal

Rules: typescript

TypeScript Rules

Affected files

These rules apply to files matching the following patterns:

  • **/*.ts
  • **/*.tsx
  • **/*.mts

Detailed rules

TypeScript Rules

Strict Mode

  • IMPORTANT: Strict mode enabled ("strict": true)
  • Do not disable TypeScript checks
  • Fix type errors, do not ignore them

Type Safety

  • IMPORTANT: No any except documented exceptional cases
  • YOU MUST define interfaces for complex objects
  • Prefer unknown over any when the type is unknown
  • Use type guards for narrowing

Types vs Interfaces

  • Prefer type for unions and intersections
  • Prefer interface for extensible objects
  • Use interface for public APIs

Naming Conventions

TypeConventionExample
Variables/FunctionscamelCasegetUserById
Classes/InterfacesPascalCaseUserService
ConstantsSCREAMING_SNAKEMAX_RETRY_COUNT
Generic typesT, K, V or descriptiveTData, TError
EnumsPascalCase (name and values)UserRole.Admin

File Naming

TypeConventionExample
React componentsPascalCaseUserCard.tsx
Services/Utilskebab-caseuser-service.ts
Types/Interfaceskebab-case or PascalCaseuser-types.ts
Testssame name + .testuser-service.test.ts

Best Practices

  • Pure functions when possible
  • Data immutability
  • Single Responsibility Principle
  • DRY but not at the expense of readability
  • Avoid side effects in functions

Automatic application

These rules are automatically applied by Claude during:

  • Reading the matching files
  • Modifying code
  • Suggestions and fixes

See also