What problem does it solve? TypeScript monorepos often suffer from leaky package boundaries where code imports deep into another package's internals, making refactors risky and coupling invisible. This Skill wires dependency-cruiser into a repo so every package becomes a deep module: implementation hidden in subfolders, reachable only through its root entry-point files. ## Core Features & Use Cases - Boundary rule installation: Copies a ready-made dependency-cruiser config with four error-level rules covering entry-point boundaries, intra-package freedom, tests-through-entrypoints, and cycle detection. - Environment detection: Detects the package manager (pnpm, yarn, bun, npm), the packages root (src/packages or packages), and merges rules into any existing dependency-cruiser config instead of overwriting it. - Proof the rules bite: Scaffolds an example package, then verifies the lint passes, fails on a deliberately added deep import, and passes again after reverting. - Use Case: A team adopting a packages/ layout wants to stop cross-package deep imports. Run this Skill to install the config, add a lint:boundaries script to the CI check command, scaffold a copy-me example package, and document the convention in the packages README and CLAUDE.md/AGENTS.md. ## Quick Start Ask the agent to set up deep-module boundaries with dependency-cruiser for the packages in this TypeScript repo.