Use when working with TypeScript's type system including strict mode, advanced types, generics, type guards, and compiler configuration.
View on GitHubTheBushidoCollective/han
jutsu-typescript
jutsu/jutsu-typescript/skills/typescript-typescript-type-system/SKILL.md
January 24, 2026
Select agents to install to:
npx add-skill https://github.com/TheBushidoCollective/han/blob/main/jutsu/jutsu-typescript/skills/typescript-typescript-type-system/SKILL.md -a claude-code --skill typescript-type-systemInstallation paths:
.claude/skills/typescript-type-system/# TypeScript Type System
Master TypeScript's type system features to write type-safe code. This
skill focuses exclusively on TypeScript language capabilities.
## TypeScript Compiler
```bash
# Type check without emitting files
tsc --noEmit
# Type check with specific config
tsc --noEmit -p tsconfig.json
# Show compiler version
tsc --version
# Watch mode for development
tsc --noEmit --watch
```
## Strict Mode Configuration
**tsconfig.json strict mode options:**
```json
{
"compilerOptions": {
"strict": true, // Enables all strict
"noImplicitAny": true, // Error on 'any'
"strictNullChecks": true, // null must be explicit
"strictFunctionTypes": true, // Stricter function types
"strictBindCallApply": true, // Strict bind/call/apply
"strictPropertyInitialization": true, // Class init required
"noImplicitThis": true, // Error on 'this' any
"alwaysStrict": true, // Parse strict mode
"useUnknownInCatchVariables": true // Catch is 'unknown'
}
}
```
## Essential Compiler Options
```json
{
"compilerOptions": {
// Type Checking
"exactOptionalPropertyTypes": true, // Distinguish undefined from missing
"noFallthroughCasesInSwitch": true, // Prevent fallthrough in switch
"noImplicitOverride": true, // Require 'override' keyword
"noImplicitReturns": true, // All code paths must return
"noPropertyAccessFromIndexSignature": true, // Require bracket notation for index
"noUncheckedIndexedAccess": true, // Index signatures return T | undefined
"noUnusedLocals": true, // Error on unused local variables
"noUnusedParameters": true, // Error on unused parameters
// Module Resolution
"moduleResolution": "bundler", // Modern bundler resolution
"resolveJsonModule": true, Issues Found: