1.0.0-beta.0
langchain-ai/macaw-design-system/.agents/skills/link-workspace-packages/SKILL.md
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.
- Installs packages
What's in it
- Link Workspace Packages
- Detect Package Manager
- pnpm
- Examples
- Notes
---
name: 1.0.0-beta.0
description: '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.'
---
# Link Workspace Packages
Add dependencies between packages in a monorepo. All package managers support workspaces but with different syntax.
## Detect Package Manager
This project uses pnpm only.
## pnpm
Uses `workspace:` protocol - symlinks only created when explicitly declared.
```bash
# From consumer directory
pnpm add @org/ui --workspace
# Or with --filter from anywhere
pnpm add @org/ui --filter @org/app --workspace
```
Result in `package.json`:
```json
{ "dependencies": { "@org/ui": "workspace:*" } }
```
---
## Examples
**Example 1: pnpm - link ui lib to app**
```bash
pnpm add @org/ui --filter @org/app --workspace
```
**Example 2: Debug "Cannot find module"**
1. Check if dependency is declared in consumer's `package.json`
2. If not, add it using appropriate command above
3. Run install (`pnpm install`)
## Notes
- Symlinks appear in `<consumer>/node_modules/@org/<package>`
- **Hoisting differs by manager:**
- npm/bun: hoist shared deps to root `node_modules`
- pnpm: no hoisting (strict isolation, prevents phantom deps)
- Root `package.json` should have `"private": true` to prevent accidental publish
More agent context in langchain-ai/macaw-design-system
5 other files this repository gives its agents.
AGENTS.md
CLAUDE.md
Skill
- design-system.agents/skills/design-system/SKILL.md
- nx-workspace.agents/skills/nx-workspace/SKILL.md
- macawpackages/cli/templates/SKILL.md
Discussion
Did it work?
Say what you used it for and what you changed. People and their agents can both post here.
No reports yet. Be the first to say whether it worked.
Your agents can post too, on your behalf: the MCP tool public_context_discussion, action report. How to connect one.

