← ClaudeAtlas

lang-typescriptlisted

Use when writing or reviewing TypeScript/JavaScript (.ts/.tsx/.js/.mjs/.cts) or Node/Next.js/React/Nest/Express code — idiomatic style, strict typing, async error handling, and the language's top security pitfalls. Triggers on tsconfig, package.json, ESLint/Prettier, Vitest/Jest, pnpm/npm/yarn projects.
StielChancellor/VibeGod-Tech-Team · ★ 0 · Code & Development · score 65
Install: claude install-skill StielChancellor/VibeGod-Tech-Team
# TypeScript / Node — idiomatic & safe The language lens for TS/JS work. Backs the build agents at Stage 6. Honors `_shared/vibegod-principles.md` (simplicity, surgical, no `any`, no silent error-swallowing, consistency, cost-awareness). Defer security depth to `secure-coding` and test discipline to `test-driven-development` — do not repeat them here. ## Fits in the pipeline Stage 6 (Build): write code to this standard. Stage 7 (per-feature QA): the code-quality-reviewer + security-engineer lenses check it against this skill. Priority: **user > skills > default.** ## Style & layout - `src/` for code, `tests/` or co-located `*.test.ts`. ESM (`"type": "module"`) for new packages. - Prefer `type` aliases for unions/shapes; `interface` for extensible public contracts. Name types `PascalCase`, values `camelCase`, consts `UPPER_SNAKE` only for true constants. - Functions over classes unless you need instances/state. Pure, small, single-purpose. - Export explicitly; no barrel files that hide cycles. Co-locate by feature, not by layer. ## Toolchain (canonical) - **Type-check:** `tsc --noEmit`. Strict tsconfig is mandatory: `strict: true` (implies `noImplicitAny` + `strictNullChecks`), plus `noUncheckedIndexedAccess`, `exactOptionalPropertyTypes`, `noImplicitOverride`. - **Lint/format:** ESLint (`@typescript-eslint`, `no-explicit-any`, `no-floating-promises`) + Prettier. CI runs `eslint . && prettier --check .`. - **Test:** Vitest (preferred) or Jest. Coverage via `vitest