Summary
The Yarn→pnpm migration (#2069, merged Jun 12) updated AGENTS.md, CLAUDE.md, app/AGENTS.md and removed the root .yarnrc.yml — but two files that also carry command instructions were missed and still teach yarn:
.cursorrules (auto-loaded by Cursor as agent instructions), in "Build & Deployment → Scripts" / "Dependencies":
- L147:
`yarn ios` / `yarn android` for platform-specific builds
- L148:
`yarn test` for Jest testing
- L149:
`yarn test:e2e:ios` / `yarn test:e2e:android` for E2E
- L153:
Yarn workspaces for monorepo management
(zero mentions of pnpm anywhere in the file's 190 lines)
contribute.md — L37 yarn format, L40 yarn lint, L43 yarn workspaces foreach …, and the PR checklist items L50–51 ("yarn lint passes" / "yarn format has been run").
Why it matters
These aren't incidental prose — they're the exact commands a Cursor/AI agent (or a new contributor following contribute.md) will actually run, and ground truth says they can't work as documented:
- root
package.json: "packageManager": "pnpm@11.7.0+…" (plus a lint:pnpm-version script enforcing it)
pnpm-lock.yaml at root; no yarn.lock anywhere in the repo
app/package.json's own ios / android / test scripts invoke pnpm … internally
app/AGENTS.md already teaches pnpm ios / pnpm test / … — so .cursorrules contradicts its sibling doc for the very same directory
An agent that loads .cursorrules is told to use a package manager the repo explicitly forbids (root AGENTS.md: "pnpm only … never use npm or yarn").
Suggested fix
.cursorrules L147–149: yarn → pnpm; L153: "Yarn workspaces" → "pnpm workspaces".
contribute.md: same substitution on the five lines above (the yarn workspaces foreach invocation would become the pnpm -r / pnpm --filter equivalent).
- Optional sweep while at it:
app/.yarnrc.yml and circuits/.yarnrc.yml look like inert pre-migration leftovers (no yarn.lock or packageManager: yarn anywhere references them).
I have the patch ready and am happy to open a PR against dev — filing an issue first because the contribution guide discourages docs-only PRs, and I'd rather let you decide whether agent-facing command docs fall under that policy or under "commands that don't work".
Disclosure
Found while validating ai-harness-doctor, a docs-vs-lockfile drift linter we maintain — mentioning for transparency. Everything above is verifiable directly from the cited files (checked at main HEAD 15b167e).
Summary
The Yarn→pnpm migration (#2069, merged Jun 12) updated
AGENTS.md,CLAUDE.md,app/AGENTS.mdand removed the root.yarnrc.yml— but two files that also carry command instructions were missed and still teachyarn:.cursorrules(auto-loaded by Cursor as agent instructions), in "Build & Deployment → Scripts" / "Dependencies":`yarn ios` / `yarn android` for platform-specific builds`yarn test` for Jest testing`yarn test:e2e:ios` / `yarn test:e2e:android` for E2EYarn workspaces for monorepo management(zero mentions of pnpm anywhere in the file's 190 lines)
contribute.md— L37yarn format, L40yarn lint, L43yarn workspaces foreach …, and the PR checklist items L50–51 ("yarn lintpasses" / "yarn formathas been run").Why it matters
These aren't incidental prose — they're the exact commands a Cursor/AI agent (or a new contributor following contribute.md) will actually run, and ground truth says they can't work as documented:
package.json:"packageManager": "pnpm@11.7.0+…"(plus alint:pnpm-versionscript enforcing it)pnpm-lock.yamlat root; noyarn.lockanywhere in the repoapp/package.json's ownios/android/testscripts invokepnpm …internallyapp/AGENTS.mdalready teachespnpm ios/pnpm test/ … — so.cursorrulescontradicts its sibling doc for the very same directoryAn agent that loads
.cursorrulesis told to use a package manager the repo explicitly forbids (rootAGENTS.md: "pnpm only … never use npm or yarn").Suggested fix
.cursorrulesL147–149:yarn→pnpm; L153: "Yarn workspaces" → "pnpm workspaces".contribute.md: same substitution on the five lines above (theyarn workspaces foreachinvocation would become thepnpm -r/pnpm --filterequivalent).app/.yarnrc.ymlandcircuits/.yarnrc.ymllook like inert pre-migration leftovers (no yarn.lock orpackageManager: yarnanywhere references them).I have the patch ready and am happy to open a PR against
dev— filing an issue first because the contribution guide discourages docs-only PRs, and I'd rather let you decide whether agent-facing command docs fall under that policy or under "commands that don't work".Disclosure
Found while validating ai-harness-doctor, a docs-vs-lockfile drift linter we maintain — mentioning for transparency. Everything above is verifiable directly from the cited files (checked at
mainHEAD 15b167e).