---
changelog:
  category: Release
  version: ultracite@7.12.0
date: '2026-09-15T03:31:29Z'
seo:
  description: >-
    Add an opt-in ultracite/oxlint/shadcn preset for @shadcn/lint, shadcn's
    agent-first linter for Tailwind v4 design systems. All six rules
    (no-restyle…
title: ultracite@7.12.0
type: changelog
---
### Minor Changes

- 1f427d7: Add an opt-in `ultracite/oxlint/shadcn` preset for [`@shadcn/lint`](https://github.com/shadcn-ui/lint), shadcn's agent-first linter for Tailwind v4 design systems. All six rules (`no-restyle`, `no-raw-colors`, `no-arbitrary-values`, `no-inline-styles`, `no-unknown-classes`, `require-static-classes`) run at `error` with the upstream `allow: ["layout"]` policy, and the component-authoring rules are relaxed inside `**/components/ui/**`. Enable it with `ultracite init --linter oxlint --js-plugins @shadcn/lint`, or extend it alongside `ultracite/oxlint/core` after installing `@shadcn/lint`.

### Patch Changes

- 600e991: Accept file-based page route filenames in `github/filenames-match-regex`. Files under `pages/` (Astro, Next.js pages router) now match a bracket-aware pattern, so dynamic, rest and optional parameters such as `[slug].astro`, `[...slug].ts` and `[[...slug]].tsx` pass while non-route names like `BadPage.ts` are still rejected.
- 66f97bb: Allow top-level `return` in Astro frontmatter. The core preset now turns off `unicorn/prefer-module` for `**/*.astro` files (the rule cannot be configured to allow only `return`), and keeps `require()`, `module.exports`, `__dirname` and `__filename` flagged there via `import/no-commonjs` and `no-restricted-globals`.
