{
  "$schema": "https://biomejs.dev/schemas/2.3.3/schema.json",
  "assist": { "actions": { "source": { "organizeImports": "off" } } },
  "vcs": {
    "defaultBranch": "main"
  },
  "formatter": {
    "enabled": true,
    "indentStyle": "space",
    "formatWithErrors": true,
    "includes": ["**", "!!**/package.json"]
  },
  "javascript": {
    "formatter": {
      "indentWidth": 3,
      "lineWidth": 100,
      "indentStyle": "space"
    }
  },
  "css": {
    "formatter": {
      "indentWidth": 3
    },
    "parser": {
      "tailwindDirectives": true
    }
  },
  "json": {
    "formatter": {
      "indentWidth": 2,
      "lineWidth": 80,
      "indentStyle": "space"
    }
  },
  "files": {
    "includes": [
      "**",
      "!!**/.tsup",
      "!!**/node_modules",
      "!!**/.cache",
      "!!**/.wrangler",
      "!!**/build",
      "!!**/dist",
      "!!**/data.sqld",
      "!!**/data.sqld",
      "!!**/public",
      "!!**/.history"
    ]
  },
  "linter": {
    "enabled": true,
    "includes": ["**", "!!**/vitest.config.ts", "!!app/build.ts"],
    "rules": {
      "recommended": true,
      "a11y": {},
      "correctness": {
        "useExhaustiveDependencies": "off",
        "noUnreachable": "warn",
        "noChildrenProp": "off",
        "noSwitchDeclarations": "warn",
        "noUnusedVariables": {
          "options": {
            "ignoreRestSiblings": true
          },
          "level": "warn"
        }
      },
      "complexity": {
        "noUselessFragments": "warn",
        "noStaticOnlyClass": "off",
        "noForEach": "off",
        "useLiteralKeys": "warn",
        "noBannedTypes": "off",
        "useOptionalChain": "warn"
      },
      "suspicious": {
        "noExplicitAny": "off",
        "noArrayIndexKey": "off",
        "noImplicitAnyLet": "warn",
        "noConfusingVoidType": "off",
        "noConsole": {
          "level": "warn",
          "options": { "allow": ["error", "info"] }
        },
        "noTsIgnore": "off"
      },
      "security": {
        "noDangerouslySetInnerHtml": "off"
      },
      "style": {
        "noNonNullAssertion": "off",
        "noInferrableTypes": "off",
        "useTemplate": "off",
        "noUselessElse": "off",
        "useConst": "warn",
        "useImportType": "warn",
        "noUnusedTemplateLiteral": "warn",
        "useSelfClosingElements": "warn"
      }
    }
  }
}
