What problem does it solve? TypeScript monorepos often leak internal implementation details because any file can import any other file, making packages shallow and tightly coupled. This Skill wires dependency-cruiser into a repo so each package becomes a deep module: implementation hidden in subfolders, reachable only through entry-point files at the package root. ## 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 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/ monorepo wants to stop cross-package deep imports like import x from "other-pkg/lib/impl"; this Skill installs the rules, adds a lint:boundaries script to the existing check command, and documents the convention in the packages README. ## Quick Start Ask the agent to set up deep-module import boundaries with dependency-cruiser for this TypeScript repo and prove the rules fail on a deep import.