{
  "$schema": "https://json.schemastore.org/tsconfig",
  "compilerOptions": {
    // ─────────────────────────────────────────────────────────────
    // Language & Environment
    // ─────────────────────────────────────────────────────────────
    "target": "ES2020",
    "lib": ["ES2020", "DOM", "DOM.Iterable"],
    "module": "ESNext",
    "jsx": "react-jsx",

    // ─────────────────────────────────────────────────────────────
    // Module Resolution
    // ─────────────────────────────────────────────────────────────
    "moduleResolution": "bundler",
    "allowImportingTsExtensions": true,
    "isolatedModules": true,
    "moduleDetection": "force",
    "noEmit": true,
    "useDefineForClassFields": true,
    "skipLibCheck": true,

    // ─────────────────────────────────────────────────────────────
    // STRICT MODE - All enabled for maximum type safety
    // Per AI_RULES.md: "Never use any type"
    // ─────────────────────────────────────────────────────────────
    "strict": true,
    "noUnusedLocals": true,
    "noUnusedParameters": true,
    "noFallthroughCasesInSwitch": true,
    "noUncheckedIndexedAccess": true,
    "noImplicitReturns": true,
    "noImplicitOverride": true,
    "exactOptionalPropertyTypes": true,
    "forceConsistentCasingInFileNames": true,

    // ─────────────────────────────────────────────────────────────
    // Path Aliases (optional)
    // ─────────────────────────────────────────────────────────────
    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"],
      "@/components/*": ["./src/components/*"],
      "@/hooks/*": ["./src/hooks/*"],
      "@/lib/*": ["./src/lib/*"],
      "@/types/*": ["./src/types/*"]
    }
  },
  "include": ["src"],
  "exclude": ["node_modules", "dist", "coverage"],
  "references": [{ "path": "./tsconfig.node.json" }]
}
