{ "vcs": { "enabled": true, "clientKind": "git", "useIgnoreFile": true, "defaultBranch": "main" }, "files": { // static/*.html are Go templates with {{ }} directives that // Biome's HTML parser does not support. "includes": ["**", "!**/pnpm-lock.yaml", "!**/static/*.html"], "ignoreUnknown": true, "maxSize": 2097152 }, "linter": { "rules": { "a11y": { "noSvgWithoutTitle": "off", "useButtonType": "off", "useSemanticElements": "off", "noStaticElementInteractions": "off" }, "correctness": { "noUnusedImports": "warn", "useUniqueElementIds": "off", // TODO: This is new but we want to fix it "noNestedComponentDefinitions": "off", // TODO: Investigate, since it is used by shadcn components "noUnusedVariables": { "level": "warn", "options": { "ignoreRestSiblings": true } } }, "style": { "noNonNullAssertion": "off", "noParameterAssign": "off", "useDefaultParameterLast": "off", "useSelfClosingElements": "off", "useAsConstAssertion": "error", "useEnumInitializers": "error", "useSingleVarDeclarator": "error", "useConsistentCurlyBraces": "error", "noUnusedTemplateLiteral": "error", "useNumberNamespace": "error", "noInferrableTypes": "error", "noUselessElse": "error", "noRestrictedImports": { "level": "error", "options": { "paths": { "react": { "message": "React 19 no longer requires forwardRef. Use ref as a prop instead.", "importNames": ["forwardRef"] }, "@pierre/diffs": { "message": "Parse diffs through parseDiffString so every rendered file carries a content-derived cache key (pierrecomputer/pierre#1052).", "importNames": [ "parsePatchFiles", "processPatch", "processFile", "parseDiffFromFile" ] }, // "#/components/Stack/Stack": "Use Tailwind flex utilities instead (e.g.,
).", "lodash": "Use lodash/ instead." } } } }, "suspicious": { "noArrayIndexKey": "off", "noThenProperty": "off", "noTemplateCurlyInString": "off", "useIterableCallbackReturn": "off", "noUnknownAtRules": "off", // Allow Tailwind directives "noConsole": { "level": "error", "options": { "allow": ["error", "info", "warn"] } } }, "complexity": { "noImportantStyles": "off", // TODO: check and fix !important styles "useLiteralKeys": "off" } } }, "css": { "parser": { // Biome 2.3+ requires opt-in for @apply and other // Tailwind directives. "tailwindDirectives": true } }, "overrides": [ { // Generated Go types can produce empty interfaces; the // safe fix conflicts with noBannedTypes. "includes": ["**/typesGenerated.ts"], "linter": { "rules": { "suspicious": { "noEmptyInterface": "off" } } } }, { // parseDiff.ts is the single choke point allowed to import // the raw @pierre/diffs parsers. "includes": [ "**/DiffViewer/parseDiff.ts", "**/DiffViewer/parseDiff.test.ts" ], "linter": { "rules": { "style": { "noRestrictedImports": "off" } } } } ], "$schema": "./node_modules/@biomejs/biome/configuration_schema.json" }