Last updated 2026-05-07
Web Dashboard
The dashboard is a Next.js (App Router) application under
platform/web/. It is the visual layer for the runner and
the stacked-diff workflow — list runs, stream logs, browse pull
requests with a Monaco-backed diff viewer, and review feature
documentation. It also exposes repo-backed secrets status, GitHub sync,
deployment-log configuration, workflow editing, artifacts, and audit views.
Stack
- Next.js App Router (a custom build — see
platform/web/AGENTS.mdfor breaking changes). - refraction-ui primitives for layout (sidebar + topbar shell), buttons, cards, dialogs.
- Tailwind with the same refraction-ui token system used by these docs.
- TanStack Query for server-state fetching and SSE handling.
- Monaco Editor (the engine that powers VS Code) for the diff viewer.
- A built-in theme system: 5 schemes × light/dark/system, persisted across all pages.
Launching
# From the CLI (preferred)stax dashboard # opens http://localhost:3000
# Manuallycd platform/webpnpm installpnpm devHow it talks to the runner
The dashboard never reads runner data directly from the browser.
Instead, server-side /api/* routes proxy to:
- The local runner on
:4800for runs, workflows, secrets, SSE. - The
ghCLI for PR metadata and review state. - git for blob and diff content.
- The workspace for repo-backed secrets metadata, feature docs, screenshots, and local sync logs.
browser ── HTTP ──▶ Next.js server (:3000) ── HTTP ──▶ runner (:4800) └── child_process ──▶ gh / gitKey views
- Home — recent runs and quick-link tiles.
- Runs — list and detail views with live logs over SSE.
- Pull Requests — list of open PRs and a Monaco-backed diff/review screen.
- Features — one card per feature with optional video and screenshot artifacts (from video-capture).
- Diffs — drill into a single stacked diff, approve or reject, view per-file diffs.
- Secrets — inspect the committed SOPS + age store, verify it, list recipients, and sync decrypted values to the runner mirror.
- Issues — configure GitHub sync and production deployment logging to a GitHub issue.
- Workflows — list and edit workflow YAML discovered by the runner.
Continue reading
- Routes & features — every page and API route.
- Connecting to the runner — SSE, CORS, custom hosts.