Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
oxc-project avatar

Migrate Oxfmt

  • 3.2k installs
  • 22.2k repo stars
  • Updated August 5, 2026
  • oxc-project/oxc

migrate-oxfmt is an agent skill that migrates JavaScript or TypeScript projects from Prettier or Biome to Oxfmt using automated --migrate commands and config review steps.

About

migrate-oxfmt guides migration from Prettier or Biome to Oxfmt, a high-performance Prettier-compatible formatter from the Oxc project. Step one runs npx oxfmt@latest --migrate prettier or --migrate biome to create .oxfmtrc.json, migrate ignore patterns, map Biome formatter options, and detect tailwind or package.json plugins. The skill documents unsupported Prettier options, printWidth defaults, manual overrides conversion, nested config consolidation, and Oxfmt-only extensions such as sortImports and sortTailwindcss. Step four replaces CI and package scripts with oxfmt and oxfmt --check equivalents for write and check modes, including stdin and list-different flags. Tips cover EditorConfig precedence, oxfmt --lsp editor integration, schema autocompletion, and delegated formatting for CSS, HTML, YAML, and Markdown via internal Prettier when using npx oxfmt. Developers trigger migrate-oxfmt when asked to migrate, convert, or switch a JavaScript or TypeScript project's formatter from Prettier or Biome to Oxfmt without hand-translating every rule.

  • Runs npx oxfmt@latest --migrate prettier or --migrate biome for automated config conversion.
  • Creates .oxfmtrc.json with migrated ignorePatterns and Biome-to-oxfmt option mapping tables.
  • Documents unsupported Prettier options and manual overrides that cannot auto-migrate.
  • Covers sortTailwindcss, sortImports, and sortPackageJson Oxfmt extensions beyond Prettier.
  • Maps CI commands from prettier --check and biome format to oxfmt --check equivalents.

Migrate Oxfmt by the numbers

  • 3,152 all-time installs (skills.sh)
  • +110 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #170 of 2,245 Frontend Development skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

migrate-oxfmt capabilities & compatibility

Capabilities
automated prettier and biome config migration · oxfmt extension configuration guidance · ci and script command replacement
Use cases
frontend
From the docs

What migrate-oxfmt says it does

npx oxfmt@latest --migrate prettier
SKILL.md
Oxfmt is a high-performance, Prettier-compatible code formatter.
SKILL.md
npx skills add https://github.com/oxc-project/oxc --skill migrate-oxfmt

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs3.2k
repo stars22.2k
Security audit2 / 3 scanners passed
Last updatedAugust 5, 2026
Repositoryoxc-project/oxc

How do I switch my JS/TS repo formatter from Prettier or Biome to Oxfmt without manually rewriting every config option?

Automatically convert an existing JavaScript or TypeScript project from Prettier or Biome configuration to Oxfmt.

Who is it for?

Teams adopting Oxfmt who need automated Prettier or Biome config translation plus CI script updates.

Skip if: Skip for non-JavaScript projects or repos that only need one-off formatting without changing the primary formatter.

When should I use this skill?

User asks to migrate, convert, or switch from Prettier or Biome to Oxfmt in a JavaScript or TypeScript project.

What you get

Generated .oxfmtrc.json, migrated ignore patterns, reviewed overrides, and updated format scripts and CI checks using oxfmt.

  • Oxfmt configuration
  • Migrated formatter settings

By the numbers

  • Supports 2 migration sources: Prettier and Biome

Files

SKILL.mdMarkdownGitHub ↗

This skill guides you through migrating a JavaScript/TypeScript project from Prettier or Biome to Oxfmt.

Overview

Oxfmt is a high-performance, Prettier-compatible code formatter. Most Prettier options are supported directly.

An automated migration tool is built into oxfmt, supporting both Prettier and Biome as migration sources.

Step 1: Run Automated Migration

From Prettier

npx oxfmt@latest --migrate prettier

This will:

  • Find and read your Prettier config (any format Prettier supports)
  • Create .oxfmtrc.json with migrated options
  • Migrate .prettierignore patterns to ignorePatterns
  • Migrate prettier-plugin-tailwindcss options to sortTailwindcss
  • Detect prettier-plugin-packagejson and enable sortPackageJson

From Biome

npx oxfmt@latest --migrate biome

This will:

  • Find and read biome.json or biome.jsonc
  • Create .oxfmtrc.json with migrated options
  • Migrate negated patterns from files.includes to ignorePatterns
  • Map Biome's two-level config (formatter.* and javascript.formatter.*) to oxfmt options

Biome option mapping:

Biomeoxfmt
formatter.indentStyle ("tab"/"space")useTabs (true/false)
formatter.indentWidthtabWidth
formatter.lineWidthprintWidth
javascript.formatter.quoteStylesingleQuote
javascript.formatter.jsxQuoteStylejsxSingleQuote
javascript.formatter.quoteProperties ("asNeeded")quoteProps ("as-needed")
javascript.formatter.trailingCommastrailingComma
javascript.formatter.semicolons ("always"/"asNeeded")semi (true/false)
javascript.formatter.arrowParentheses ("asNeeded")arrowParens ("avoid")
formatter.bracketSameLinebracketSameLine
formatter.bracketSpacingbracketSpacing
formatter.attributePosition ("multiline")singleAttributePerLine (true)

