feat: Claude Code Monitor — lanes, pipelines and a merged workspace

Internal SmartGift build of a Claude Code monitoring dashboard.

Lanes: a durable unit of parallel agent work, one per working directory,
tracked across session restarts. Managed lanes are git worktrees the
dashboard provisions and can reset or remove behind a three-check destroy
guard and a counted preflight; adopted lanes are directories you already
own and are never destroyable.

Pipelines: a lane moves through pipeline stages. A stage the agent declares
with evidence renders green; a stage inferred from the tool-event stream
renders dashed amber and never counts as done. Detection is forward-only
within a 30-minute window, and never writes the declared stage.

Workspace: one page at /run with a lane grid, the selected lane's pipeline,
and a full Claude console behind a disclosure.
This commit is contained in:
2026-07-29 17:07:45 +07:00
commit 57dc91585d
783 changed files with 221743 additions and 0 deletions
+63
View File
@@ -0,0 +1,63 @@
{
"activityFeed": "Activity Feed",
"agentBoard": "Kanban Board",
"analytics": "Analytics",
"avg": "avg",
"brand": "Agent Dashboard",
"brandSub": "Claude Code Monitor",
"ccConfig": "Claude Config",
"checkFailed": "Update check failed",
"checkForUpdates": "Check for updates",
"checkingForUpdates": "Checking for updates...",
"close": "Close",
"collapse": "Collapse sidebar",
"collapseShort": "Collapse",
"connection": "Connection",
"connectionDetails": "Connection details",
"connectionUptime": "Connected",
"dashboard": "Dashboard",
"daysAgo": "{{count}}d ago",
"disconnected": "Disconnected",
"eventsLastMin": "Last 60s",
"eventsReceived": "Events received",
"eventsTotal": "Total",
"expand": "Expand sidebar",
"hoursAgo": "{{count}}h ago",
"justNow": "just now",
"language": "Language",
"languageNames": {
"en": "English",
"vi": "Vietnamese"
},
"languageShort": {
"en": "EN",
"vi": "VI"
},
"lastEvent": "Last event",
"live": "Live",
"minutesAgo": "{{count}}m ago",
"noEventsYet": "No events yet",
"notConnected": "Not connected",
"notFound": "Not found",
"peakRate": "Peak",
"recentActivity": "Recent activity",
"resetStats": "Reset",
"scrollDown": "Scroll navigation down",
"scrollUp": "Scroll navigation up",
"secondsAgo": "{{count}}s ago",
"sessions": "Sessions",
"settings": "Settings",
"skipToContent": "Skip to content",
"statsPersisted": "Stats persist across reloads",
"switchLanguage": "Switch to {{language}}",
"throughput60s": "Throughput · last 60s",
"topEventTypes": "Top event types",
"unitEvents": "events",
"unitPerSec": "events/s",
"upToDate": "Up to date",
"updateAvailable": "Update available",
"website": "Website",
"workflows": "Workflows",
"workspace": "Workspace",
"wsEndpoint": "WebSocket"
}