Skip to main content

typescript

TypeScript coding conventions, best practices, and patterns for writing clean, maintainable code.

Quellinformationen

Repository
genkit-ai/genkit
Letzte Quellaktivität
24. Juni 2026 um 16:31
Erkannte Sprache von SKILL.md
Englisch
Sterne
6.524
Forks
865

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
typescript
description
TypeScript coding conventions, best practices, and patterns for writing clean, maintainable code.
# TypeScript Coding Conventions ## General Principles - Use **TypeScript strict mode** (`"strict": true` in tsconfig.json). - Prefer `const` over `let`; never use `var`. - Use explicit return types on exported functions. - Prefer interfaces over type aliases for object shapes. - Use `unknown` instead of `any` where possible. ## Naming Conventions - **Variables & functions**: `camelCase` - **Classes & interfaces**: `PascalCase` - **Constants**: `UPPER_SNAKE_CASE` for true constants, `camelCase` for derived values - **Files**: `kebab-case.ts` - **Type parameters**: Single uppercase letter (`T`, `K`, `V`) or descriptive (`TResult`) ## File Structure ``` src/ index.ts # Entry point, exports types.ts # Shared type definitions utils/ # Utility functions services/ # Business logic middleware/ # Express/framework middleware ``` ## Error Handling - Use typed errors (extend `Error` class). - Always handle promise rejections. - Prefer `try/catch` with specific error types over generic catches. ```typescript class AppError extends Error { constructor( message: string, public readonly code: string, public readonly statusCode: number = 500 ) { super(message); this.name = 'AppError'; } } ``` ## Async Patterns - Use `async/await` over raw promises. - Use `Promise.all()` for concurrent independent operations. - Avoid mixing callbacks and promises. ## Imports - Use named imports: `import { thing } from './module'` - Group imports: external packages first, then internal modules. - Use `.js` extensions in import paths for ESM compatibility. ## Code Style - Maximum line length: 100 characters. - Use template literals for string interpolation. - Prefer `Array.map/filter/reduce` over `for` loops for transformations. - Use optional chaining (`?.`) and nullish coalescing (`??`). - Destructure objects and arrays when accessing multiple properties. ## Testing - Co-locate test files: `thing.ts` → `thing.test.ts` - Use descriptive test names: `it('should return empty array when no items match')` - Test edge cases: empty inputs, null values, error conditions.
Auf GitHub ansehen