Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
laurigates avatar

Typescript Strict

  • 42 installs
  • 49 repo stars
  • Updated August 4, 2026
  • laurigates/claude-plugins

Helps with ai & agent building tasks.

About

typescript-strict is a Claude Code skill for ai & agent building. It helps solo builders move faster with AI-assisted development.

  • typescript-strict
  • AI & Agent Building
  • AI-coding skill

Typescript Strict by the numbers

  • 42 all-time installs (skills.sh)
  • Ranked #8,023 of 16,546 AI & Agent Building skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/laurigates/claude-plugins --skill typescript-strict

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs42
repo stars49
Last updatedAugust 4, 2026
Repositorylaurigates/claude-plugins

What it does

Helps with ai & agent building tasks.

Files

SKILL.mdMarkdownGitHub ↗

TypeScript Strict Mode

Modern TypeScript configuration with strict type checking for maximum safety and developer experience. This guide focuses on TypeScript 5.x best practices for 2025.

When to Use This Skill

Use this skill when...Use another approach when...
Setting up a new TypeScript projectDebugging runtime errors (use debugger)
Migrating to stricter type safetyConfiguring build tools (use bundler docs)
Choosing moduleResolution strategyWriting application logic
Enabling noUncheckedIndexedAccessOptimizing bundle size (use bundler skills)

Core Expertise

What is Strict Mode?

  • Type safety: Catch more bugs at compile time
  • Better IDE experience: Improved autocomplete and refactoring
  • Maintainability: Self-documenting code with explicit types
  • Modern defaults: Align with current TypeScript best practices

Key Capabilities

  • Strict null checking
  • Strict function types
  • No implicit any
  • No unchecked indexed access
  • Proper module resolution
  • Modern import/export syntax enforcement

Recommended tsconfig.json (2025)

Minimal Production Setup

{
  "compilerOptions": {
    // Type Checking
    "strict": true,
    "noUncheckedIndexedAccess": true,
    "noImplicitOverride": true,
    "noPropertyAccessFromIndexSignature": true,
    "noFallthroughCasesInSwitch": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,

    // Modules
    "module": "ESNext",
    "moduleResolution": "Bundler",
    "resolveJsonModule": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": false,
    "verbatimModuleSyntax": true,

    // Emit
    "target": "ES2022",
    "lib": ["ES2023", "DOM", "DOM.Iterable"],
    "outDir": "dist",
    "declaration": true,
    "declarationMap": true,
    "sourceMap": true,
    "removeComments": false,
    "noEmit": false,

    // Interop
    "isolatedModules": true,
    "allowJs": false,
    "checkJs": false,
    "skipLibCheck": true,
    "forceConsistentCasingInFileNames": true
  },
  "include": ["src/**/*"],
  "exclude": ["node_modules", "dist", "build"]
}

Strict Flags Explained

strict: true (Umbrella Flag)

Enables all strict type-checking options:

{
  "strict": true
  // Equivalent to:
  // "noImplicitAny": true,
  // "strictNullChecks": true,
  // "strictFunctionTypes": true,
  // "strictBindCallApply": true,
  // "strictPropertyInitialization": true,
  // "noImplicitThis": true,
  // "alwaysStrict": true
}

Always enable `strict: true` for new projects.

Additional Strict Flags (Recommended for 2025)

FlagPurpose
noUncheckedIndexedAccessIndex signatures return `T \
noImplicitOverrideRequire override keyword for overridden methods
noPropertyAccessFromIndexSignatureForce bracket notation for index signatures
noFallthroughCasesInSwitchPrevent fallthrough in switch statements
exactOptionalPropertyTypesOptional properties cannot be set to undefined explicitly

noUncheckedIndexedAccess (Essential)

// With noUncheckedIndexedAccess
const users: Record<string, User> = {};
const user = users['john'];
// Type: User | undefined (correct - must check before use)

if (user) {
  console.log(user.name); // Type narrowed to User
}

Always enable this flag to prevent runtime errors.

Module Resolution

Choosing a Strategy

StrategyUse ForExtensions Required
BundlerVite, Webpack, Bun projectsNo
NodeNextNode.js libraries and serversYes (.js)

moduleResolution: "Bundler" (Vite/Bun)

{
  "compilerOptions": {
    "module": "ESNext",
    "moduleResolution": "Bundler"
  }
}
  • No file extensions required in imports
  • JSON imports without assertions
  • Package.json exports field support

moduleResolution: "NodeNext" (Node.js)

{
  "compilerOptions": {
    "module": "NodeNext",
    "moduleResolution": "NodeNext"
  }
}
  • Respects package.json type: "module"
  • Requires explicit .js extensions (even for .ts files)
  • Supports conditional exports

verbatimModuleSyntax (Recommended for 2025)

Prevents TypeScript from rewriting imports/exports.

{
  "compilerOptions": {
    "verbatimModuleSyntax": true
  }
}
// Error: 'User' is a type and must be imported with 'import type'
import { User } from './types';

// Correct
import type { User } from './types';

// Correct (mixed import)
import { fetchUser, type User } from './api';

Replaces deprecated importsNotUsedAsValues and preserveValueImports.

Agentic Optimizations

ContextCommand
Check errorsbunx tsc --noEmit
Check single filebunx tsc --noEmit src/utils.ts
Show configbunx tsc --showConfig
Check module resolution`bunx tsc --showConfig \

Quick Reference

Recommended Flags

FlagValueCategory
stricttrueType Checking
noUncheckedIndexedAccesstrueType Checking
noImplicitOverridetrueType Checking
noPropertyAccessFromIndexSignaturetrueType Checking
noFallthroughCasesInSwitchtrueType Checking
moduleESNext / NodeNextModules
moduleResolutionBundler / NodeNextModules
verbatimModuleSyntaxtrueModules
targetES2022Emit
isolatedModulestrueInterop
skipLibChecktrueInterop

For detailed examples, advanced patterns, and best practices, see REFERENCE.md.

References

  • TypeScript Handbook: https://www.typescriptlang.org/docs/handbook/intro.html
  • TSConfig Reference: https://www.typescriptlang.org/tsconfig
  • Strict Mode Guide: https://www.typescriptlang.org/tsconfig#strict
  • Module Resolution: https://www.typescriptlang.org/docs/handbook/module-resolution.html
  • Best Practices: https://www.typescriptlang.org/docs/handbook/declaration-files/do-s-and-don-ts.html

Related skills

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.