Notes (both sources):

  • Fails if .oxfmtrc.json already exists. Delete it first if you want to re-run.
  • If no source config is found, creates a blank .oxfmtrc.json instead.
  • overrides cannot be auto-migrated for either source and must be converted manually.

Step 2: Review Generated Config

After migration, review the generated .oxfmtrc.json for these key differences:

printWidth

Prettier and Biome default is 80, oxfmt default is 100. The migration tool sets printWidth: 80 if not specified in your source config. Decide whether to keep 80 or adopt 100.

Unsupported Options (Prettier only)

These Prettier options are skipped during migration:

OptionStatus
endOfLine: "auto"Not supported. Use "lf" or "crlf" explicitly
experimentalTernariesNot supported in JS/TS files yet
experimentalOperatorPositionNot supported in JS/TS files yet

sortPackageJson (Prettier only)

Enabled by default in oxfmt, but the migration tool disables it unless prettier-plugin-packagejson was detected. Review whether you want this enabled.

Note: Oxfmt's sorting algorithm differs from prettier-plugin-packagejson.

embeddedLanguageFormatting (Prettier only)

Embedded language formatting (e.g., CSS-in-JS) generally works, but some formatting may differ from Prettier.

overrides

The overrides field cannot be auto-migrated from either Prettier or Biome. Convert manually:

{
  "overrides": [
    {
      "files": ["*.md"],
      "options": { "tabWidth": 4 }
    }
  ]
}

Nested Config

Oxfmt does not support nested configuration files (e.g., a separate .oxfmtrc.json in a subdirectory). If your project used per-directory Prettier or Biome configs, consolidate them using overrides with file glob patterns, or run oxfmt separately per directory with different working directories.

Prettier-Compatible Options

These options transfer directly with the same behavior: tabWidth, useTabs, semi, singleQuote, jsxSingleQuote, quoteProps, trailingComma, arrowParens, bracketSpacing, bracketSameLine, endOfLine, proseWrap, htmlWhitespaceSensitivity, singleAttributePerLine, vueIndentScriptAndStyle

Step 3: Configure Oxfmt Extensions

Oxfmt offers features not available in Prettier:

sortImports

Sort import statements, inspired by eslint-plugin-perfectionist/sort-imports (disabled by default):

{
  "sortImports": {
    "partitionByNewline": true,
    "newlinesBetween": false
  }
}

sortTailwindcss

Replaces prettier-plugin-tailwindcss. Auto-migrated with renamed options:

Prettier (top-level)oxfmt (sortTailwindcss.*)
tailwindConfigconfig
tailwindStylesheetstylesheet
tailwindFunctionsfunctions
tailwindAttributesattributes
tailwindPreserveWhitespacepreserveWhitespace
tailwindPreserveDuplicatespreserveDuplicates

Other Extensions

OptionDefaultDescription
insertFinalNewlinetrueWhether to add a final newline at end of file
sortPackageJsontrueSort package.json keys. Set { "sortScripts": true } to also sort scripts

Step 4: Update CI and Scripts

Replace formatter commands with oxfmt:

# Before (Prettier)
npx prettier --write .
npx prettier --check .

# Before (Biome)
npx biome format --write .
npx biome check .

# After
npx oxfmt@latest
npx oxfmt@latest --check

Common CLI Options

Prettier / Biomeoxfmt
prettier --write . / biome format --write .oxfmt (default: cwd, --write mode)
prettier --check . / biome check .oxfmt --check
prettier --list-different .oxfmt --list-different
prettier --config pathoxfmt --config path
prettier --ignore-path .prettierignoreoxfmt --ignore-path .prettierignore
`cat file \prettier --stdin-filepath=file.ts`

File Type Coverage

  • JS/TS: Formatted natively by oxfmt
  • TOML: Formatted natively (via taplo)
  • CSS, HTML, YAML, Markdown, GraphQL, etc.: Delegated to Prettier internally (when using npx oxfmt)

Tips

  • EditorConfig: Oxfmt reads .editorconfig automatically for useTabs, tabWidth, endOfLine, insertFinalNewline, and printWidth. Options in .oxfmtrc.json take precedence.
  • CI: Use npx oxfmt@latest --check to enforce formatting in CI.
  • LSP: Run oxfmt --lsp for editor integration via Language Server Protocol.
  • Schema support: Add "$schema": "./node_modules/oxfmt/configuration_schema.json" to .oxfmtrc.json for editor autocompletion.
  • Init: Run npx oxfmt@latest --init to create a default .oxfmtrc.json without migration.

References

Related skills

FAQ

What command migrates from Prettier?

npx oxfmt@latest --migrate prettier reads the Prettier config and writes .oxfmtrc.json with migrated options.

Can overrides migrate automatically?

No. overrides from Prettier or Biome must be converted manually into oxfmt override blocks.

How do CI check commands change?

Replace prettier --check or biome check with oxfmt --check after migration.

Is Migrate Oxfmt safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Frontend Developmentfrontendintegrations

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.