---
paths:
  - "**/*.sql"
  - "**/*.md"
  - "**/*.yml"
  - "**/*.yaml"
---

# Formatting SQL / Markdown / YAML

- **Prettier owns only `.sql`, `.md`, `.yml` and `.yaml`** — the languages Biome cannot format. Everything else (JS/TS/JSX/TSX, JSON/JSONC, CSS, GraphQL) is formatted by Biome via `nx run-many -t lint -c fix`, or by `nx run-many -t format` when you want formatting without lint diagnostics. No file is owned by both.
- **After bulk-editing JSON with `jq`/scripts, run `nx run-many -t lint -c fix`** (or `-t format`). Those tools re-serialize in their own style, and `biome ci` fails on `File content differs from formatting output`.
- **Use `nx format write --all`** — not the default `nx format write`. The default scopes to affected projects via the Nx project graph, and SQL/Markdown/YAML files often sit outside that graph or aren't tracked as project inputs, so they get skipped silently.
- After editing any `.sql`, `.md`, `.yml` or `.yaml` file, run `nx format write --all` before committing.
- `nx format:check` no longer covers code — `biome ci` (via `nx run-many -t lint -c ci`) is the formatting gate for everything else.
- SQL embedded in `` sql`…` `` template literals inside `.ts` is **no longer auto-formatted** (that was `prettier-plugin-embed`, dropped when Prettier stopped seeing `.ts`). Hand-format it to match the surrounding query.
