typescript-language-patterns
maintained by HoangNguyen0403
star
143
account_tree
48
verified_user
MIT License
name: TypeScript Language Patterns description: Modern TypeScript standards for type safety, performance, and maintainability. metadata: labels: [typescript, language, types, generics] triggers: files: ['/*.ts', '/*.tsx', 'tsconfig.json'] keywords: [ type, interface, generic, enum, union, intersection, readonly, const, namespace, ]
TypeScript Language Patterns
Priority: P0 (CRITICAL)
Modern TypeScript standards for type-safe, maintainable code.
Implementation Guidelines
- Type Annotations: Explicit params/returns. Infer locals.
-
Interfaces vs Types:
interfacefor APIs.typefor unions. -
Strict Mode:
strict: true. -
Null Safety:
?.and??. -
Enums: Literal unions or
as const. - Generics: Reusable, type-safe code.
-
Type Guards:
typeof,instanceof, predicates. -
Utility Types:
Partial,Pick,Omit,Record. -
Immutability:
readonlyarrays/objects. -
Const Assertions:
as constandsatisfies. -
Template Literals:
on${Capitalize<string>}. -
Discriminated Unions: Literal
kindproperty. - Advanced: Mapped, Conditional, Indexed types.
-
Access: Default
public. Useprivate/protectedor#privatefor internals. -
Branded Types:
string & { __brand: 'Id' }.
Anti-Patterns
-
No
any: Useunknown. -
No
Function: Use signature() => void. -
No
enum: Runtime cost. -
No
!: Use narrowing.
Code
// Branded Type
type UserId = string & { __brand: 'Id' };
// Satisfies (Validate + Infer)
const cfg = { port: 3000 } satisfies Record<string, number>;
// Discriminated Union
type Result<T> = { kind: 'ok'; data: T } | { kind: 'err'; error: Error };
Reference & Examples
For advanced type patterns and utility types: See references/REFERENCE.md.
Related Topics
best-practices | security | tooling
chat Comments (0)
Sign in to join the discussion and leave a comment.
Skill Details
GitHub Stars
143
GitHub Forks
48
Created
Jan 2026
Last Updated
8 months ago
tools
tools code quality
Related Skills
Build your own?
Join 12,000+ developers contributing to the Claude ecosystem.
No comments yet. Be the first to share your thoughts!