Read this when changing the React application, MUI components, routing, or frontend API calls.
main.jsx mounts StrictMode, MUI ThemeProvider, CssBaseline, and BrowserRouter.routes.jsx; feature pages live in features/<area>/.api/client.js is the only shared HTTP client. Route feature requests through it rather than direct fetch() calls.getSession() initializes in-memory CSRF state before protected mutations.credentials: 'include'; non-GET requests attach X-CSRF-Token only when a token is available.1 and the Inventory Monitor demo uses role ID 2.{id, name, description} records while user assignments use numeric role IDs.APPLICATION_BASE_PATH for internal application and static-asset paths so the /phengine deployment prefix is retained.className for layout and small visual adjustments.theme.js, including the custom navigation palette, typography families, and shared border radius; global CSS only imports Tailwind layers and sets root sizing/margins.AppShell derives top-level links and populated groups from the flat navigation payload, assigns known icons with a fallback icon, and selects entries from location.pathname.sx values for control sizing/alignment when a layout needs a breakpoint-specific adjustment..prettierrc specifies single quotes, semicolons, LF endings, no trailing commas, a 200-column print width, and 2-column indentation width. Existing files use tabs; preserve local formatting and do not reformat unrelated code.
See api-routes.md and integrations/browser-api.md.