{"_id":"@aruninf/infinity-token-tracker","_rev":"2-556676296d0751f069ad01f3eb577d33","name":"@aruninf/infinity-token-tracker","dist-tags":{"latest":"0.9.20"},"versions":{"0.9.19":{"name":"@aruninf/infinity-token-tracker","version":"0.9.19","keywords":["claude-code","cursor","codex","kimi","devin","ibm-bob","opencode","pi","codebuff","codewhale","ai-coding","token-usage","cost-tracking","observability","developer-tools"],"author":{"name":"Infinity"},"license":"MIT","_id":"@aruninf/infinity-token-tracker@0.9.19","maintainers":[{"name":"aruninf","email":"arunk@infinitysoftsystems.com"}],"homepage":"https://github.com/TODO/infinity-token-tracker#readme","bugs":{"url":"https://github.com/TODO/infinity-token-tracker/issues"},"bin":{"infinity":"dist/cli.js"},"dist":{"shasum":"b0540795a1d6510da63197a925a68ee0d341b947","tarball":"https://registry.npmjs.org/@aruninf/infinity-token-tracker/-/infinity-token-tracker-0.9.19.tgz","fileCount":6,"integrity":"sha512-jg5gTPWs3RXjfFPM1/LzOV5eWV2NhBbbnevbKe0xaZMPbYx+Yzv43Nuz3JYu82PXoMllC0u6y+UFQVkfQzsSxA==","signatures":[{"sig":"MEUCIQCJJxfjmiTCm/+xi/DMz/PV9QqI+bTxyDCoESNBnRV3pgIgds2ZcQSZDU6E03fz2S4wRWp9WpxmJwVWK9V0EWNNPqs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":5440646},"main":"./dist/cli.js","type":"module","engines":{"node":">=22.13.0"},"gitHead":"2f9d9183072ac7571088d4f772d27e3a1652a47a","scripts":{"dev":"NODE_OPTIONS=--no-deprecation tsx src/cli.ts","test":"vitest","build":"node scripts/bundle-litellm.mjs && tsup && node -e \"const fs=require('fs'); fs.copyFileSync('src/cli.ts','dist/cli.js'); fs.chmodSync('dist/cli.js',0o755)\" && npm run build:dash","prepare":"npm run build:cli","build:cli":"tsup && node -e \"const fs=require('fs'); fs.copyFileSync('src/cli.ts','dist/cli.js'); fs.chmodSync('dist/cli.js',0o755)\"","build:dash":"cd dash && npm install --no-audit --no-fund --silent && npm run build","bundle-litellm":"node scripts/bundle-litellm.mjs","prepublishOnly":"npm run build"},"_npmUser":{"name":"aruninf","email":"arunk@infinitysoftsystems.com"},"repository":{"url":"git+https://github.com/TODO/infinity-token-tracker.git","type":"git"},"_npmVersion":"11.12.1","description":"See where your AI spend goes - by task, tool, model, and project","directories":{},"_nodeVersion":"25.9.0","dependencies":{"ink":"^7.0.0","zod":"^3.25.76","chalk":"^5.4.1","react":"^19.2.5","undici":"^7.27.2","commander":"^13.1.0","selfsigned":"^5.5.0","strip-ansi":"^7.2.0","bonjour-service":"^1.4.1","@modelcontextprotocol/sdk":"^1.29.0"},"_hasShrinkwrap":false,"devDependencies":{"tsx":"^4.19.0","tsup":"^8.4.0","vitest":"^3.1.0","playwright":"^1.61.1","typescript":"^5.8.0","@types/node":"^22.19.17","@types/react":"^19.2.14","@types/selfsigned":"^2.0.4"},"_npmOperationalInternal":{"tmp":"tmp/infinity-token-tracker_0.9.19_1786089489245_0.4780841478614968","host":"s3://npm-registry-packages-npm-production"}},"0.9.20":{"name":"@aruninf/infinity-token-tracker","version":"0.9.20","description":"See where your AI spend goes - by task, tool, model, and project","type":"module","main":"./dist/cli.js","bin":{"infinity":"dist/cli.js"},"scripts":{"bundle-litellm":"node scripts/bundle-litellm.mjs","build":"node scripts/bundle-litellm.mjs && tsup && node -e \"const fs=require('fs'); fs.copyFileSync('src/cli.ts','dist/cli.js'); fs.chmodSync('dist/cli.js',0o755)\" && npm run build:dash","build:cli":"tsup && node -e \"const fs=require('fs'); fs.copyFileSync('src/cli.ts','dist/cli.js'); fs.chmodSync('dist/cli.js',0o755)\"","build:dash":"cd dash && npm install --no-audit --no-fund --silent && npm run build","dev":"NODE_OPTIONS=--no-deprecation tsx src/cli.ts","test":"vitest","prepublishOnly":"npm run build","prepare":"npm run build:cli"},"keywords":["claude-code","cursor","codex","kimi","devin","ibm-bob","opencode","pi","codebuff","codewhale","ai-coding","token-usage","cost-tracking","observability","developer-tools"],"engines":{"node":">=22.13.0"},"author":{"name":"Infinity"},"license":"MIT","repository":{"type":"git","url":"git+https://github.com/aruninf/infinity-token-tracker.git"},"bugs":{"url":"https://github.com/aruninf/infinity-token-tracker/issues"},"homepage":"https://github.com/aruninf/infinity-token-tracker#readme","dependencies":{"@modelcontextprotocol/sdk":"^1.29.0","bonjour-service":"^1.4.1","chalk":"^5.4.1","commander":"^13.1.0","ink":"^7.0.0","react":"^19.2.5","selfsigned":"^5.5.0","strip-ansi":"^7.2.0","undici":"^7.27.2","zod":"^3.25.76"},"devDependencies":{"@types/node":"^22.19.17","@types/react":"^19.2.14","@types/selfsigned":"^2.0.4","playwright":"^1.61.1","tsup":"^8.4.0","tsx":"^4.19.0","typescript":"^5.8.0","vitest":"^3.1.0"},"gitHead":"57f5177f94fb189f6ae88ab3e73cb474689ef496","_id":"@aruninf/infinity-token-tracker@0.9.20","_nodeVersion":"25.9.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-Li/GyOGHj1alFYRbtYlOgIpNjWcmdtnOmw7aoefVZpYgbYF5xaCiLcavZZauk+QC0B/N34fwjzewQMbw8yyQ4w==","shasum":"778700cbb66d27101df56d3ccfb3bda1e1d55b7f","tarball":"https://registry.npmjs.org/@aruninf/infinity-token-tracker/-/infinity-token-tracker-0.9.20.tgz","fileCount":6,"unpackedSize":5440679,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDD8DmySCyDoNEw/0u3XFtKdTp/bzXgNF8jUkoOa7IlRQIgN3ml74pquzmSkfDXe5C6XS7ukJ2nDgDl8juRSvys7KA="}]},"_npmUser":{"name":"aruninf","email":"arunk@infinitysoftsystems.com"},"directories":{},"maintainers":[{"name":"aruninf","email":"arunk@infinitysoftsystems.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/infinity-token-tracker_0.9.20_1786089974713_0.8289856387955321"},"_hasShrinkwrap":false}},"time":{"created":"2026-08-07T07:58:09.046Z","modified":"2026-08-07T08:06:15.092Z","0.9.19":"2026-08-07T07:58:09.425Z","0.9.20":"2026-08-07T08:06:14.933Z"},"bugs":{"url":"https://github.com/aruninf/infinity-token-tracker/issues"},"author":{"name":"Infinity"},"license":"MIT","homepage":"https://github.com/aruninf/infinity-token-tracker#readme","keywords":["claude-code","cursor","codex","kimi","devin","ibm-bob","opencode","pi","codebuff","codewhale","ai-coding","token-usage","cost-tracking","observability","developer-tools"],"repository":{"type":"git","url":"git+https://github.com/aruninf/infinity-token-tracker.git"},"description":"See where your AI spend goes - by task, tool, model, and project","maintainers":[{"name":"aruninf","email":"arunk@infinitysoftsystems.com"}],"readme":"# Infinity Token Tracker\n\n**See where your AI spend goes — locally, instantly.**\n\n**Infinity Token Tracker** is a free, open-source, local-first analytics tool that tracks token usage and costs from AI coding environments (Claude Code, Cursor, GitHub Copilot, Gemini, Grok, and more). It reads log files locally on your disk, meaning no credentials or API keys ever leave your machine.\n\n---\n\n## ⚡ Quick Start\n\nRun it instantly without installing anything:\n\n```bash\nnpx @aruninf/infinity-token-tracker\n```\n\nThis launches the interactive terminal dashboard (TUI). Arrow keys change the period, and `q` quits.\n\n---\n\n## 📦 Installation\n\nTo make the `infinity` command permanently available:\n\n### 1. Via NPM (Recommended)\n```bash\nnpm install -g @aruninf/infinity-token-tracker\n```\n*(Requires Node.js 22.13+)*\n\n### 2. Via Homebrew (macOS)\n```bash\nbrew install infinity-token-tracker\n```\n\n### 3. Run directly with other package managers\n```bash\n# Using Bun\nbunx infinity\n\n# Using PNPM\npnpm dlx infinity\n```\n\n---\n\n## 🚀 Usage Guide\n\nInfinity Token Tracker offers four surfaces to monitor your AI spend:\n\n### 1. Interactive Terminal Dashboard (TUI)\nRun the bare command to inspect spend per project, model, and tool dynamically in your terminal:\n```bash\ninfinity\n```\n\n### 2. Web Dashboard\nLaunch a local server and open the browser dashboard at `http://127.0.0.1:4747`:\n```bash\ninfinity web\n```\n\n### 3. CLI Overview\nPrint a clean, copy-pasteable text summary of your spend:\n```bash\ninfinity overview                                    # This month\ninfinity overview --from 2026-06-01 --to 2026-06-15  # Specific range\ninfinity overview --provider claude                  # Filter to one tool\n```\n\n### 4. Smart Optimization & Audits\nScan your log traces for token bloat, repetitive file loads, and find where you can reclaim budget:\n```bash\ninfinity optimize             # Check last 30 days for waste patterns\ninfinity optimize --apply     # Apply automated context optimization rules\n```\n\n---\n\n## 🖥️ Desktop Application (macOS, Windows & Linux)\n\nFor a fully-featured desktop experience containing timeline charts, context growth graphs, tool cost breakdown charts, and real-time alert widgets:\n\n1. Clone this repository.\n2. Install dependencies:\n   ```bash\n   cd app\n   npm install\n   ```\n3. Run or package the application:\n   ```bash\n   # Run local dev environment\n   npm run dev\n\n   # Package executable for macOS\n   npm run package\n   ```\n\n---\n\n## 🛠️ Supported Tools & Providers\n\nInfinity Token Tracker automatically auto-detects and extracts usage from **36+ integrations**, including:\n* **Claude CLI** (Claude Code)\n* **Cursor** (state.vscdb Global DB)\n* **GitHub Copilot**\n* **Cline / Roo-Code**\n* **Devin**\n* **Zed**\n* *and many more...*\n\n---\n\n## 🔒 Privacy First\n\nEverything runs on your computer. It reads local trace directories and session logs (e.g. `~/.claude/sessions/` or Cursor databases) and uses pricing data cached locally. **Your code, prompts, and tokens never touch third-party servers.**\n","readmeFilename":"README.md"}