{ "$schema": "https://biomejs.dev/schemas/2.5.0/schema.json", "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, "files": { "includes": [ ".github/scripts/**", "docs/.vitepress/**", "docs/scripts/**", "tests/test-ui/**", // Vendor-exported artwork/fonts, not authored source: public/ (copied verbatim // into the build) and src/assets/ (imported so Vite hashes them). Linting these is // a category error (e.g. noSvgWithoutTitle on the logo svg). "!tests/test-ui/public", "!tests/test-ui/src/assets", "tools/discord-bot/**", "tools/test-observability.ts", "tools/tsconfig.json" ] }, "formatter": { "enabled": true, "formatWithErrors": false, "indentStyle": "space", "indentWidth": 4, "lineEnding": "lf", "lineWidth": 120, "useEditorconfig": true }, "linter": { "enabled": true, "rules": { "recommended": true, "complexity": { "noForEach": "off", // fix:none — the unsafe fix deletes `!important`, which would break // legitimate overrides like the reduced-motion block in style.css. "noImportantStyles": { "level": "warn", "fix": "none" }, "noStaticOnlyClass": "off", "noUselessSwitchCase": "error", "useFlatMap": "error" }, "style": { "noNegationElse": "off", "useBlockStatements": "error", "useForOf": "error", "useNodejsImportProtocol": "error", "useNumberNamespace": "error" }, "suspicious": { "noDoubleEquals": "error", "noThenProperty": "error", "useIsArray": "error", "noExplicitAny": "off", "noConsole": "off", "noShadow": "error" }, "correctness": { "noUnusedPrivateClassMembers": { "level": "warn", "fix": "none" } } } }, "assist": { "enabled": true }, "css": { "parser": { // test-ui uses Tailwind 4 at-rules (@plugin, @custom-variant) in style.css. "tailwindDirectives": true } }, "javascript": { "formatter": { "arrowParentheses": "always", "bracketSameLine": false, "bracketSpacing": true, "jsxQuoteStyle": "double", "quoteProperties": "asNeeded", "semicolons": "always", "trailingCommas": "all" } }, "overrides": [ { // Biome can't see template usage of script declarations yet // (https://biomejs.dev/internals/language-support/) — these four // rules false-positive in SFCs per Biome's own Vue guidance. "includes": ["**/*.vue"], "linter": { "rules": { "correctness": { "noUnusedVariables": "off", "noUnusedImports": "off" }, "style": { "useConst": "off", "useImportType": "off" } } } } ] }