brainstorming
brainstorming
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or planning anything new, in software or out of it (a talk, a business, a renovation).
typescript-toolingDevelopment tools, linting, and build config for TypeScript. Use when configuring ESLint, Prettier, Jest, Vitest, tsconfig, or any TS build tooling.
Independent GitHub snapshot · Automated classification · Original documentation governs
tsc for CI builds; esbuild or ts-node for development.ESLint with @typescript-eslint/recommended. Enable strict type checking.Prettier via lint-staged and .prettierrc.Vitest (or Jest) for unit/integration testing. Target > 80% line coverage.tsup (library bundling) or Vite (web applications).strict: true long-term. For existing projects, migrate incrementally: start with strictNullChecks, then noImplicitAny, strictFunctionTypes. Do NOT flip strict: true in one step.tsc --noEmit in build pipeline to catch type errors.@ts-expect-error over @ts-ignore for documented edge-cases.Enable @typescript-eslint/recommended at minimum. When strict: false in tsconfig, no-unsafe-* rules may produce excessive noise — suppress selectively with @ts-expect-error rather than disabling globally.
See reference for common linting issues (request typing, unused params, test mock typing) and tsconfig migration examples.
After editing any .ts / .tsx file:
getDiagnostics (typescript-lsp MCP tool) — surfaces type errors in real time.tsc --noEmit in CI — catches project-wide errors LSP may miss.eslint --fix — auto-fix formatting and lint violations.Fallback when typescript-lsp MCP unconfigured: run
tsc --noEmitdirectly.
getDiagnostics fastest feedback loop. Use it before every commit on modified files. Use getHover to inspect inferred types, getReferences before renaming symbols.
@ts-ignore: Use @ts-expect-error — self-documents intent, fails if error disappears.any for request objects: Import centralized interfaces from src/common/interfaces/.eslint-disable (global): Suppress per-line; fix root cause instead.strict: true flip on existing repos: migrate incrementally starting with strictNullChecks.