Adds /dashboard, a cross-type overview answering "is anything wrong, and where" — the question no single-type page can answer today. /uptime shows uptime monitors, /infrastructure shows hardware, /incidents shows history; nothing joined them. Layout is a 12-column grid. Each card type declares a minimum width (4, 6, 8 or 12) in the registry; the grid stretches the last card of a short row to fill the remainder, capped at 8 so one card never balloons across a near-empty row. Declared width is never a user setting. grid-auto-flow: dense was tried and does not help — no card is small enough to backfill the gaps that occur in practice. Six cards ship as the default set: Monitor status the five fleet counts, server-computed Currently down the centrepiece: everything wrong now, worst first Failed checks failure rate over the last day Recent incidents latest five, with the open count Monitors by type composition, flagging types with something down Checkmate server the only card that works with zero monitors (admin) Cards 1-3 and 5 ride a single /monitors/team/with-checks call shared through context, so adding a monitor-derived card costs no extra request. Notes on the data: - Ordering in "Currently down" is down -> breached -> initializing, tied on longest downtime. That is ordering derived from existing fields, not a new severity scale — Checkmate has none, and inventing one would be a product decision dressed as a design choice. - The healthy state is deliberately quiet: one line, not a wall of green. - Failed checks ships the day range only. dateRange=week returns figures identical to day, so a range selector would silently lie. - Admin-only cards are hidden rather than disabled, and are filtered out of the selection entirely for non-admins. Card selection persists to localStorage, validated on read so a card removed in a later release cannot break the page. The picker and the remaining catalogue cards are not built yet. The Containers card from the spec is deliberately absent: it needs containerSummary on the check snapshot, which arrives with the Docker monitoring work. cards.ts records where it slots in. Claude-Session: https://claude.ai/code/session_01AbYLvwpEaZFXktHVcqrFRd
This directory contains the client side (frontend) of Checkmate.