Skip to main content

typescript

TypeScript coding standards — apply when writing, reviewing, or refactoring .ts/.tsx, or naming/renaming .ts files (camelCase casing).

Source facts

Repository
forcedotcom/salesforcedx-vscode
Last source activity
July 29, 2026 at 15:35
Detected SKILL.md language
English
Stars
1,036
Forks
455

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
typescript
description
TypeScript coding standards — apply when writing, reviewing, or refactoring .ts/.tsx, or naming/renaming .ts files (camelCase casing).
review
never
- no barrel files - no `void` for async - use async/effect (exception [vscode-window-messages](../vscode-window-messages/SKILL.md)) - no `export *` - name exports explicitly - prefer `undefined` over null (unless server requires null) - prefer `undefined` over empty string - prefer map/filter over loops/conditionals - avoid mutation - avoid `any` - derive types from the source of truth; don't hand-write or narrow them to satisfy the compiler. ex: use ReturnType<> to match something - no enums or namespaces (enums compile to weird JS; use string union types instead; exception: interfaces defined outside this repo that we can't change) - no runtime errors for developer mistakes (use types to ensure exhaustive switch/case; don't throw for null/undefined when input/consumer is within our control) - .ts filenames: camelCase, no hyphens, no leading capitals - preserve comments when refactoring; remove/fix if wrong/obsolete - exported functions: single-line jsdoc /\*_ foo _/ if name unclear; no params/return (TS provides types) - look for uses of (Object|Map).groupBy instead of older patterns - redundant empty-collection guards: if `arr.find/some/every/map/filter/reduce` already returns the same value for an empty array, drop the `if (arr.length === 0) return …` guard. e.g. `find` on `[]` is `undefined`, so guarding `return undefined` is dead code. - no needless const declarations: return directly instead of `const x = val; return x` (exception: complex expressions where const improves readability)
View on GitHub