client-old/
registry/

# Generated by the package manager, and reformatting it would produce a file pnpm did not write.
# A generated application has none of the directories above but does have this one, which is why
# this file ships in the package: without it `pnpm format:check` fails on a freshly created app.
pnpm-lock.yaml

# Generated by `pnpm nocobase collections generate`: one JSON artifact per Collection plus a `_manifest.json`, written through
# a stable serializer so that `pnpm nocobase collections generate --check` can regenerate them and compare byte for byte.
# Prettier collapses their short arrays and objects onto single lines, which makes that check report the artifacts as
# out of date when nothing about the schema changed.
database/*/collections/

# Migrations and seeds are recorded with a checksum of their source when they run, and an installation never runs one
# twice. Once merged they are history: reformatting one changes no schema, yet it changes the checksum every existing
# installation recorded and warns each of them on the next `pnpm nocobase db apply`.
database/*/migrations/
database/*/seeds/

# Synchronized by `pnpm nocobase skills sync` from the installed NocoBase packages: `.agents/skills/` is copied from them and
# `.claude/skills/` holds symbolic links into it. They are upstream prose, replaced wholesale on the next sync, so
# formatting them rewrites files this application does not own and the change disappears anyway. `.gitignore` lists
# both, but a `--ignore-path` run replaces `.gitignore` rather than adding to it, so they are named here as well.
# `.agents/rules/` is the application's own guidance and is formatted like any other document.
.agents/*
!.agents/rules/
.claude/skills/

# Internal packages run their own formatting through check:packages.
packages/
