{ "$schema": "https://biomejs.dev/schemas/2.4.4/schema.json", "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true, "defaultBranch": "main" }, "files": { "ignoreUnknown": false, "includes": ["packages/**/*.ts", ".claude/**/*.ts"] }, "formatter": { "enabled": true, "indentStyle": "space", "indentWidth": 2, "lineWidth": 120 }, "linter": { "enabled": true, "rules": { "recommended": true, "complexity": { "useLiteralKeys": "off", "noForEach": "off", "noUselessSwitchCase": "off" }, "style": { "noNonNullAssertion": "off", "useNodejsImportProtocol": "error", "useTemplate": "off", "useBlockStatements": "error", "noParameterAssign": "off", "useConst": "error", "useDefaultParameterLast": "error", "useSelfClosingElements": "error", "useSingleVarDeclarator": "error", "noUnusedTemplateLiteral": "error", "useNumberNamespace": "error", "noInferrableTypes": "error", "noUselessElse": "error", "useImportType": { "level": "error", "options": { "style": "separatedType" } } }, "correctness": { "noUnusedImports": "error", "noUnusedVariables": "error", "noUnusedFunctionParameters": "warn", "noInnerDeclarations": "error" }, "suspicious": { "noExplicitAny": "warn", "noAssignInExpressions": "error", "noFallthroughSwitchClause": "error", "noDoubleEquals": "error", "noExtraNonNullAssertion": "error", "noTemplateCurlyInString": "off", "noImplicitAnyLet": "error", "noGlobalIsNan": "error", "noGlobalIsFinite": "error", "noControlCharactersInRegex": "off" }, "performance": { "recommended": true, "noAccumulatingSpread": "error" }, "security": { "recommended": true } } }, "javascript": { "formatter": { "expand": "always", "arrowParentheses": "always", "quoteStyle": "double", "trailingCommas": "all", "semicolons": "always", "bracketSpacing": true, "bracketSameLine": false } }, "overrides": [ { "includes": ["packages/cli/src/__tests__/**"], "linter": { "rules": { "suspicious": { "noExplicitAny": "off", "noImplicitAnyLet": "off", "noAssignInExpressions": "off" }, "correctness": { "noUnusedVariables": "off", "noUnusedFunctionParameters": "off" } } } }, { "includes": [".claude/**"], "linter": { "enabled": false } } ], "plugins": [ "./lint/no-type-assertion.grit", "./lint/no-typeof-string-number.grit", "./lint/no-try-catch.grit", "./lint/no-try-finally.grit", "./lint/no-ts-enum.grit" ], "assist": { "actions": { "source": { "organizeImports": { "level": "on", "options": { "groups": [ { "type": true }, ":BLANK_LINE:", { "type": false }, [":NODE:"], ":BLANK_LINE:", ["!@openrouter/**"], ":BLANK_LINE:", ["@openrouter/**"], ":BLANK_LINE:", ":ALIAS:" ] } } } } } }