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.