{ "$schema": "https://next.biomejs.dev/schemas/2.3.8/schema.json", "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true }, "files": { "ignoreUnknown": false, "includes": ["**/*", "!dist", "!src-tauri"] }, "assist": { "enabled": true, "actions": { "recommended": true, "source": { "useSortedAttributes": "on" } } }, "formatter": { "enabled": true, "indentStyle": "space", "indentWidth": 4, "lineEnding": "lf" }, "linter": { "enabled": true, "rules": { "recommended": true, "complexity": { "noUselessThisAlias": "error", "noUselessTypeConstraint": "error", "useArrowFunction": "off", "useLiteralKeys": "error", "useOptionalChain": "error", "noArguments": "warn" }, "correctness": { "noConstAssign": "error", "noGlobalObjectCalls": "error", "noInvalidBuiltinInstantiation": "error", "noInvalidConstructorSuper": "error", "noSetterReturn": "error", "noUndeclaredVariables": "error", "noUnreachable": "warn", "noUnreachableSuper": "error", "noUnusedVariables": "error", "noUnusedImports": "error", "useExhaustiveDependencies": "error", "useHookAtTopLevel": "error" }, "style": { "noInferrableTypes": "error", "noNamespace": "error", "useAsConstAssertion": "error", "useBlockStatements": "error", "useConsistentArrayType": "error", "useConst": "error", "useForOf": "error", "useImportType": "error", "useShorthandFunctionType": "error", "useThrowOnlyError": "error", "useArrayLiterals": "warn", "useFilenamingConvention": { "level": "error", "options": { "strictCase": true, "requireAscii": true, "filenameCases": ["kebab-case"] } } }, "suspicious": { "noClassAssign": "off", "noDuplicateClassMembers": "off", "noDuplicateObjectKeys": "off", "noDuplicateParameters": "off", "noEmptyBlockStatements": "error", "noExplicitAny": "error", "noExtraNonNullAssertion": "error", "noVar": "error", "noFunctionAssign": "off", "noImportAssign": "off", "noMisleadingInstantiator": "error", "noRedeclare": "off", "noUnsafeDeclarationMerging": "error", "noUnsafeNegation": "off", "useAwait": "error", "useGetterReturn": "off", "useNamespaceKeyword": "error" }, "nursery": { "useSortedClasses": "error" }, "a11y": { "useKeyWithClickEvents": "off", "useSemanticElements": "off" } } }, "javascript": { "formatter": { "quoteStyle": "double", "semicolons": "always", "trailingCommas": "all" }, "globals": [] }, "css": { "parser": { "tailwindDirectives": true }, "formatter": { "enabled": true } }, "overrides": [ { "includes": ["src/lib/hooks/**/*.ts"], "linter": { "rules": { "style": { "useFilenamingConvention": { "level": "error", "options": { "strictCase": true, "requireAscii": true, "match": "use.*", "filenameCases": ["camelCase"] } } } } } }, { "includes": ["src/lib/hooks/**/*.tsx"], "linter": { "rules": { "style": { "useFilenamingConvention": { "level": "error", "options": { "match": "Hook_Should_Use_Ts_Extension!" } } } } } } ] }