Dashboard
The Shipwright dashboard provides a real-time web interface for monitoring pipeline progress, agent activity, daemon status, and DORA metrics. It uses WebSocket connections for live updates.
Prerequisites
The dashboard requires Bun runtime:
curl -fsSL https://bun.sh/install | bashStarting the Dashboard
# Foreground (see logs in terminal)shipwright dashboard
# Background (runs in detached mode)shipwright dashboard start
# Stop background dashboardshipwright dashboard stopThe dashboard runs on http://localhost:8767 by default.
Features
Pipeline Monitoring
View real-time progress for all active pipelines:
- Current stage and elapsed time per stage
- Self-healing cycle status
- Build agent output
- Test results and coverage
- Review findings
Agent Activity
Track all running Claude Code agents:
- Heartbeat status (alive, stale, dead)
- Current task and iteration count
- Token usage per agent
- Session mapping (which tmux pane)
Daemon Status
Monitor the autonomous daemon:
- Active jobs and queue depth
- Worker utilization and auto-scaling decisions
- Issue triage scores
- Recent completions and failures
DORA Metrics
Live DORA/DX metrics dashboard:
- Lead Time — time from issue creation to PR merge
- Deployment Frequency — pipelines completed per day
- Change Failure Rate — percentage of pipelines that fail
- Mean Time to Recovery — time from failure to successful retry
Predictions
When the intelligence layer is enabled, the dashboard displays prediction data for active pipelines:
- Predicted completion time
- Success probability
- Estimated cost
- Risk factors for each stage
This data comes from the predictive analytics module. See the Intelligence guide for configuration.
Architecture
The dashboard consists of:
| Component | Location | Purpose |
|---|---|---|
| Server | dashboard/server.ts | Bun WebSocket server, reads pipeline state and events |
| Frontend | dashboard/public/ | HTML/CSS/JS single-page application |
| Events | ~/.shipwright/events.jsonl | JSONL event stream consumed by the server |
| State | .claude/pipeline-state.md | Pipeline state file polled for updates |
| Heartbeats | ~/.shipwright/heartbeats/ | Agent liveness data |
The server watches the events file and pipeline state for changes, pushing updates to connected clients via WebSocket.
Configuration
The dashboard reads from standard Shipwright configuration locations. No additional configuration is required beyond having a running pipeline or daemon.
To change the port:
PORT=8080 shipwright dashboard