You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Your company has 50+ developers on Cursor. Do you know who's spending $200/day on Claude Opus while everyone else uses Sonnet?**
22
+
---
14
23
15
-
You're about to find out.
24
+
## Why This Exists
16
25
17
-

26
+
Engineering costs used to be two things: headcount and cloud infrastructure. You had tools for both. Then AI coding assistants showed up, and suddenly there's a third cost center that nobody has good tooling for.
18
27
19
-
<sub>Demo animation created with <ahref="https://github.com/ofershap/remotion-readme-kit">remotion-readme-kit</a></sub>
28
+
A single developer on Cursor can burn through hundreds of dollars a day just by switching to an expensive model or letting an agent loop run wild. Now multiply that by 50, 100, 500 developers. The bill gets big fast, and there's nothing like Datadog or CloudHealth for this category yet.
29
+
30
+
Cursor's admin dashboard shows you the raw numbers, but it won't tell you when something is off. No anomaly detection. No alerts. No incident tracking. You find out about cost spikes when the invoice lands, weeks after the damage is done.
31
+
32
+
I built cursor-usage-tracker to fix that. It sits on top of Cursor's Enterprise APIs and gives engineering managers, finance, and platform teams actual visibility into AI spend before it becomes a surprise.
20
33
21
34
---
22
35
23
-
## The Problem
36
+
## What It Does
24
37
25
-
You're managing Cursor for your engineering team. The bill comes in. It's... a lot.
38
+
Your company has 50+ developers on Cursor. Do you know who's spending $200/day on Claude Opus while everyone else uses Sonnet?
26
39
27
-
-**Who** is driving the cost?
28
-
-**When** did it start spiking?
29
-
-**Why** — is it a model shift? A runaway agent? Legitimate heavy usage?
30
-
-**How long** until someone notices?
40
+
You're about to find out.
31
41
32
-
Cursor's built-in dashboard shows data, but has **no anomaly detection** and **no proactive alerting**. You find out about cost spikes when the invoice arrives — weeks too late.
42
+

33
43
34
-
## The Solution
44
+
<sub>Demo animation created with <ahref="https://github.com/ofershap/remotion-readme-kit">remotion-readme-kit</a></sub>
35
45
36
-
cursor-usage-tracker connects to Cursor's Enterprise APIs, collects usage data, and **automatically detects anomalies** across three layers of intelligence. When something looks off, you get a Slack message or email — not next month, but within the hour.
46
+
It connects to Cursor's Enterprise APIs, collects usage data, and automatically detects anomalies across three layers. When something looks off, you get a Slack message or email within the hour, not next month.
37
47
38
48
```
39
49
Developer uses Cursor → API collects data hourly → Engine detects anomaly → You get a Slack alert
@@ -49,7 +59,7 @@ Developer uses Cursor → API collects data hourly → Engine detects anomaly
49
59
| Someone shifts to expensive models |`Opus usage jumped from 5% to 45%` → Slack alert |
50
60
| Usage drifts above team P75 for days |`Above team P75 for 5 of last 6 days` → Slack alert |
51
61
52
-
Every alert includes **who**, **what model**, **how much**, and a **link to their dashboard page** for instant investigation.
62
+
Every alert includes who, what model, how much, and a link to their dashboard page so you can investigate immediately.
@@ -258,15 +268,16 @@ All detection thresholds are configurable via the Settings page or the API:
258
268
259
269
---
260
270
261
-
## Group Management & Filtering
271
+
<details>
272
+
<summary><strong>Billing Groups: organize teams by department, group, or custom structure</strong></summary>
262
273
263
274
Billing groups let you organize team members by department, team, or any structure that fits your org.
264
275
265
-
### Dashboard Filtering
276
+
**Dashboard Filtering**
266
277
267
278
The Team Overview page includes a group filter dropdown next to the search bar. Select a group to instantly filter all stats, charts, and the members table to that subset. Groups are displayed in a hierarchical `Parent > Team` format.
268
279
269
-
### Settings Page
280
+
**Settings Page**
270
281
271
282
From the Settings page you can:
272
283
@@ -276,7 +287,10 @@ From the Settings page you can:
276
287
-**Create** new groups manually
277
288
-**Search** across all members to find who's in which group
278
289
279
-
### HiBob Import
290
+
</details>
291
+
292
+
<details>
293
+
<summary><strong>HiBob Import: sync your org structure from HiBob's People Directory</strong></summary>
280
294
281
295
For teams using [HiBob](https://www.hibob.com/) as their HR platform, the Settings page includes an **Import from HiBob** feature:
282
296
@@ -287,7 +301,9 @@ For teams using [HiBob](https://www.hibob.com/) as their HR platform, the Settin
287
301
288
302
The import uses HiBob's `Group` and `Team` columns (falling back to `Department`) to build a `Group > Team` hierarchy. Small teams (fewer than 3 members) are automatically consolidated into broader groups to avoid excessive granularity.
289
303
290
-
> **Note:** The HiBob import updates your local billing groups. It does not push changes back to HiBob or to Cursor's billing API — it only organizes members within the tracker's dashboard.
304
+
> The HiBob import updates your local billing groups only. It does not push changes back to HiBob or to Cursor's billing API.
305
+
306
+
</details>
291
307
292
308
---
293
309
@@ -312,15 +328,15 @@ The import uses HiBob's `Group` and `Team` columns (falling back to `Department`
This project handles sensitive usage and spending data, so security matters here more than most.
376
+
377
+
-**Vulnerability reporting**: See [SECURITY.md](SECURITY.md) for the disclosure policy. Report vulnerabilities privately via [GitHub Security Advisories](https://github.com/ofershap/cursor-usage-tracker/security/advisories/new), not public issues.
378
+
-**Automated scanning**: Every push and PR goes through [CodeQL](https://codeql.github.com/) (SQL injection, XSS, CSRF, etc.) and [Dependabot](https://docs.github.com/en/code-security/dependabot) for dependency vulnerabilities.
379
+
-**OpenSSF Scorecard**: Continuously evaluated against [OpenSSF Scorecard](https://scorecard.dev/viewer/?uri=github.com/ofershap/cursor-usage-tracker) security benchmarks.
380
+
-**OpenSSF Best Practices**: [Passing badge](https://www.bestpractices.dev/projects/11968) earned.
381
+
-**Data stays local**: Everything is stored in a local SQLite file. Nothing leaves your infrastructure. No external databases, no cloud services, no telemetry.
-**Signed releases**: Automated via semantic-release with GitHub-verified provenance.
384
+
385
+
---
386
+
357
387
## Contributing
358
388
359
-
See [CONTRIBUTING.md](CONTRIBUTING.md) for development setup and guidelines.
389
+
See [CONTRIBUTING.md](CONTRIBUTING.md) for setup and guidelines. Bug reports, feature requests, docs improvements, and code are all welcome. Use [conventional commits](https://www.conventionalcommits.org/) and make sure CI is green before opening a PR.
390
+
391
+
## Code of Conduct
392
+
393
+
This project uses the [Contributor Covenant Code of Conduct](CODE_OF_CONDUCT.md).
0 commit comments