Home / Cursor rules / Typescript
Typescript
TypeScript coding standards and best practices for modern web development
Cursor rules (.mdc)Public domain (CC0)
–unranked
Install
mkdir -p .cursor/rules && curl -sL https://raw.githubusercontent.com/PatrickJS/awesome-cursorrules/b044f956f021b6e8877f16781bcfc466a6a120e9/rules/typescript.mdc -o .cursor/rules/typescript.mdcDownloads the file at commit b044f956f021 into .cursor/rules/.
To remove it later:
rm .cursor/rules/typescript.mdcContext cost: ≈517 tokens when used.
Rules file
--- description: "TypeScript coding standards and best practices for modern web development" globs: **/*.ts, **/*.tsx, **/*.d.ts alwaysApply: false --- # TypeScript Best Practices ## Type System - Prefer interfaces over types for object definitions - Use type for unions, intersections, and mapped types - Avoid using `any`, prefer `unknown` for unknown types - Use strict TypeScript configuration - Leverage TypeScript's built-in utility types - Use generics for reusable type patterns ## Naming Conventions - Use PascalCase for type names and interfaces - Use camelCase for variables and functions - Use UPPER_CASE for constants - Use descriptive names with auxiliary verbs (e.g., isLoading, hasError) - Prefix interfaces for React props with 'Props' (e.g., ButtonProps) ## Code Organization - Keep type definitions close to where they're used - Export types and interfaces from dedicated type files when shared - Use barrel exports (index.ts) for organizing exports - Place shared types in a `types` directory - Co-locate component props with their components ## Functions - Use explicit return types for public functions - Use arrow functions for callbacks and methods - Implement proper error handling with custom error types - Use function overloads for complex type scenarios - Prefer async/await over Promises ## Best Practices - Enable strict mode in tsconfig.json - Use readonly for immutable properties - Leverage discriminated unions for type safety - Use type guards for runtime type checking - Implement proper null checking - Avoid type assertions unless necessary ## Error Handling - Create custom error types for domain-specific errors - Use Result types for operations that can fail - Implement proper error boundaries - Use try-catch blocks with typed catch clauses - Handle Promise rejections properly ## Patterns - Use the Builder pattern for complex object creation - Implement the Repository pattern for data access - Use the Factory pattern for object creation - Leverage dependency injection - Use the Module pattern for encapsulation
Security
Scanned Nov 4, 2026 at commit b044f956f021, with Cisco's open-source skill-scanner.
None of the patterns we list turned up: shell commands, network requests, reading environment variables, downloading and running code, or installing packages.
A scan lists patterns in the code. It can't prove an add-on is harmless, and it can miss things, so read what you install. How we scan