These independently runnable applications form one progressive Northstar operations workspace. Start with the client-rendered app, add SSR without rewriting it, then add the authenticated full-stack API, schema, action, and data platform.
spa/teaches routes, layouts, links, state, derived values,For/Show, icons, and theme components using deterministic local data.ssr-only/carries those application files forward and adds server rendering, a Vite server entry, Node serving, document composition, and hydration.api-ssr/keeps the public app recognizable and adds login, protected nested workspace routes, executable schemas, declared actions, authenticated APIs, queries, SSR prefetch, charts, dialogs, and Monaco policy editing.
The application UI leans on @askrjs/themes for layout, navigation, cards, stats, forms, empty states, and persisted color mode. The small example stylesheets contain only global defaults and feature-specific sizing.
| Stage | Routes and application UI carried forward | Files added at this stage |
|---|---|---|
| SPA | /, /activity, /*; operations layout and deterministic activity |
application/*, browser boot |
| SSR | All SPA application modules and styles byte-for-byte | server app, Vite server entry, production entry, hydrate-or-create boot |
| Full stack | SSR public data, layout, pages, and styles unchanged; public routes remain in place | protected workspace pages, schemas, actions, repositories, query registry, APIs, auth, metadata, i18n, telemetry, server prefetch |
Install and run all repository gates from this directory:
npm install
npm run check
npm run build
npm run test:browserapi-only/is the small server reference. Its health and user API patterns are reused directly byapi-ssr.ssg/generates public runbook pages, expands parameterized entries, emits metadata, and hydrates a small interactive control.
Every workspace can also be copied, installed, tested, and run from its own directory. Local file: dependencies point at sibling platform packages during platform development.
The examples intentionally exclude developer tools, databases and ORMs, identity-provider ownership, vendor deployment adapters, WebSockets, and proprietary telemetry backends. Those remain application or adapter choices, not hidden framework defaults.