ub-ts

Detect TypeScript project archetypes and apply strict compiler and module settings.

6|2|Updated Mar 12, 2026
One-click install
npx skills add https://github.com/robert-hoffmann/uncle-bob --skill ub-ts
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: ub-ts
Source: https://github.com/robert-hoffmann/uncle-bob/tree/main/.agents/skills/ub-ts
Command: npx skills add https://github.com/robert-hoffmann/uncle-bob --skill ub-ts

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Harmonizes and enforces modern TypeScript practices across codebases, helping teams adopt consistent typing, module configuration, and migration-friendly patterns.

Core Features & Use Cases

  • Detect project archetype and runtime targets from package.json and tsconfig files, then propose a tailored module strategy (node20/nodenext for Node apps, esnext with bundler resolver for bundler contexts, etc.).
  • Apply strict, modern defaults across compile and runtime settings, including strict, noUncheckedIndexedAccess, exactOptionalPropertyTypes, verbatimModuleSyntax, and moduleDetection: force.
  • Provide migration guidance using the references docs for modern patterns and legacy-to-modern transitions, plus optional migration guards and bounded exceptions.
  • Enable project-wide modernization without framework-specific assumptions, with guidance for type-safety improvements and incremental migration.

Quick Start

Provide a modern TypeScript baseline for the current project by detecting archetype and applying the recommended module and compiler settings.

Frequently Asked Questions about ub-ts

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

FAQPage Schema
How do I set up a modern TypeScript baseline across different project types?

To set up a modern TypeScript baseline, the Skill detects your project archetype from package.json and tsconfig files, then applies tailored module resolution strategies and strict compiler options suitable for Node apps, bundler contexts, or libraries.

What TypeScript compiler options should I enforce for strict code quality?

For strict TypeScript code quality, you should enforce modern compiler defaults including strict, noUncheckedIndexedAccess, exactOptionalPropertyTypes, verbatimModuleSyntax, and moduleDetection: force to ensure robust type safety across your codebase.

How do I migrate legacy TypeScript projects to modern module resolution?

Migrating legacy TypeScript module resolution involves detecting project runtimes and applying appropriate strategies like node20 or nodenext for Node apps, and esnext with bundler resolver for bundler contexts, guided by included migration references.

Can I modernize TypeScript configurations without framework-specific assumptions?

Yes, you can modernize TypeScript configurations without framework-specific assumptions. The Skill provides archetype detection and project-wide modernization guidance, supporting incremental migration and type-safety improvements across diverse runtime targets.

What is the best way to handle TypeScript migration for a monorepo with diverse runtimes?

The best way to handle TypeScript migration for diverse runtimes is detecting project archetypes from configuration files, enforcing strict compiler settings, and applying tailored module resolution strategies to establish a consistent tsconfig architecture.

Why does my TypeScript module resolution strategy need to match my project runtime?

TypeScript module resolution must match your runtime because Node apps require node20 or nodenext strategies, while bundler contexts need esnext with bundler resolvers to ensure correct module loading and type checking across different environments.