lang-typescriptlisted
Install: claude install-skill paruff/uFawkesAI
# Skill: Language — TypeScript
> **Load trigger:** `"load lang-typescript skill"`
> **Stack:** TypeScript, Node.js, ESLint, tsc, Jest/Vitest, npm
> **Token cost:** Low
## Toolchain Reference
| Gate | Tool | Command | Config file |
| --------- | ----------------- | ----------------------- | -------------------------------------- |
| Lint | ESLint | `npm run lint` | `.eslintrc.js` or `eslint.config.js` |
| Typecheck | tsc | `npm run typecheck` | `tsconfig.json` |
| Test | Jest or Vitest | `npm run test` | `jest.config.ts` or `vitest.config.ts` |
| Coverage | Jest `--coverage` | `npm run test:coverage` | `jest.config.ts` |
| Preflight | custom | `npm run preflight` | `scripts/preflight.sh` |
## File Layout Convention
```
src/
types/index.ts ← all shared types and interfaces
services/ ← business logic, no UI dependencies
utils/ ← pure functions, no side effects
screens/ or pages/ ← UI layer only
tests/
services/ ← mirrors src/services/
utils/ ← mirrors src/utils/
```
## CI Gate Commands (ci-quality.yml)
```yaml
- name: Lint
run: npm ci && npm run lint
- name: Typecheck
run: npm run typecheck
- name: Test with coverage
run: npm run test:coverage
env:
CI: true
- name: Coverage threshold