App entry point
Every app extendsBaseBrowserApp. For the task tracker, register routes for the dashboard, task list, and task detail pages:
ProtectedRoute require authentication — unauthenticated users are redirected to /login. The title and description fields are used by the build pipeline to generate pages.json, which gives the AI agent awareness of the app’s page structure.
Page components
The routes above referenceTasksPage and TaskDetailPage — these are page components that live in src/web/pages/. Create the tasks list page:
src/web/pages/ and correspond to routes registered in App.tsx. Reusable UI elements shared across pages (headers, cards, layouts) go in src/web/components/ instead.
Authentication
Use theuseAuth hook to access user info and scopes:
UserMenu
Include theUserMenu component in your header. It provides the user avatar, organization switcher, admin links, and sign out:
System pages
systemRoutes() provides pre-built pages for login, admin, settings, monitoring, and docs — no app code required. For the full list, see the Routing reference.
For RouteConfig properties, dynamic routes, programmatic navigation, and scope-based route protection, see the Routing reference.
