Biome Config
Opinionated Biome setup for consistent formatting, linting, and safe auto-fixing across your projects.
{
"$schema": "https://biomejs.dev/schemas/2.1.2/schema.json",
"vcs": { "enabled": false, "clientKind": "git", "useIgnoreFile": false },
"files": { "ignoreUnknown": false, "includes": ["**", "!**/node_modules"] },
"formatter": {
"enabled": true,
"useEditorconfig": true,
"formatWithErrors": false,
"indentStyle": "space",
"indentWidth": 2,
"lineEnding": "lf",
"lineWidth": 80,
"attributePosition": "auto",
"bracketSpacing": true
},
"assist": {
"actions": {
"source": { "organizeImports": "on", "useSortedAttributes": "on" }
}
},
"linter": {
"enabled": true,
"rules": {
"recommended": true,
"correctness": {
"noUnusedImports": {
"level": "warn",
"fix": "safe",
"options": {}
}
},
"suspicious": {
"noAlert": "warn"
},
"nursery": {
"noMagicNumbers": "warn",
"noMisusedPromises": "warn",
"noUnassignedVariables": "warn",
"useUnifiedTypeSignature": "warn",
"useSortedClasses": {
"level": "info",
"fix": "safe",
"options": { "functions": ["cn"] }
}
},
"style": {
"useFilenamingConvention": {
"level": "warn",
"options": {
"requireAscii": true,
"filenameCases": ["kebab-case"]
}
},
"noProcessEnv": "error"
}
}
},
"javascript": {
"formatter": {
"jsxQuoteStyle": "double",
"quoteProperties": "asNeeded",
"trailingCommas": "es5",
"semicolons": "always",
"arrowParentheses": "always",
"bracketSameLine": false,
"quoteStyle": "double",
"attributePosition": "auto",
"bracketSpacing": true
}
},
"css": { "formatter": { "enabled": true } }
}