Skip to content

.cursorrules and contribute.md still teach yarn — missed by the pnpm migration (#2069) #2219

Description

@NieZhuZhu

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).

No activity

Activity on this issue will appear here.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions