{ // I use the latest schema for editor hints; the installed Biome CLI validates this config. // If editor hints get ahead of mise.lock, bump the locked Biome version. "$schema": "https://biomejs.dev/schemas/latest/schema.json", "files": { "includes": [ "**/*.ts", "**/*.js", "**/*.mjs", "**/*.json", "**/*.jsonc", "**/*.css", "**/*.html", "!**/node_modules", "!dist", "!.research", "!.safe-clones", "!.rumdl_cache", "!.worktrees", "!!**/.pi/tmp", "!!**/.pi/release", "!!**/.home", "!!**/.test-home", "!skills/find-skills", "!check/fixtures", "!**/test-results", "!**/playwright-report", "!**/*.snap" ] }, "formatter": { "enabled": true, "indentStyle": "tab" }, "linter": { "enabled": true, "rules": { "preset": "recommended", "a11y": { "useAriaPropsForRole": "off", "useButtonType": "off" }, "complexity": { "noBannedTypes": "off", "noImportantStyles": "off", "noUselessStringRaw": "off", "noUselessTernary": "error", "useLiteralKeys": "off" }, "correctness": { "noUnusedFunctionParameters": "error", "noUnusedImports": "error", "noUnusedVariables": "error", "noVoidTypeReturn": "error", "useParseIntRadix": "error" }, "performance": { "noAccumulatingSpread": "error" }, "style": { "noDescendingSpecificity": "off", "noNonNullAssertion": "error", "useNodejsImportProtocol": "error", "useTemplate": "off" }, "suspicious": { "noAssignInExpressions": "error", "noControlCharactersInRegex": "off", "noExplicitAny": "off", "noGlobalIsNan": "error", "noImplicitAnyLet": "error", "noTemplateCurlyInString": "off", "useIterableCallbackReturn": "off" } } }, "overrides": [ { // I keep console out of Pi runtime code, not standalone tests, benchmarks, scripts, or workers. "includes": [ "extensions/**/*.ts", "extensions/**/*.js", "extensions/**/*.mjs", "!extensions/**/__tests__/**", "!extensions/**/__e2e__/**", "!extensions/**/__bench__/**", "!extensions/**/__benches__/**", "!extensions/**/scripts/**", "!extensions/ultra/dynamic-validator-worker.ts" ], "linter": { "rules": { "suspicious": { "noConsole": "error" } } } } ] }