typescript-language-patterns
Modern TypeScript standards for type safety, performance, and maintainability.
Installation
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
View source ↗GuidesSkill instructions
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
Examples
Read the usage examples in the source repository.
View source ↗Source history
- Indexed on
- 2026-01-20
- Index updated
- 2026-01-26
- Branch
- main
Index and sync dates describe this directory. View the source repository for code history.
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!