What problem does it solve? Admin navigation menus often drift out of sync with route guards, causing items that are hidden in the menu but still reachable by URL, or duplicated declarations that diverge over time. This rule enforces a single declaration as the source of truth for both the menu and route gating. ## Core Features & Use Cases - Single Declaration Principle: One item declaration drives both the rendered menu and route access guards, preventing visibility/access mismatches. - Two-Layer Gating Model: Distinguishes gating by user rights from gating by section availability flags, with clear rules for items that have no screen yet. - Dependency Boundaries: Forbids the menu declaration from importing the application shell, keeping the module graph acyclic and lint-checkable. - Use Case: When adding a new admin section, follow the admin-nav-item pattern to declare the item, its route constant, rights, and localized captions in one consistent edit. ## Quick Start Load this rule when editing the menu declaration, app routes, or any admin routes file, then follow the admin-nav-item pattern to add a new section.