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:
@@ -0,0 +1,115 @@
|
||||
{
|
||||
"name": "claude-code-agent-monitor",
|
||||
"displayName": "Claude Code Agent Monitor",
|
||||
"description": "Professional integrated dashboard for monitoring Claude Code AI agent activity, token usage, and costs directly in VS Code.",
|
||||
"version": "1.2.4",
|
||||
"publisher": "hoangsonw",
|
||||
"engines": {
|
||||
"vscode": "^1.75.0"
|
||||
},
|
||||
"categories": [
|
||||
"Data Science",
|
||||
"Machine Learning",
|
||||
"Programming Languages",
|
||||
"Other"
|
||||
],
|
||||
"activationEvents": [
|
||||
"onView:claude-code-monitor-view"
|
||||
],
|
||||
"main": "./extension.js",
|
||||
"icon": "apple-touch-icon.png",
|
||||
"galleryBanner": {
|
||||
"color": "#0f111a",
|
||||
"theme": "dark"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://git.smartgift.io.vn/Smartgift-AI/Claude-Code-Monitor"
|
||||
},
|
||||
"homepage": "https://git.smartgift.io.vn/Smartgift-AI/Claude-Code-Monitor/blob/master/vscode-extension/README.md",
|
||||
"contributes": {
|
||||
"commands": [
|
||||
{
|
||||
"command": "claude-code-agent-monitor.openDashboard",
|
||||
"title": "Open Agent Dashboard",
|
||||
"category": "Claude Code",
|
||||
"icon": "$(dashboard)"
|
||||
},
|
||||
{
|
||||
"command": "claude-code-agent-monitor.refreshStatus",
|
||||
"title": "Refresh Dashboard Status",
|
||||
"category": "Claude Code",
|
||||
"icon": "$(refresh)"
|
||||
},
|
||||
{
|
||||
"command": "claude-code-agent-monitor.clearHistory",
|
||||
"title": "Clear Monitor History",
|
||||
"category": "Claude Code",
|
||||
"icon": "$(trash)"
|
||||
},
|
||||
{
|
||||
"command": "claude-code-agent-monitor.openInBrowser",
|
||||
"title": "Open Dashboard in Browser",
|
||||
"category": "Claude Code",
|
||||
"icon": "$(globe)"
|
||||
}
|
||||
],
|
||||
"viewsContainers": {
|
||||
"activitybar": [
|
||||
{
|
||||
"id": "claude-code-monitor",
|
||||
"title": "Claude Code Agent Monitor",
|
||||
"icon": "icon.svg"
|
||||
}
|
||||
]
|
||||
},
|
||||
"views": {
|
||||
"claude-code-monitor": [
|
||||
{
|
||||
"id": "claude-code-monitor-view",
|
||||
"name": "Monitor Control Center",
|
||||
"type": "webview"
|
||||
}
|
||||
]
|
||||
},
|
||||
"menus": {
|
||||
"view/title": [
|
||||
{
|
||||
"command": "claude-code-agent-monitor.openDashboard",
|
||||
"when": "view == claude-code-monitor-view",
|
||||
"group": "navigation@1"
|
||||
},
|
||||
{
|
||||
"command": "claude-code-agent-monitor.refreshStatus",
|
||||
"when": "view == claude-code-monitor-view",
|
||||
"group": "navigation@2"
|
||||
},
|
||||
{
|
||||
"command": "claude-code-agent-monitor.openInBrowser",
|
||||
"when": "view == claude-code-monitor-view",
|
||||
"group": "navigation@3"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/vscode": "^1.75.0",
|
||||
"vsce": "^2.15.0"
|
||||
},
|
||||
"scripts": {
|
||||
"package": "vsce package",
|
||||
"publish": "vsce publish"
|
||||
},
|
||||
"keywords": [
|
||||
"claude",
|
||||
"anthropic",
|
||||
"ai",
|
||||
"agent",
|
||||
"monitor",
|
||||
"dashboard",
|
||||
"tokens",
|
||||
"llm"
|
||||
],
|
||||
"author": "Nguyễn Ngọc Trí Vĩ",
|
||||
"license": "MIT"
|
||||
}
|
||||
Reference in New Issue
Block a user