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
@@ -0,0 +1,24 @@
---
description: Show current Claude Code spend versus a budget number
argument-hint: "[monthly-$]"
---
Show current Claude Code spend against the budget **$ARGUMENTS** (a monthly dollar
figure, e.g. `50`). If `$ARGUMENTS` is empty, just report spend-to-date and ask for a budget.
1. Fetch current spend:
```
curl -s http://localhost:4820/api/pricing/cost
```
Read `total_cost` (spend-to-date) and the per-model `breakdown`.
2. Print a concise budget status:
- **Spend to date**: `total_cost` as USD to 4 decimals.
- **Budget**: `$ARGUMENTS`/month.
- **Consumed**: `total_cost / budget × 100`% — with a ▲/▼ vs. the linear pace expected for today's day-of-month (`budget × day_of_month / days_in_month`).
- **Verdict**: under budget / on pace / over budget.
- **Top 3 models by cost** from the breakdown (model, cost, % of total).
If the dashboard is unreachable (curl fails / empty), tell the user to start it with
`npm start` from the repo root. Keep the output to a few lines plus one small table.
Currency as USD to 4 decimal places. Read-only — do not modify anything.