ts

Validate TypeScript code against strict TS7 configuration using tsgo --noEmit.

1|Updated Apr 26, 2026
One-click install
npx skills add https://github.com/matthewharwood/dean-stack --skill ts-matthewharwood
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: ts
Source: https://github.com/matthewharwood/dean-stack/tree/main/.claude/skills/ts
Command: npx skills add https://github.com/matthewharwood/dean-stack --skill ts-matthewharwood

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This skill ensures TypeScript code adheres to strict TS7 configuration and enforces gating via the tsgo --noEmit gate, preventing non-conforming changes from passing CI and reviews.

Core Features & Use Cases

  • Enforces strict TypeScript options from tsconfig bases in packages/tsconfig (e.g., noUncheckedIndexedAccess, exactOptionalPropertyTypes, strict).
  • Uses the Go-based tsgo compiler to perform type-checks without emitting output during gates, ensuring deterministic gating.
  • Applies to repository changes that touch TypeScript sources, project references, and schema-bound types to maintain consistent typing across the codebase.

Quick Start

Run tsgo --noEmit to validate TypeScript changes against the strict TS7 configuration.

Frequently Asked Questions about ts

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I enforce strict TypeScript type-checking in CI without emitting files?▼

Strict TypeScript type-checking in CI is enforced by running the Go-based tsgo compiler with the --noEmit flag. This validates code against strict TS7 configurations deterministically without generating output files.

What is the TS7 strict configuration for TypeScript project references?▼

The TS7 strict configuration defines strict TypeScript options using tsconfig bases, ensuring proper project boundaries. It requires exactOptionalPropertyTypes, noUncheckedIndexedAccess, and proper use of z.infer instead of hand-written types mirroring schemas.

How do I validate TypeScript project references and boundaries against strict tsconfig rules?▼

Validating TypeScript project references requires running tsgo --noEmit against the repository's tsconfig bases. This checks that project boundaries, schema-bound types, and configuration align with strict TS7 rules during authoring, review, and CI.

Does tsgo work with existing tsconfig bases for strict TypeScript gating?▼

Yes, tsgo works with existing tsconfig bases by applying strict TypeScript options like noUncheckedIndexedAccess and exactOptionalPropertyTypes. It performs type-checks during gating to prevent non-conforming changes from passing CI.

Why does my TypeScript CI gate fail on hand-written types instead of z.infer?▼

TypeScript CI gates fail on hand-written types because the strict TS7 configuration prohibits manually mirroring schemas. You must use z.infer to derive types, ensuring schema-bound types align with the repository's strict rules.

When should I use tsgo --noEmit instead of the standard TypeScript compiler for static type checks?▼

Use tsgo --noEmit for static type checks when you need deterministic gating in CI and reviews. The Go-based compiler enforces strict TS7 configurations and project references without emitting output, preventing non-conforming changes from passing.