Search

PythonReactSEOPDF
GitHub Skill

typescript-best-practices

Idiomatic TypeScript patterns for clean, maintainable code.

HoangNguyen0403☆ 143 Repository stars48 Repository forks

Installation

Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.

View source ↗Guides

Skill instructions

TypeScript Best Practices

Priority: P1 (OPERATIONAL)

Implementation Guidelines

  • Naming: Classes/Types=PascalCase, vars/funcs=camelCase, consts=UPPER_SNAKE. Prefix I only if needed.
  • Functions: Arrows for callbacks; regular for exports. Always type public API returns.
  • Modules: Named exports only. Import order: external → internal → relative.
  • Async: Use async/await, not raw Promises. Promise.all() for parallel.
  • Classes: Explicit access modifiers. Favor composition. Use readonly.
  • Types: Use never for exhaustiveness, asserts for runtime checks.
  • Optional: Use ?:, not | undefined.
  • Imports: Use import type for tree-shaking.

Anti-Patterns

  • No Default Exports: Use named exports.
  • No Implicit Returns: Specify return types.
  • No Unused Variables: Enable noUnusedLocals.
  • No require: Use ES6 import.
  • No Empty Interfaces: Use type or non-empty interface.
  • Use any: Never use any, use unknown only when necessary.

Reference & Examples

See references/examples.md for code samples including:

  • Immutable Interfaces
  • Exhaustiveness Checking
  • Assertion Functions
  • Dependency Injection Patterns
  • Import Organization

Related Topics

language | tooling | security

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)

chat_bubble_outline

No comments yet. Be the first to share your thoughts!