Monospace

@repo/biome-config

Centralized Biome linter and formatter configuration.

@repo/biome-config provides a centralized Biome configuration for linting and formatting across the entire monorepo.

Usage

Extend the shared config in your app's biome.json:

apps/my-app/biome.json
{
  "extends": ["@repo/biome-config/biome"]
}

Formatter Settings

SettingValue
Indent styleSpaces
Indent width2
Line width120
Quote styleSingle quotes
SemicolonsAs needed (omitted where possible)

Linter Rules

Global Rules

CategoryRuleSeverity
ComplexitynoUselessTypeConstraintError
CorrectnessnoUnusedVariablesError
StylenoCommonJsError
StylenoNamespaceError
StyleuseArrayLiteralsError
StyleuseAsConstAssertionError
SuspiciousnoExplicitAnyInfo
SuspiciousnoTsIgnoreInfo

JSX/TSX Overrides

Additional rules are enabled for .js, .jsx, .ts, and .tsx files:

CategoryRuleSeverity
AccessibilityuseAltTextWarn
AccessibilityuseValidAriaPropsWarn
CorrectnessnoChildrenPropError
CorrectnessuseHookAtTopLevelError
CorrectnessuseJsxKeyInIterableError
SecuritynoDangerouslySetInnerHtmlWithChildrenError

TypeScript Overrides

For .ts, .tsx, .mts, and .cts files:

CategoryRuleSeverity
ComplexitynoArgumentsError
StyleuseConstError
SuspiciousnoVarError

Several TypeScript-handled rules are turned off to avoid duplicate checking (e.g., noConstAssign, noUnreachable).

CSS Settings

{
  "css": {
    "parser": { "tailwindDirectives": true },
    "formatter": { "quoteStyle": "single" }
  }
}

Tailwind directives (@tailwind, @apply, etc.) are recognized by the parser.

Running Biome

From the monorepo root:

# Check (lint + format)
bun run format-and-lint

# Check with auto-fix
bun run format-and-lint:fix

On this page