# Link Workspace Packages > Enlaza paquetes de un mismo monorepo (npm, yarn, pnpm, bun) con los comandos de workspace de cada gestor, en vez de parchear con tsconfig paths o editar package.json a mano. Fuente: https://skillsagentes.com/skills/nrwl/nx-ai-agents-config/link-workspace-packages Markdown: https://skillsagentes.com/skills/nrwl/nx-ai-agents-config/link-workspace-packages.md Repositorio: https://github.com/nrwl/nx-ai-agents-config Autor: nrwl Licencia: MIT Actualizado: hace 6 meses Coste de contexto: 131 tok instalada, 762 tok al activarse, 762 tok con todos los archivos del bundle Bundle: 1 archivo, 3 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add nrwl/nx-ai-agents-config --skill link-workspace-packages --agent claude-code # Cursor npx -y skills add nrwl/nx-ai-agents-config --skill link-workspace-packages --agent cursor # Codex npx -y skills add nrwl/nx-ai-agents-config --skill link-workspace-packages --agent codex # Gemini CLI npx -y skills add nrwl/nx-ai-agents-config --skill link-workspace-packages --agent gemini # Windsurf npx -y skills add nrwl/nx-ai-agents-config --skill link-workspace-packages --agent windsurf # Cline npx -y skills add nrwl/nx-ai-agents-config --skill link-workspace-packages --agent cline ``` ## Qué hace - Añade dependencias entre paquetes de un monorepo (npm, yarn, pnpm, bun) usando la sintaxis de workspaces de cada gestor - Detecta el gestor de paquetes activo por el campo packageManager o el lockfile del repo - Genera el symlink correcto en node_modules del paquete consumidor - Da la sintaxis de enlace para pnpm, yarn (berry), npm y bun, con ejemplos por gestor ## Cuándo usarla - Se acaban de crear o generar paquetes nuevos y hay que enlazar sus dependencias - El usuario importa desde un paquete hermano y necesita añadirlo como dependencia - Aparecen errores de resolución de paquetes de workspace (@org/*) como "cannot find module", "failed to resolve import" o "TS2307" ## Qué la activa - "No encuentro el módulo @org/ui, ¿cómo lo enlazo?" - "Acabo de generar un paquete nuevo, enlaza sus dependencias" - "Tengo un error TS2307 al importar un paquete del workspace" ## Antes de instalar - Necesita un monorepo con workspaces configurados (npm, yarn, pnpm o bun) y su lockfile o el campo packageManager en el package.json raíz. - Necesita en el PATH: bun, npm, pnpm, yarn ## Archivos - SKILL.md — 3 KB ## SKILL.md Reproducido tal cual desde nrwl/nx-ai-agents-config bajo MIT. Esta sección es el documento original y está en inglés. # Link Workspace Packages Add dependencies between packages in a monorepo. All package managers support workspaces but with different syntax. ## Detect Package Manager Check whether there's a `packageManager` field in the root-level `package.json`. Alternatively check lockfile in repo root: - `pnpm-lock.yaml` → pnpm - `yarn.lock` → yarn - `bun.lock` / `bun.lockb` → bun - `package-lock.json` → npm ## Workflow 1. Identify consumer package (the one importing) 2. Identify provider package(s) (being imported) 3. Add dependency using package manager's workspace syntax 4. Verify symlinks created in consumer's `node_modules/` --- ## 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:*" } } ``` --- ## yarn (v2+/berry) Also uses `workspace:` protocol. ```bash yarn workspace @org/app add @org/ui ``` Result in `package.json`: ```json { "dependencies": { "@org/ui": "workspace:^" } } ``` --- ## npm No `workspace:` protocol. npm auto-symlinks workspace packages. ```bash npm install @org/ui --workspace @org/app ``` Result in `package.json`: ```json { "dependencies": { "@org/ui": "*" } } ``` npm resolves to local workspace automatically during install. --- ## bun Supports `workspace:` protocol (pnpm-compatible). ```bash cd packages/app && bun add @org/ui ``` 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: npm - link multiple packages** ```bash npm install @org/data-access @org/ui --workspace @org/dashboard ``` **Example 3: 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`, `npm install`, etc.) ## Notes - Symlinks appear in `/node_modules/@org/` - **Hoisting differs by manager:** - npm/bun: hoist shared deps to root `node_modules` - pnpm: no hoisting (strict isolation, prevents phantom deps) - yarn berry: uses Plug'n'Play by default (no `node_modules`) - Root `package.json` should have `"private": true` to prevent accidental publish ## Dónde encaja - Categoría: [Herramientas para desarrolladores](https://skillsagentes.com/categorias/herramientas-desarrollo.md) — Skills que cambian cómo tu agente escribe, revisa y despliega código. - Creador: [nrwl](https://skillsagentes.com/creators/nrwl.md) — 0 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) ## Otras skills del mismo repositorio - [Monitor Ci](https://skillsagentes.com/skills/nrwl/nx-ai-agents-config/monitor-ci.md): Supervisa el pipeline de CI de Nx Cloud y gestiona las correcciones de self-healing. Se prefiere sobre herramientas nativas de CI (gh, glab) porque accede al self-healing de Nx Cloud, algo que esas herramientas no pueden hacer. - [Nx Generate](https://skillsagentes.com/skills/nrwl/nx-ai-agents-config/nx-generate.md): Genera código con generadores de Nx. Se activa al mencionar scaffolding, crear apps o libs, o configurar la estructura del proyecto; se usa antes de explorar porque gestiona el descubrimiento internamente. - [Nx Workspace](https://skillsagentes.com/skills/nrwl/nx-ai-agents-config/nx-workspace.md): Explora y entiende workspaces de Nx. Se usa para responder preguntas sobre el workspace, proyectos o tareas, o cuando un comando nx falla y hay que revisar targets y configuración antes de ejecutar una tarea. - [Nx Import](https://skillsagentes.com/skills/nrwl/nx-ai-agents-config/nx-import.md): Importa, fusiona o combina repositorios en un workspace de Nx con `nx import`. Se usa para adoptar Nx entre repos, mover proyectos a un monorepo o traer código e historial de otro repositorio. - [Nx Run Tasks](https://skillsagentes.com/skills/nrwl/nx-ai-agents-config/nx-run-tasks.md): Ayuda a ejecutar tareas en un workspace de Nx. Se usa cuando el usuario quiere ejecutar build, test, lint, serve o cualquier otra tarea definida en el workspace. --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)