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
+9
View File
@@ -0,0 +1,9 @@
{
"recommendations": [
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"ms-vscode.vscode-typescript-next",
"bradlc.vscode-tailwindcss",
"dzhavat.mermaid-preview"
]
}
+29
View File
@@ -0,0 +1,29 @@
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Debug Server",
"program": "${workspaceFolder}/server/index.js",
"skipFiles": ["<node_internals>/**"],
"env": {
"NODE_ENV": "development",
"DASHBOARD_PORT": "4820"
}
},
{
"type": "chrome",
"request": "launch",
"name": "Debug Client (Vite)",
"url": "http://localhost:5173",
"webRoot": "${workspaceFolder}/client/src"
}
],
"compounds": [
{
"name": "Full Stack Debug",
"configurations": ["Debug Server", "Debug Client (Vite)"]
}
]
}
+16
View File
@@ -0,0 +1,16 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.codeActionsOnSave": {
"source.fixAll.eslint": "explicit"
},
"typescript.tsdk": "node_modules/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true,
"files.exclude": {
"**/.git": true,
"**/.DS_Store": true,
"**/node_modules": true,
"**/dist": true,
"**/build": true
}
}
+48
View File
@@ -0,0 +1,48 @@
{
"version": "2.0.0",
"tasks": [
{
"label": "npm: setup",
"type": "npm",
"script": "setup",
"group": "build",
"problemMatcher": []
},
{
"label": "npm: dev",
"type": "npm",
"script": "dev",
"isBackground": true,
"group": "none",
"problemMatcher": [
{
"owner": "typescript",
"fileLocation": ["relative", "${workspaceFolder}/client"],
"pattern": {
"regexp": "^([^\\s].*)\\((\\d+|\\d+,\\d+|\\d+,\\d+,\\d+,\\d+)\\):\\s+(error|warning|info)\\s+(TS\\d+)\\s*:\\s*(.*)$",
"file": 1,
"location": 2,
"severity": 3,
"code": 4,
"message": 5
},
"background": {
"activeOnStart": true,
"beginsPattern": "VITE v.* ready in .* ms",
"endsPattern": "ready in .* ms"
}
}
]
},
{
"label": "npm: test:server",
"type": "npm",
"script": "test:server",
"group": "test",
"presentation": {
"reveal": "always",
"panel": "new"
}
}
]
}