Dependency Management (pnpm Standard)
Policy
Claustrum uses pnpm as the official package manager.
Rules:
- Use
pnpmfor install/run/update. - Commit
pnpm-lock.yaml. - Do not commit
package-lock.jsonoryarn.lock. - CI must use
pnpm install --frozen-lockfile. - Do not run
npm installin this repository.
Why pnpm
- Deterministic workspace installs via a single lockfile.
- Fast, disk-efficient dependency storage.
- Better monorepo workflow with recursive commands.
Lockfile Policy
Required:
pnpm-lock.yamlis source-controlled.
Forbidden:
package-lock.jsonyarn.lock
If an npm lockfile appears accidentally, remove it and reinstall with pnpm.
Workspace Layout
pnpm-workspace.yaml:
packages:
- "apps/*"
- "packages/*"
Root Commands
pnpm dev→pnpm -r devpnpm build→pnpm -r buildpnpm lint→pnpm -r lintpnpm test→pnpm -r test
CI Rules
CI must run:
- Setup pnpm + Node
pnpm install --frozen-lockfilepnpm lintpnpm buildpnpm test
Local Development
pnpm install
pnpm dev
Use package filters when needed:
pnpm --filter @claustrum/memory-core dev
pnpm --filter @claustrum/admin-ui build
Guardrails
.npmrc enforces:
engine-strict=true
auto-install-peers=true