npx skills add ...
npx skills add nrwl/nx-ai-agents-config --skill link-workspace-packages
Link workspace packages in monorepos (npm, yarn, pnpm, bun). USE WHEN: (1) you just created or generated new packages and need to wire up their dependencies, (2) user imports from a sibling package and needs to add it as a dependency, (3) you get resolution errors for workspace packages (@org/*) like "cannot find module", "failed to resolve import", "TS2307", or "cannot resolve". DO NOT patch around with tsconfig paths or manual package.json edits - use the package manager''s workspace commands to fix actual linking.
npx skills add nrwl/nx-ai-agents-config --skill link-workspace-packages
Add dependencies between packages in a monorepo. All package managers support workspaces but with different syntax.
Check whether there's a packageManager field in the root-level package.json.
Alternatively check lockfile in repo root:
pnpm-lock.yaml → pnpmyarn.lock → yarnbun.lock / bun.lockb → bunpackage-lock.json → npmnode_modules/Uses workspace: protocol - symlinks only created when explicitly declared.
Result in package.json:
Also uses workspace: protocol.
Result in package.json:
No workspace: protocol. npm auto-symlinks workspace packages.
Result in package.json:
npm resolves to local workspace automatically during install.
Supports workspace: protocol (pnpm-compatible).
Result in package.json:
Example 1: pnpm - link ui lib to app
Example 2: npm - link multiple packages
Example 3: Debug "Cannot find module"
package.jsonpnpm install, npm install, etc.)<consumer>/node_modules/@org/<package>node_modulesnode_modules)package.json should have "private": true to prevent accidental publishyarn workspace @org/app add @org/ui{ "dependencies": { "@org/ui": "workspace:^" } }npm install @org/ui --workspace @org/app{ "dependencies": { "@org/ui": "*" } }cd packages/app && bun add @org/uipnpm add @org/ui --filter @org/app --workspacenpm install @org/data-access @org/ui --workspace @org/dashboard