UltraciteUltracite

Updates

The latest releases, changes, and improvements to Ultracite across every version.

7.6.1

Patch Changes

  • 2fbded9: Disable the typescript/prefer-readonly-parameter-types Oxlint rule. While the rule is useful for user-authored types, it fires on virtually every parameter that touches a third-party type (Express Request/Response, React events, Node Buffer, ORM models, DOM APIs) because those types aren't deeply readonly internally — leaving users with unfixable violations. Matches the existing ESLint config, which already has this rule off.
  • 617affd: Fix dist/, .next/, **/*.gen.*, and other strong-negation (!!) ignore globs being dropped when a consumer's biome.jsonc extends ultracite/biome/core and also defines its own files.includes. The globs moved into config/shared/ignores.jsonc in 7.5.9 were transitively extended through biome/core, and Biome's extend merge doesn't carry files.includes through a two-level chain when the middle config lacks its own entry. The patterns are now inlined directly in biome/core's files.includes (still generated from config/shared/ignores.mjs), matching the pre-7.5.9 behavior.
  • d681e08: Remove the nonexistent import-x/enforce-node-protocol-usage rule from the ESLint core config, which caused ESLint 9 to throw Could not find "enforce-node-protocol-usage" in plugin "import-x". Node protocol enforcement is already covered by unicorn/prefer-node-protocol.

7.6.0

Minor Changes

Patch Changes

  • a684c4a: Fix Tanstack Query ESLint plugin import
  • 4983eaa: Skip the init skill-install prompt when the Ultracite skill is already installed in the current project or globally.

7.5.9

Patch Changes

  • 77e9b41: Aggregate all ignore patterns
  • 73fc21c: Code reliability improvements
  • 63f7426: Migrate remaining json parsing to jsonc-parser
  • aa199d1: fix conflicting prefer-describe-function-title / valid-title rules in vitest
  • 402908e: Replace custom yaml parser with dependency
  • 3dbfe5c: Validate framework name to prevent injection
  • a2cdc0f: Warn if the file looks like it has ultracite config but we couldn't parse it
  • 95718bb: Use cross-spawn for cross-platform spawn compatibility
  • d09174b: Ignore .open-next in the Biome and ESLint core presets.
  • 71aeca4: Remove remaining execSync calls
  • e81a604: Add zod for safer json parsing

7.5.8

Patch Changes

  • c35a1b3: Performance improvements - doctor
  • 56e4c00: Remove process.exit() - swap with typed Error
  • d35d03c: Performance optimizations - mkdir(), readFile()
  • ee224a6: Use Commander.js args properly
  • a2b7a46: Rework doctor command
  • cf4a044: Fix angular eslint plugin typo
  • 25eb24f: Optimize dev dep install
  • b46537a: Performance optimizations - exists()

7.5.7

Patch Changes

  • a63d9c5: Fix cross-config leaking rules
  • d18d0e7: Configure Prettier with frameworks context
  • 1d6de0d: Add declaration files for ultracite/oxlint/* and ultracite/oxfmt so TypeScript config imports resolve without ts(7016) errors.
  • 1073f34: Ensure init'ed JSON files have newlines

7.5.6

Patch Changes

  • acf4a97: Update oxlint jest rules
  • 6905932: Fix vitest/no-importing-vitest-globals conflict
  • 4e4dc03: Update oxlint vitest rules
  • 6a583d1: Fix oxfmt setup config

7.5.5

Patch Changes

  • 5437f81: Attempt to fix oxlint/oxfmt AGAIN

7.5.4

Patch Changes

  • 66999e0: Fix oxlint and oxfmt yet again

7.5.3

Patch Changes

  • 97c3938: Fix oxlint and oxfmt import paths

7.5.2

Patch Changes

  • 22df7a5: Fix oxlint import issues

7.5.1

Patch Changes

  • e96c55a: Switch oxlint.config.ts to js imports

7.5.0

Minor Changes

  • 7861cf7: Migrate oxlint and oxfmt configurations from JSON to TypeScript using defineConfig. The CLI now generates oxlint.config.ts and oxfmt.config.ts instead of .oxlintrc.json and .oxfmtrc.jsonc, and all internal framework presets have been converted to TypeScript.

Patch Changes

  • fdb1493: Exclude package manager lock files (bun.lock, bun.lockb, package-lock.json, yarn.lock, pnpm-lock.yaml) from Biome linting and formatting

7.4.4

Patch Changes

  • e9db6f1: Add IBM Bob agent, editor, and logo
  • 5341bcc: Disable vitest/prefer-strict-boolean-matchers to resolve conflict with prefer-to-be-truthy and prefer-to-be-falsy

7.4.3

Patch Changes

  • 42b3552: Update the bundled VS Code settings to use js/ts.tsdk.path and js/ts.tsdk.promptToUseWorkspaceVersion instead of the deprecated typescript.tsdk setting.
  • a0a03c6: Allow utf-8 values in the unicorn/text-encoding-identifier-case rule across the bundled ESLint and Oxlint configs.

7.4.2

Patch Changes

  • 94e770e: Remove non-existent oxlint rules (import/no-unresolved, vitest/no-done-callback) for compatibility with oxlint 1.58.0+

7.4.1

Patch Changes

  • 7a14fb2: Prompt users to install the reusable Ultracite skill during ultracite init and add a --install-skill flag for non-interactive setup.
  • 4f0cd02: Fix incorrect react-perf rule names (react_perf → react-perf)
  • f78c934: Redesign Agents initialization
  • 969b271: Add Svelte and Tailwind CSS plugins to Prettier config

7.4.0

Minor Changes

  • c189cf1: Add support for new agent integrations including Zencoder, Ona, OpenClaw, Continue, Snowflake Cortex, Deepagents, Qoder, Kimi CLI, Kode, MCPJam, Mux, Pi, Neovate, Pochi, and AdaL, plus add CodeBuddy as a supported editor.

Patch Changes

  • 04d8455: Add no-void rule with allowAsStatement to complement no-floating-promises
  • e38d579: Fix DEP0190 deprecation warnings in check, fix, and doctor by routing CLI subprocesses through a shared cross-spawn runner with shell: false, while preserving Windows command resolution and direct file-path argument passing.
  • 98cb8c2: Pin ESLint initialization to a peer-compatible dependency set so ultracite init no longer installs an incompatible eslint@latest with eslint-plugin-github
  • fd7d05f: Disable conflicting vitest/prefer-called-times oxlint rule to resolve conflict with vitest/prefer-called-once
  • 581ea40: Add typed ultracite/oxlint exports for use in oxlint.config.ts.

7.3.2

Patch Changes

  • 8ffeb33: Add support for .oxlintrc.mjs and oxlint.config.ts

7.3.1

Patch Changes

  • f84edff: Fix --type-aware for Biome
  • acf301c: Migrate from eslint-plugin-import to import-x
  • 5749eb1: Create test frameworks

7.3.0

Minor Changes

  • 0d27e68: fix noUnusedImports removing new imports in agent hooks

Patch Changes

  • 668fe62: Add --type-aware flag for biome
  • 4280484: Disable max-statements in Oxlint
  • d37b046: Disable jsdoc/require-param-type and jsdoc/require-returns-type for TS files

7.2.5

Patch Changes

  • 83bafe4: Disable useValidLang rule for SvelteKit app.html to prevent false positives from %lang% placeholder
  • 4df6da9: Disable noUndeclaredVariables for Svelte files to fix false positives with template block variables like {#each}

7.2.4

Patch Changes

  • cfaa912: Remove Jest and Vitest rules from non-test files
  • f72f2dc: Add support for copilot hooks
  • 66d51fd: Disable import/no-nodejs-modules for Chris Consent
  • d1e8490: Create skill

7.2.3

Patch Changes

7.2.2

Patch Changes

  • 8db75d7: Only run shell: true on windows

7.2.1

Patch Changes

  • 0d21c46: Restore shell for windows

7.2.0

Minor Changes

Patch Changes

  • 357be7e: Store full package manager info from detectPackageManager()
  • 8666788: Fix Husky precommit hook

7.1.5

Patch Changes

  • c8fdacf: fix: detectLinter() doesn't walk up directory tree, Breaks monorepo subdirectory usage
  • c79c3b0: Fix lefthook file configuration
  • 4b9d206: Make useBlockStatements fix safe
  • 8e9e728: Add support for NestJS
  • d0ae8f3: Fix: Biome removes all imports in Svelte files on save instead of organizing them

7.1.4

Patch Changes

  • 34c79bb: Fix conflicting oxlint rules

7.1.3

Patch Changes

  • c60533d: Fix oxlint import/consistent-type-specifier-style

7.1.2

Patch Changes

  • 9d443b6: Fix func-style config in oxlint
  • 3d9b488: Fix: argument --unsafe cannot be used multiple times in this context
  • f06808f: Don't pass options to formatters, only linters

7.1.1

Patch Changes

  • 0e9af01: Automatically add scripts to root package.json
  • 656f6d7: fix(oxlint-remix): ignore unicorn rules for generated routeTree.gen.ts

7.1.0

Minor Changes

  • c201da4: Switch to commander.js, fix multiple agents args
  • e022697: Add support for all provider flags

Patch Changes

  • 64e79c7: fix(eslint): fix eslint rules config
  • a5ae91c: fix(eslint): Remove eslint-plugin-tailwindcss due to v4 incompatibility
  • 5c349a9: Enable tsconfig.json to have comments

7.0.12

Patch Changes

  • f328fc6: Update nypm to remove dependency on corepack
  • 6f638fa: Fix error message when exiting with code 1
  • f328fc6: Fix eslint dependencies during initialization
  • f328fc6: Allow comments in json files

7.0.11

Patch Changes

  • 79d2756: fix: exit with code 1 when check/fix finds errors
  • c032612: Fix: Parser Errors on .jsonc Files Due to Comments
  • a556651: Move oxlint to optionalDependencies or peerDependencies

7.0.10

Patch Changes

  • a7b34ed: Add Vercel Agent support
  • b6658ce: Add Claude Code hook integration to run ultracite fix after Write/Edit tool usage.

7.0.9

Patch Changes

  • 95dd898: Disable sort-imports in favor of oxfmt
  • c72d2b3: Disable react/jsx-max-depth
  • 2ae8976: Disable typescript/require-await

7.0.8

Patch Changes

  • a9efe80: Add Cursor CLI as agent
  • 00fb477: Add support for Mistral Vibe

7.0.7

Patch Changes

  • ea7a6dc: Fix oxlint import path
  • a6e43a0: Add more CLI options for oxlint, oxfmt and biome
  • ad52a16: Fix linter provider mention in agent rules

7.0.6

Patch Changes

7.0.5

Patch Changes

  • ab47642: add --type-aware and --type-check flags for oxlint

7.0.4

Patch Changes

7.0.3

Patch Changes

7.0.2

Patch Changes

  • 246c1fc: Update docs and README Remove catalog dependencies

7.0.1

Patch Changes

7.0.0

Major Changes

  • c4a205f: Remove i18n docs
  • c4a205f: Remove custom reporter
  • c4a205f: Scaffold support for ESLint and Oxlint
  • c4a205f: Add support for Amazon Q, Crush, Firebender, OpenCode, Qwen and Trae
  • c4a205f: Move biome config under biome

Patch Changes

  • 5538022: Increase max allowed complexity
  • 5508d47: Remove GraphQL override that disables formatter/linter
  • e1b6be6: Fix undefined input to fix command
  • 618ae17: Fix changesets
  • Updated dependencies [c4a205f]
    • @repo/data@2.0.0

Install in seconds. Run in milliseconds.

Install Ultracite and start shipping code faster in seconds.

$