Skip to main content

Context

apps/console is the operator and admin surface for Stackra (0023). It sits behind sign-in, needs no search indexing and no server rendering, and ships as static assets. The public landing site has different needs and is decided separately (0057).

Decision

  1. @stackra/console is a client-rendered Vite + React single-page app. No server-side rendering and no Node server in the app.
  2. Its audience is operators and admins, not end customers; customer-facing screens belong to products.
  3. Routing, data, forms and UI follow 0053, 0054, 0055 and 0056.
  4. Browser support is evergreen, Safari 17 and newer. No legacy transpilation targets.
  5. The build output is static files served from Cloudflare (0063).

Consequences

  • Simple build and hosting; no SSR hydration concerns in the console.
  • The console cannot be indexed; that is intended.
  • Session handling stays in the identity service; the SPA holds only client-side state and API tokens.

Enforcement

Planned — a validate-repository.mjs check that apps/console declares no SSR framework dependency, and CI building it with vite build.

Supersedes and sources

Supersedes: none. Sources: owner decision in chat, 2026-10-19.