Rewrites CLAUDE.md as the current-architecture reference, drops the registry from INSTALL/PRODUCT/DESIGN and the web README, deletes the registry Dockerfile, and marks the dated design specs superseded where they describe the registry, JWT auth, or cross-host attach. The installer loses its configure step — every config field now has a default, so a daemon starts with no config file at all.
3.3 KiB
Product
Register
product
Users
A single technical operator (a developer) managing every interactive shell and agent — Claude Code, opencode, plain bash — running on a machine. The job-to-be-done: from any device (laptop, desktop, phone), get an accurate at-a-glance picture of all live sessions on that host, then attach to one and drive its terminal. Usage is often glance-and-go: checking on a long-running agent, killing a stray session, or hopping into a shell mid-task. Mobile-first is a hard requirement — touch targets, viewport-fit safe areas, and bottom-sheet modals already reflect this.
Product Purpose
Maestro is a terminal-session orchestrator: one place to see and attach to every interactive session running on a machine. tmux for persistence, WebSocket for transport, one daemon per host. The web UI is the browser face of that system — it renders the session catalog and provides the attach terminal (xterm.js). Success = the operator trusts the picture is accurate and current, and can get from "open the page" to "typing in the right session" in seconds, on any device.
Brand Personality
Three words: precise, calm, alive. This is infrastructure tooling — it must read as trustworthy and exact, never toy-like — but it watches living processes, so status must feel present and current, not static. Voice is terse and technical, matching the CLI and the repo's terse house style. It is a craftsman's tool: opinionated, monospace-literate, with quiet personality rather than decoration. Emotional goals: in control / confident, fast / efficient, calm / uncluttered, with earned moments of delight.
Anti-references
- Generic Tailwind-admin / SaaS-cream dashboards.
- Heavy gradients, glassmorphism, glass cards as decoration.
- Playful, rounded, "friendly app" aesthetics that undercut the infrastructure-tool trust.
- Whitespace-maximalist layouts that trade away the at-a-glance scan for "elegance."
- Anything where you could guess the design from the category alone ("terminal tool → CRT-green-on-black novelty"): the orchestrator identity is earned through restraint, not costume.
Design Principles
- The scan is the product. Optimize for instant comprehension of "what's running, where, and is it healthy" across many sessions. Status legibility beats everything else.
- Calm under load. Stay uncluttered whether there are 3 sessions or 300; hierarchy and grouping carry the weight, not color-shouting every row.
- Fast and keyboard-literate. Low-friction, efficient, gets out of the way; honor keyboard navigation, don't make the operator hunt.
- Monospace as identity. Treat the mono/sans pairing as deliberate brand typography, not just terminal output. Ids, paths, counts, and state read as precise technical data.
- Earned delight. Personality lives in motion and micro-detail (live-status pulse, attach transitions, cursor cues), never in noise — always craft.
Accessibility & Inclusion
Standard good practice, applied rigorously: WCAG AA contrast for all text and
status, visible keyboard focus on every interactive element, and a full
prefers-reduced-motion alternative for every animation. Status must never rely
on color alone (pair the dot with a label/shape). Dark and light themes are
equal citizens, driven entirely by CSS custom-property tokens.