What problem does it solve? Designed module boundaries in a growing React/Next/TypeScript codebase erode when code imports past a feature's public entry point into its private internals, and no one catches it in review. This Skill wires dependency-cruiser so that shallow cross-layer imports become hard lint errors instead of silent architecture rot. ## Core Features & Use Cases - Boundary rule enforcement: Installs a dependency-cruiser config where each feature folder's root files are public entry points and subfolders are private, blocking outside and cross-module imports of internals. - Two modes: A scrappy single-rule setup for one eroding seam, or a full rigor setup with layering rules, an example module, and documentation. - Solo-first wiring: Folds the lint:boundaries check into the existing local check script or pre-commit hook, adding CI only when a pipeline already exists. - Use Case: A page component imports @/features/bookings/lib/queries directly; after setup, lint:boundaries fails with an entrypoint-boundary-from-outside error until the import goes through the feature's public entry point. ## Quick Start Set up dependency-cruiser boundary enforcement for my Next.js app's src/features modules and prove the rules fail on a shallow cross-layer import.