Modern TypeScript standards for type safety, performance, and maintainability.
Scanned 9/8/2026
Install to Claude Code
npx -y skills add ngxtm/devkit --skill language --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Language?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/ngxtm-language-ba292f84)More formats (shields.io, HTML) on the badges page.
---
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**: `interface` for APIs. `type` for 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**: `readonly` arrays/objects.
- **Const Assertions**: `as const` and `satisfies`.
- **Template Literals**: `on${Capitalize<string>}`.
- **Discriminated Unions**: Literal `kind` property.
- **Advanced**: Mapped, Conditional, Indexed types.
- **Branded Types**: `string & { __brand: 'Id' }`.
## Anti-Patterns
- **No `any`**: Use `unknown`.
- **No `Function`**: Use signature `() => void`.
- **No `enum`**: Runtime cost.
- **No `!`**: Use narrowing.
## Code
```typescript
// 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](references/REFERENCE.md).
## Related Topics
best-practices | security | tooling
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!