{"id":49236284,"url":"https://github.com/sorunokoe/scopeon","last_synced_at":"2026-04-27T10:01:47.023Z","repository":{"id":351607650,"uuid":"1211728982","full_name":"sorunokoe/Scopeon","owner":"sorunokoe","description":"AI context observability for Claude Code \u0026 friends — token breakdown, cache ROI, cost tracking, CI gates","archived":false,"fork":false,"pushed_at":"2026-04-24T14:47:44.000Z","size":6904,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-24T16:47:46.242Z","etag":null,"topics":["ai","claude","cli","context-window","cost-tracking","developer-tools","llm","mcp","observability","rust","tokens","tui"],"latest_commit_sha":null,"homepage":"https://github.com/sorunokoe/Scopeon/blob/main/docs/README.md","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sorunokoe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":null,"code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":".github/SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-15T17:30:12.000Z","updated_at":"2026-04-24T14:45:24.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/sorunokoe/Scopeon","commit_stats":null,"previous_names":["sorunokoe/scopeon"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/sorunokoe/Scopeon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorunokoe%2FScopeon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorunokoe%2FScopeon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorunokoe%2FScopeon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorunokoe%2FScopeon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sorunokoe","download_url":"https://codeload.github.com/sorunokoe/Scopeon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sorunokoe%2FScopeon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32331305,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-26T23:26:28.701Z","status":"online","status_checked_at":"2026-04-27T02:00:06.769Z","response_time":128,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","claude","cli","context-window","cost-tracking","developer-tools","llm","mcp","observability","rust","tokens","tui"],"created_at":"2026-04-24T16:00:54.728Z","updated_at":"2026-04-27T10:01:46.979Z","avatar_url":"https://github.com/sorunokoe.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n\u003cpre align=\"center\"\u003e\n◈  ╔═╗╔═╗╔═╗╔═╗╔═╗╔═╗╔╗╔\n   ╚═╗║  ║ ║╠═╝║╣ ║ ║║║║\n   ╚═╝╚═╝╚═╝╩  ╚═╝╚═╝╝╚╝\n   AI Context Observability\n   for Claude Code \u0026 friends\n\u003c/pre\u003e\n\n**The AI context observatory — for every coding agent, every token, every dollar.**\n\n\u003cimg src=\"assets/0-dashboard.png\" alt=\"Scopeon Dashboard\" width=\"900\" /\u003e\n\n[![CI](https://github.com/sorunokoe/Scopeon/actions/workflows/ci.yml/badge.svg)](https://github.com/sorunokoe/Scopeon/actions/workflows/ci.yml)\n[![GitHub release](https://img.shields.io/github/v/release/sorunokoe/Scopeon?label=release)](https://github.com/sorunokoe/Scopeon/releases)\n[![License: MIT OR Apache-2.0](https://img.shields.io/badge/license-MIT%20OR%20Apache--2.0-blue)](docs/licenses/LICENSE-MIT)\n[![MSRV: 1.88](https://img.shields.io/badge/MSRV-1.88-orange)](https://blog.rust-lang.org/2025/05/15/Rust-1.88.0.html)\n\n[**Install**](#installation) · [**Quick Start**](#quick-start) · [**Docs**](docs/) · [**Contributing**](#contributing)\n\n\u003c/div\u003e\n\n---\n\n*You fire up Claude Code and start building. An hour later: **\"Context window full.\"** You have no idea what burned it — was it the MCP tools? The thinking budget? Yesterday's file edits? You're flying blind on a meter that costs real money.*\n\n**Scopeon gives you the instrument panel.**\n\n---\n\n## Why Scopeon?\n\n| Without Scopeon | With Scopeon |\n|---|---|\n| \"Why is this session so expensive?\" | Turn-by-turn cost breakdown with waste signals |\n| \"Is the prompt cache actually working?\" | Hit-rate gauge, USD saved, optimization suggestions |\n| \"How close am I to the context limit?\" | Real-time fill bar + *\"~12 turns remaining\"* prediction |\n| \"Which project costs the most?\" | Per-project / per-branch cost breakdown |\n| \"Did my optimization actually help?\" | `compare_sessions` before/after diff |\n| \"Can I gate AI cost in CI?\" | `scopeon ci report --fail-on-cost-delta 50` |\n| \"How is my whole team using AI?\" | `scopeon team` — per-author cost from git history, no server needed |\n| \"Can teammates see my live metrics?\" | `scopeon serve` — privacy-filtered API + SSE stream for IDEs |\n| \"Can I see AI cost in Grafana / Datadog?\" | Prometheus bridge or OTLP push — [docs/opentelemetry.md](docs/opentelemetry.md) |\n\n---\n\n## What you get\n\n🔬 **X-ray vision into every token** — see exactly what burned your context: input, cache reads/writes, thinking budget, output, MCP calls — broken down turn by turn. No more guessing.\n\n💸 **Know your real cost before the bill arrives** — live USD per turn, per session, per project, per day. Set budgets with actual alerts, not surprises.\n\n⚡ **Prompt cache that *actually* tells you if it's working** — hit-rate gauge, dollars saved vs. uncached baseline. Know in seconds whether your cache setup is doing anything.\n\n⏳ **\"You have ~12 turns left\"** — Scopeon tracks context fill rate over time and tells you how many turns remain before the wall. Stop being blindsided mid-task.\n\n🔔 **Context advisory before the crisis** — compaction advisory fires at 55–79% fill when context is accelerating, so you compact at the optimal moment — not after it's too late.\n\n📡 **Zero-token ambient awareness** — every 30 s the MCP server pushes a free status heartbeat to the agent. No polling, no token spend, just continuous situational awareness.\n\n🧭 **See what the agent actually did** — provenance-aware history shows which skills, MCPs, hooks, tasks, and subagents were involved, with exact vs. estimated support called out per provider.\n\n🤖 **Your AI agent monitors itself** — 17 MCP tools let Claude Code query its own token stats, provenance history, trigger alerts, and compare sessions — without you doing anything.\n\n🚦 **Fail PRs on AI cost spikes** — one command in CI, zero config. `scopeon ci report --fail-on-cost-delta 50` catches runaway cost before it merges.\n\n🌐 **Live browser dashboard + IDE stream** — `scopeon serve` → WebSocket-powered charts at `localhost:7771` and a `GET /sse/v1/status` SSE feed for IDE extensions. No npm, no Node, just Rust.\n\n👥 **Team cost from git history** — `scopeon team` reads `AI-Cost:` trailers from `git log` and prints a per-author cost table. No server, no cloud, works from any machine.\n\n🐚 **Cost follows you everywhere** — in your shell prompt, in every `git commit` as an `AI-Cost:` trailer, in Slack via digest webhooks.\n\n🔒 **Fully local, forever** — no cloud backend, no account, no telemetry. Your prompts never leave the machine. Ever.\n\n→ **[Full feature list](docs/features.md)**\n\n---\n\n## Screenshots\n\n![Scopeon Demo](assets/scopeon-demo.gif)\n\n**Sessions** — full session list with per-turn cost, cache %, MCP call count\n\n![Sessions](assets/1-sessions.png)\n\n**Insights** — health score, waste signals, cache ROI \u0026 optimization tips\n\n![Insights](assets/2-insights.png)\n\n**Budget** — daily/weekly/monthly spend, by model, by project, 14-day chart\n\n![Budget](assets/3-budget.png)\n\n**Providers** — auto-detected agents with data path \u0026 session stats\n\n![Providers](assets/4-providers.png)\n\n---\n\n## Installation\n\n### Fastest: `cargo binstall` (pre-built binary, no compilation)\n\n```bash\ncargo install cargo-binstall   # one-time\ncargo binstall --git https://github.com/sorunokoe/Scopeon scopeon\n```\n\n### curl one-liner (macOS \u0026 Linux)\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/sorunokoe/Scopeon/main/install.sh | sh\n```\n\n### From source\n\n```bash\ncargo install --git https://github.com/sorunokoe/Scopeon\n```\n\n**Requirements:** Rust 1.88+ · macOS 12+ or Linux (glibc 2.31+) · Windows 10+\n\n\u003e **Note:** `cargo install scopeon` and `cargo binstall scopeon` (without `--git`) require\n\u003e the crate to be published on crates.io, which is coming soon.\n\n### Pre-built binaries\n\nDownload from [GitHub Releases](https://github.com/sorunokoe/Scopeon/releases):\n\n| Platform | Asset |\n|---|---|\n| macOS Apple Silicon | `scopeon-vX.Y.Z-aarch64-apple-darwin.tar.gz` |\n| macOS Intel | `scopeon-vX.Y.Z-x86_64-apple-darwin.tar.gz` |\n| Linux x86\\_64 | `scopeon-vX.Y.Z-x86_64-unknown-linux-gnu.tar.gz` |\n| Linux ARM64 | `scopeon-vX.Y.Z-aarch64-unknown-linux-gnu.tar.gz` |\n| Windows x86\\_64 | `scopeon-vX.Y.Z-x86_64-pc-windows-msvc.zip` |\n\n---\n\n## Quick Start\n\n```bash\nscopeon onboard    # auto-detect AI tools, configure MCP + shell integration\nscopeon            # open the TUI dashboard\nscopeon serve      # browser dashboard → http://localhost:7771\nscopeon status     # quick inline stats, no TUI\nscopeon doctor     # health diagnostics\n```\n\n### Connect to Claude Code (MCP)\n\n```bash\nscopeon init\n# → writes MCP server config to ~/.claude/settings.json\n# Claude Code now has 17 Scopeon tools + proactive push alerts\n```\n\n### All commands\n\n```bash\nscopeon [start]                # daemon + TUI (default)\nscopeon tui                    # TUI only (no file watching)\nscopeon mcp                    # MCP server over stdio\nscopeon status                 # inline stats\nscopeon serve [--port N] [--tier 0-3]\n\nscopeon tag set \u003cid\u003e feature   # tag sessions for cost attribution\nscopeon export --format csv --days 30\nscopeon reprice                # recalculate costs after a price change\n\nscopeon digest [--days N] [--post-to-slack \u003curl\u003e]\nscopeon badge [--format markdown|url|html]\nscopeon ci snapshot --output baseline.json\nscopeon ci report  --baseline baseline.json [--fail-on-cost-delta 50]\n\nscopeon shell-hook             # emit shell prompt hook (bash/zsh/fish)\nscopeon git-hook install       # add AI-Cost trailer to commits\nscopeon onboard                # interactive setup wizard\nscopeon doctor                 # health diagnostics\n```\n\n---\n\n## Documentation\n\n| Topic | Link |\n|---|---|\n| Full feature list | [docs/features.md](docs/features.md) |\n| TUI guide (tabs, shortcuts, Zen, Replay, filter) | [docs/tui.md](docs/tui.md) |\n| MCP tools \u0026 push notifications | [docs/mcp.md](docs/mcp.md) |\n| Webhook escalation | [docs/webhooks.md](docs/webhooks.md) |\n| CI cost gate | [docs/ci.md](docs/ci.md) |\n| Shell \u0026 git integration | [docs/shell-git.md](docs/shell-git.md) |\n| Team mode \u0026 REST API | [docs/team.md](docs/team.md) |\n| OpenTelemetry integration | [docs/opentelemetry.md](docs/opentelemetry.md) |\n| Supported providers | [docs/providers.md](docs/providers.md) |\n| Configuration reference | [docs/configuration.md](docs/configuration.md) |\n| Architecture \u0026 codebase map | [docs/architecture.md](docs/architecture.md) |\n\n---\n\n## Supported Providers\n\nClaude Code · GitHub Copilot CLI · Aider · Cursor · Gemini CLI · Ollama · Generic OpenAI\n\nScopeon discovers log files automatically — no config needed for standard install paths.\nAdding a new provider takes ~50 lines of Rust. See [docs/providers.md](docs/providers.md).\n\n---\n\n## Data \u0026 Privacy\n\n- **Local-first** — no cloud backend, no accounts, no API keys required\n- Reads token *counts* and *costs* only — never prompt text or code\n- `scopeon serve` is read-only and localhost-bound by default\n- Webhooks are opt-in; payloads contain only metric data\n\n---\n\n## Contributing\n\nContributions are warmly welcomed — bug fixes, new providers, dashboard features.\n\n```bash\ngit clone https://github.com/sorunokoe/Scopeon\ncd Scopeon\nmake          # fmt-check + clippy + test (same as CI)\nmake install  # install to ~/.cargo/bin\n```\n\n- **[docs/contributing.md](docs/contributing.md)** — dev workflow, PR process, adding providers\n- **[docs/architecture.md](docs/architecture.md)** — codebase map: crate roles, data flow, schema\n\nEvery PR must pass the full CI suite (fmt · clippy · tests on Linux/macOS/Windows · MSRV · docs).\n\n---\n\n## Changelog\n\nSee **[docs/changelog.md](docs/changelog.md)** for the full version history.\n\n---\n\n## License\n\nDual-licensed under **[MIT](docs/licenses/LICENSE-MIT) OR [Apache-2.0](docs/licenses/LICENSE-APACHE)** — use it however you like.\n\n---\n\n\u003cdiv align=\"center\"\u003e\n\nBuilt with ❤️ in Rust · [Report a bug](https://github.com/sorunokoe/Scopeon/issues/new?template=bug_report.md) · [Request a feature](https://github.com/sorunokoe/Scopeon/issues/new?template=feature_request.md) · [Discussions](https://github.com/sorunokoe/Scopeon/discussions)\n\n*If Scopeon saved you money or context headaches, consider giving it a ⭐*\n\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorunokoe%2Fscopeon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsorunokoe%2Fscopeon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsorunokoe%2Fscopeon/lists"}