Compares code formatting and formatting IR between Biome and Prettier to ensure that Biome's formatting is consistent and correct.
Install
npx skillscat add biomejs/biome/prettier-compare Install via the SkillsCat registry.
SKILL.md
Purpose
Use packages/prettier-compare/ to inspect any differences between Biome and Prettier formatting (including IR output) before shipping formatter changes.
Prerequisites
- Run every command from the repository root so relative paths resolve correctly.
- Use
bun(the CLI is a Bun script) and ensure dependencies have been installed. - Always pass
--rebuildso the Biome WASM bundle matches your current Rust changes.
Common workflows
Snippets passed as CLI args:
bun packages/prettier-compare/bin/prettier-compare.js --rebuild 'const x={a:1,b:2}'Force a language (useful when the tool cannot infer it from a filename):
bun packages/prettier-compare/bin/prettier-compare.js --rebuild -l ts 'const x: number = 1'Compare files on disk:
bun packages/prettier-compare/bin/prettier-compare.js --rebuild -f src/example.tsxRead from stdin (great for piping editor selections):
echo 'const x = 1' | bun packages/prettier-compare/bin/prettier-compare.js --rebuild -l jsTips
- Use
-l/--languagewhen formatting code without an extension so both formatters pick the correct parser. - Use
-f/--filefor large samples or snapshot tests so you can iterate directly on project fixtures. - Reference
packages/prettier-compare/README.mdfor deeper CLI details; mirror any updates here, keeping the hard requirement that commands include--rebuild. - Use single quotes for code snippets passed as CLI arguments to avoid shell interpretation issues.
- "\n" does not get escaped into a newline when passed as a CLI argument. You should write a literal newline or use a file instead.