Verifying TypeScript changes
Files: .ts, .tsx, .mts, .cts. Derived from 93 scanned source repositories and 1343 review prompts on https://awesomereviewers.com. Page: https://awesomereviewers.com/verify/typescript/
How to use this: run every check under Run on every change. Then, for each section under Add when the change touches that describes your diff, run its checks too. Checks catch what a tool can find; then apply the listed review prompts for what tools miss (fetch each prompt’s raw URL).
Usage is the share of scanned repositories in this language that run the tool. A missing tool means no scanned repository runs one the scanner recognises: fall back to the prompts.
Run on every change
- Formatting:
prettier (57% of repos). Command seen: prettier --write .. Autofixes. Exit codes: 0 everything formatted; 1 something was not formatted (–check); 2 prettier error. Docs: https://prettier.io/docs/cli#exit-codes
- Linting:
eslint (63% of repos). Command seen: eslint .. Autofixes. Exit codes: 0 no errors; 1 linting errors found; 2 configuration problem or internal error. Alternatives: biome (23%). Docs: https://eslint.org/docs/latest/use/command-line-interface#exit-codes
- Type checking:
tsc (92% of repos). Command seen: tsc --noEmit. Docs: https://github.com/microsoft/TypeScript
- Unit and integration tests:
vitest (73% of repos). Command seen: vitest run. Alternatives: jest (28%), node-test (27%), mocha (8%). Docs: https://github.com/vitest-dev/vitest
Review prompts (242 in total, most discussed first):
- Consistent, descriptive identifiers — HONOJS/HONO, Naming Conventions
- Consistent, unambiguous naming — honojs/Hono, Naming Conventions
- simplify control flow patterns — twentyhq/twenty, Code Style
- maintain consistent style — angular/angular, Code Style
- consistent readable patterns — snyk/cli, Code Style
- Single Source Helpers — QwenLM/qwen-code, Code Style
- Consistent Naming Rules — mermaid-js/mermaid, Naming Conventions
- Prefer concise idiomatic syntax — HONOJS/HONO, Code Style
- Use descriptive identifier names — microsoft/playwright, Naming Conventions
- Consistent semantic naming — vercel/ai, Naming Conventions
- TypeScript naming standards — langchain-ai/langchainjs, Naming Conventions
- Next.js directory structure — prowler-cloud/prowler, Code Style
Add when the change touches
- Security scanning:
codeql (27% of repos). Runs via GitHub Action github/codeql-action/analyze. Alternatives: semgrep (9%). Docs: https://github.com/github/codeql
- Secret scanning:
gitleaks (6% of repos). Command seen: gitleaks git --config=.gitleaks.toml --baseline-path=.gitleaks-baseline.json --log-opts=$SCAN_REF --report-format=sarif --report-path=gitleaks.sarif .. Docs: https://github.com/gitleaks/gitleaks
- Dependency audit:
npm-audit (6% of repos). Command seen: npm audit signatures. Alternatives: dependency-review (5%). Docs: https://github.com/npm/cli
Review prompts (102 in total, most discussed first):
- Redact credentials at export boundaries — promptfoo/promptfoo, Security
- Secure Boundary Enforcement — QwenLM/qwen-code, Security
- Fail-Closed Security Handling — Cline/Cline, Security
- Fail-Closed Security Boundaries — ClInE/cLiNe, Security
- Fail-Closed Secrets Safety — CLINE/cline, Security
- Fail-Closed Auth And Logging — cline/CLINE, Security
- Sanitize all inputs — elie222/inbox-zero, Security
- Enforce security invariants — microsoft/VSCode, Security
- Enforce security checks everywhere — can1357/oh-my-pi, Security
- Authorization hierarchy verification — calcom/cal.com, Security
- Redact secrets in diagnostics — cline/cline, Security
- Harden Client URL Fetches — diegosouzapw/OmniRoute, Security
Public APIs, signatures, error paths, nullability
- Type checking:
tsc (92% of repos). Command seen: tsc --noEmit. Docs: https://github.com/microsoft/TypeScript
- Unit and integration tests:
vitest (73% of repos). Command seen: vitest run. Alternatives: jest (28%), node-test (27%), mocha (8%). Docs: https://github.com/vitest-dev/vitest
- Property-based tests:
fast-check (3% of repos). Docs: https://github.com/dubzzz/fast-check
Review prompts (322 in total, most discussed first):
- Fail-safe Error Handling — QwenLM/qwen-code, Error Handling
- Explicit failure handling — cline/cline, Error Handling
- Guard against null — n8n-io/n8n, Null Handling
- Handle async operation errors — elie222/inbox-zero, Error Handling
- Explicit Error Handling — CLINE/CLINE, Error Handling
- Optional value handling — honojs/hono, Null Handling
- Explicit nullish value handling — HONOJS/HONO, Null Handling
- Precise async error coverage — Cline/Cline, Error Handling
- Design extensible, composable option APIs — honojs/Hono, API
- API consistency patterns — remix-run/react-router, API
- Classify and isolate failures — promptfoo/promptfoo, Error Handling
- Fail Safe Error Routing — CLINE/cline, Error Handling
Service and framework code
- Unit and integration tests:
vitest (73% of repos). Command seen: vitest run. Alternatives: jest (28%), node-test (27%), mocha (8%). Docs: https://github.com/vitest-dev/vitest
- Version and platform matrix:
ci-matrix (49% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (17 in total, most discussed first):
- Axum Code Review: Interaction Patterns — tokio-rs/axum, Axum
- Consistent axum Usage in TypeScript — tokio-rs/axum, Axum
- Adhere to Fastify Coding Conventions — fastify/fastify, Fastify
- Explicit Configuration Usage in Fastify — fastify/fastify, Fastify
- Properly Handle Errors in Fastify Applications — fastify/fastify, Fastify
- Proper Handling of Promises in Fastify Implementations — fastify/fastify, Fastify
- Use factory providers — nestjs/nest, NestJS
- Consistent Fastify Integration Patterns — fastify/fastify, Fastify
- Durable, idempotent orchestration — cline/cline, Temporal
- Centralize workflow scheduling — calcom/cal.com, Temporal
- avoid @Optional decorator — novuhq/novu, NestJS
- workflow documentation clarity — cloudflare/workers-sdk, Temporal
- Property-based tests:
fast-check (3% of repos). Docs: https://github.com/dubzzz/fast-check
- Fuzzing — no tool detected in the sample. Catches: Crashes, panics and hangs on malformed input, especially in parsers and decoders.
- Mutation testing:
stryker (3% of repos). Command seen: stryker run --config-file stryker.disablebail.json --mutate $BATCH_MUTATE. Docs: https://github.com/stryker-mutator/stryker-js
- Proofs and specifications — no tool detected in the sample. Catches: Design-level bugs in protocols and algorithms, checked against a specification.
Review prompts (65 in total, most discussed first):
- Spec-Aligned Parsing Algorithms — ClInE/cLiNe, Algorithms
- Deterministic Boundary Modeling — awslabs/aidlc-workflows, Algorithms
- Optimize critical loops — microsoft/typescript, Algorithms
- Idempotent normalization pipelines — diegosouzapw/OmniRoute, Algorithms
- Prefer Grammar Over Regex — mermaid-js/mermaid, Algorithms
- Complexity-Safe Correctness — CLINE/CLINE, Algorithms
- Semantics-First Algorithm Rules — Cline/Cline, Algorithms
- Sorted Selection Safety — QwenLM/qwen-code, Algorithms
- Iterative, cycle-safe traversal — can1357/oh-my-pi, Algorithms
- Ancestor-stack cycle detection — promptfoo/promptfoo, Algorithms
- Accurate Parsing Estimation — cline/CLINE, Algorithms
- avoid unnecessary computations — rocicorp/mono, Algorithms
Threads, async code, locks, shared state
- Concurrency model checking — no tool detected in the sample. Catches: Races and orderings that fail only under specific interleavings.
- Undefined-behaviour detection — no tool detected in the sample. Catches: Memory-safety and aliasing violations in unsafe code.
- Property-based tests:
fast-check (3% of repos). Docs: https://github.com/dubzzz/fast-check
Review prompts (61 in total, most discussed first):
- Race-safe concurrent state — can1357/oh-my-pi, Concurrency
- Revalidate state after awaits — cline/cline, Concurrency
- Async Claims And Generations — Cline/Cline, Concurrency
- Propagate cancellation signals — promptfoo/promptfoo, Concurrency
- Async race ownership rules — CLINE/CLINE, Concurrency
- Protect shared state access — RooCodeInc/Roo-Code, Concurrency
- Async ownership and cleanup — ClInE/cLiNe, Concurrency
- Synchronous Claim and Gating — CLINE/cline, Concurrency
- Prevent concurrent state races — google-gemini/gemini-cli, Concurrency
- Concurrency-safe Async Flows — cline/CLINE, Concurrency
- Guard Against Stale Async — CLINE/CLINE, Concurrency
- Guard Async State Updates — CLINE/cline, Concurrency
Network calls, retries, timeouts, protocols
- Unit and integration tests:
vitest (73% of repos). Command seen: vitest run. Alternatives: jest (28%), node-test (27%), mocha (8%). Docs: https://github.com/vitest-dev/vitest
- Fuzzing — no tool detected in the sample. Catches: Crashes, panics and hangs on malformed input, especially in parsers and decoders.
Review prompts (34 in total, most discussed first):
- HTTP header semantics — honojs/Hono, Networking
- Stateful Network Dispatch — Cline/Cline, Networking
- HTTP header spec compliance — honojs/hono, Networking
- Reliable Network Retries — CLINE/cline, Networking
- proxy configuration precedence — microsoft/playwright, Networking
- Follow protocol standards — nestjs/nest, Networking
- Network retry and bounds — CLINE/CLINE, Networking
- Network request lifecycle — cline/CLINE, Networking
- Network API compatibility — oven-sh/bun, Networking
- Proxy And Timeout Discipline — ClInE/cLiNe, Networking
- HTTP protocol compliance — cloudflare/workerd, Networking
- Centralize proxy configuration — google-gemini/gemini-cli, Networking
UI components and pages
- End-to-end browser tests:
playwright (44% of repos). Command seen: playwright test. Docs: https://github.com/microsoft/playwright
- Linting:
eslint (63% of repos). Command seen: eslint .. Autofixes. Exit codes: 0 no errors; 1 linting errors found; 2 configuration problem or internal error. Alternatives: biome (23%). Docs: https://eslint.org/docs/latest/use/command-line-interface#exit-codes
Review prompts (82 in total, most discussed first):
- Component naming consistency — n8n-io/n8n, Vue
- Stable, lifecycle-correct hooks — tanstack/query, React
- Manage bindings and state — wavetermdev/waveterm, React
- Memoize derived state — Helicone/helicone, React
- Stable React Rendering — tanstack/query, React
- Prevent component re-mounting — ant-design/ant-design, React
- Visibility-safe React state — ClInE/cLiNe, React
- Action slot invariants — QwenLM/qwen-code, React
- leverage existing Angular patterns — angular/angular, Angular
- Hook and state correctness — langfuse/langfuse, React
- Hook dependencies stability — remix-run/react-router, React
- Respect Angular DI — tanstack/query, Angular
Databases, migrations, caching
- Unit and integration tests:
vitest (73% of repos). Command seen: vitest run. Alternatives: jest (28%), node-test (27%), mocha (8%). Docs: https://github.com/vitest-dev/vitest
- Version and platform matrix:
ci-matrix (49% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (50 in total, most discussed first):
- Complete cache invalidation keys — can1357/oh-my-pi, Caching
- Database type consistency — drizzle-team/drizzle-orm, Database
- type-safe database operations — rocicorp/mono, Database
- Cache correctness & retries — CLINE/CLINE, Caching
- Dependency-Aware Caching — ClInE/cLiNe, Caching
- Use transactions for consistency — elie222/inbox-zero, Database
- Cache key completeness — promptfoo/promptfoo, Caching
- Cache correctness rules — microsoft/VSCode, Caching
- Cache with Revisions — CLINE/cline, Caching
- Correct Keyed Caches — cline/CLINE, Caching
- Versioned cache validity — Cline/Cline, Caching
- Correct Dedup Cache Keys — QwenLM/qwen-code, Caching
- No tool-based check applies; rely on the prompts.
Review prompts (70 in total, most discussed first):
- Bound Hot-Path Work — microsoft/VSCode, Performance Optimization
- Bound Hot-Loop Work — QwenLM/qwen-code, Performance Optimization
- Benchmark-driven hot-path optimization — honojs/Hono, Performance Optimization
- Benchmark hot-path optimizations — HONOJS/HONO, Performance Optimization
- Hot Path Efficiency — QwenLM/qwen-code, Performance Optimization
- Efficient hot-path discipline — diegosouzapw/OmniRoute, Performance Optimization
- Hot-Path Performance Rules — colinhacks/zod, Performance Optimization
- Prefer fast-paths and caching — mermaid-js/mermaid, Performance Optimization
- Cache expensive operations — langfuse/langfuse, Performance Optimization
- Avoid redundant expensive work — CLINE/CLINE, Performance Optimization
- Batch and Cap Work — Cline/Cline, Performance Optimization
- Minimize Hot-Path Work — tanstack/query, Performance Optimization
Model, prompt and LLM code
- Unit and integration tests:
vitest (73% of repos). Command seen: vitest run. Alternatives: jest (28%), node-test (27%), mocha (8%). Docs: https://github.com/vitest-dev/vitest
Review prompts (28 in total, most discussed first):
- Model specification accuracy — lobehub/lobe-chat, AI
- AI model integration patterns — google-gemini/gemini-cli, AI
- Configurable model selection — browserbase/stagehand, AI
- Model Limits Correctness — CLINE/cline, AI
- Evidence-complete LLM grading — promptfoo/promptfoo, AI
- Provider-specific AI handling — ChatGPTNextWeb/NextChat, AI
- Standardize LLM interface parameters — n8n-io/n8n, AI
- Model-aware limits and reasoning — cline/CLINE, AI
- Normalize reasoning tokens — CLINE/CLINE, AI
- Safe LLM retry recovery — cline/cline, AI
- Centralize model-specific logic — Helicone/helicone, AI
- Standardize AI model interfaces — continuedev/continue, AI
Logging, metrics, tracing
- No tool-based check applies; rely on the prompts.
Review prompts (31 in total, most discussed first):
- Telemetry correctness rules — ClInE/cLiNe, Observability
- Telemetry correctness contract — Cline/Cline, Observability
- Telemetry Semantics Contract — CLINE/CLINE, Observability
- Telemetry event integrity — cline/cline, Observability
- Telemetry correctness and timing — cline/CLINE, Observability
- Use structured logging — n8n-io/n8n, Logging
- Manage output streams carefully — prisma/prisma, Logging
- Use structured logging — RooCodeInc/Roo-Code, Logging
- Use structured logging framework — langfuse/langfuse, Logging
- Use structured error logging — firecrawl/firecrawl, Logging
- Use structured logging consistently — browserbase/stagehand, Logging
- Verify properties before logging — vercel/ai, Logging
CI workflows and configuration files
- CI workflow linting — no tool detected in the sample. Catches: Broken GitHub Actions syntax, script injection, over-broad token permissions.
- File hygiene:
pre-commit-hooks (4% of repos). Runs via pre-commit hook end-of-file-fixer. Autofixes. Docs: https://github.com/pre-commit/pre-commit-hooks
Review prompts (119 in total, most discussed first):
- Configuration validation messages — cloudflare/workers-sdk, Configurations
- configuration resolution patterns — nuxt/nuxt, Configurations
- Validate and scope configuration changes — can1357/oh-my-pi, Configurations
- Explicit default configurations — nestjs/nest, Configurations
- Unify config resolution — cline/cline, Configurations
- Consistent Config Gates — QwenLM/qwen-code, Configurations
- Conditional configuration management — kilo-org/kilocode, Configurations
- Environment variable access — lobehub/lobe-chat, Configurations
- Consistent Config Resolution — Cline/Cline, Configurations
- Configuration precedence rules — promptfoo/promptfoo, Configurations
- Configure with care — RooCodeInc/Roo-Code, Configurations
- Validate environment variables strictly — elie222/inbox-zero, Configurations
Dependencies and lockfiles
- Dependency audit:
npm-audit (6% of repos). Command seen: npm audit signatures. Alternatives: dependency-review (5%). Docs: https://github.com/npm/cli
- Lockfile consistency — no tool detected in the sample. Catches: A lockfile that no longer matches its manifest.
- Version and platform matrix:
ci-matrix (49% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
The tests themselves
- Mutation testing:
stryker (3% of repos). Command seen: stryker run --config-file stryker.disablebail.json --mutate $BATCH_MUTATE. Docs: https://github.com/stryker-mutator/stryker-js
- Version and platform matrix:
ci-matrix (49% of repos). Command seen: analyze (language: 2). Docs: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/run-job-variations
Review prompts (78 in total, most discussed first):
- Test critical branches — QwenLM/qwen-code, Testing
- Assert behavior, not wiring — can1357/oh-my-pi, Testing
- Meaningful, deterministic tests — honojs/hono, Testing
- Write focused, deterministic tests — HONOJS/HONO, Testing
- Deterministic Test Assertions — tanstack/query, Testing
- Write effective, deterministic tests — honojs/Hono, Testing
- Contract-Accurate Testing — tanstack/query, Testing
- Precise Scenario-Based Testing — mermaid-js/mermaid, Testing
- comprehensive test coverage — angular/angular, Testing
- Verify regression test efficacy — cline/cline, Testing
- Deterministic Regression Tests — microsoft/VSCode, Testing
- Assert meaningful outcomes — colinhacks/zod, Testing
- Docs build — no tool detected in the sample. Catches: Broken cross-references, links and markup in documentation.
- Spelling:
codespell (3% of repos). Runs via GitHub Action codespell-project/actions-codespell. Docs: https://github.com/codespell-project/codespell
Review prompts (42 in total, most discussed first):
- Internationalize all text — RooCodeInc/Roo-Code, Documentation
- Keep Docs Accurate — QwenLM/qwen-code, Documentation
- Sync documentation with code — langfuse/langfuse, Documentation
- Document function behavior completely — microsoft/typescript, Documentation
- Document i18n string usage — RooCodeInc/Roo-Code, Documentation
- Use comprehensive JSDoc — langchain-ai/langchainjs, Documentation
- Document intent and reasoning — snyk/cli, Documentation
- Use supported documentation formats — mermaid-js/mermaid, Documentation
- Ensure comprehensive user documentation — google-gemini/gemini-cli, Documentation
- JSDoc documentation standards — cloudflare/workers-sdk, Documentation
- Add explanatory comments — angular/angular, Documentation
- Maintain comprehensive documentation — TanStack/router, Documentation
Source repositories
freeCodeCamp/freeCodeCamp, facebook/react, nousresearch/hermes-agent, microsoft/vscode, vercel/next.js, n8n-io/n8n, electron/electron, langgenius/dify, axios/axios, microsoft/typescript, denoland/deno, angular/angular, mui/material-ui, ant-design/ant-design, shadcn-ui/ui, mermaid-js/mermaid, supabase/supabase, ChatGPTNextWeb/NextChat, opencut-app/opencut, earendil-works/pi, oven-sh/bun, microsoft/playwright, unionlabs/union, vitejs/vite, nestjs/nest, cline/cline, grafana/grafana, lobehub/lobe-chat, google-gemini/gemini-cli, nuxt/nuxt, remix-run/react-router, firecrawl/firecrawl, aaif-goose/goose, vuejs/core, tanstack/query, cypress-io/cypress, mastodon/mastodon, prisma/prisma, colinhacks/zod, getsentry/sentry, apache/airflow, evanw/esbuild, calcom/cal.com, novuhq/novu, menloresearch/jan, can1357/oh-my-pi, twentyhq/twenty, fastify/fastify, diegosouzapw/OmniRoute, honojs/hono, vadimdemedes/ink, openai/codex, drizzle-team/drizzle-orm, supermemoryai/supermemory, PostHog/posthog, sst/opencode, continuedev/continue, nrwl/nx, promptfoo/promptfoo, QwenLM/qwen-code, SigNoz/signoz, chalk/chalk, tokio-rs/axum, coleam00/Archon, argoproj/argo-cd, better-auth/better-auth, gravitational/teleport, block/goose, adonisjs/core, bytedance/UI-TARS-desktop, wavetermdev/waveterm, RooCodeInc/Roo-Code, dyad-sh/dyad, browserbase/stagehand, vercel/ai, langchain-ai/langchainjs, langfuse/langfuse, mountain-loop/yaak, TanStack/router, openai/codex-security, elie222/inbox-zero, aws/aws-sdk-js, kilo-org/kilocode, cloudflare/workerd, maximhq/bifrost, Helicone/helicone, snyk/cli, awslabs/aidlc-workflows, cloudflare/workers-sdk, paper-design/shaders, likec4/likec4, cloudflare/agents, rocicorp/mono