What problem does it solve? It resolves confusion about where new SPA routes, layouts, and page components belong by enforcing a strict roots-vs-features split between src/routes/ and src/features/. ## Core Features & Use Cases - Route placement rules: Defines exactly which thin files (layouts, page entries, dynamic segments) belong in src/routes/ and which domain logic belongs in src/features/. - Shared desktop router guidance: Explains how to register common Web/Electron routes once in desktopRouter.shared.tsx while keeping the two platform adapter configs thin. - Skeleton registration: Requires every lazy route to register a RouteSegmentSkeleton via handle.meta so loading states never render blank panes. - Use Case: When adding a new settings page, create thin segment files under src/routes/(main)/settings/, implement the UI in src/features/Settings/, register the route in desktopRouter.shared.tsx, and attach a surface skeleton. ## Quick Start Ask the agent to add a new SPA route for a feature and have it place the thin route files, feature implementation, router registration, and skeleton in the correct locations.