{"id":49288656,"url":"https://github.com/marquesds/kaizen","last_synced_at":"2026-05-30T03:02:14.213Z","repository":{"id":353454148,"uuid":"1218538829","full_name":"marquesds/kaizen","owner":"marquesds","description":"Real-time, self-hostable agent observability: retros and experiments to improve your repo, across Cursor, Claude Code, and Codex. SQLite; redact before any sync you enable.","archived":false,"fork":false,"pushed_at":"2026-05-29T21:39:52.000Z","size":2282,"stargazers_count":9,"open_issues_count":3,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-29T23:06:28.347Z","etag":null,"topics":["ab-testing","agents","agile","ai","distributed","harness-engineering","local","observability","retrospective","telemetry"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/marquesds.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"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":"AGENTS.md","dco":null,"cla":null},"funding":{"ko_fi":"lucasmarques"}},"created_at":"2026-04-23T01:21:27.000Z","updated_at":"2026-05-29T21:06:35.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/marquesds/kaizen","commit_stats":null,"previous_names":["marquesds/kaizen"],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/marquesds/kaizen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marquesds%2Fkaizen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marquesds%2Fkaizen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marquesds%2Fkaizen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marquesds%2Fkaizen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/marquesds","download_url":"https://codeload.github.com/marquesds/kaizen/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/marquesds%2Fkaizen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33678271,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"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":["ab-testing","agents","agile","ai","distributed","harness-engineering","local","observability","retrospective","telemetry"],"created_at":"2026-04-25T23:10:42.418Z","updated_at":"2026-05-30T03:02:14.208Z","avatar_url":"https://github.com/marquesds.png","language":"Rust","funding_links":["https://ko-fi.com/lucasmarques"],"categories":[],"sub_categories":[],"readme":"# kaizen\n\nKaizen watches your coding agents work, locally, across Cursor, Claude Code,\nCodex, OpenClaw, Goose, OpenCode, and Copilot.\n\nAt the end of the week, it tells you what's wasting tokens, causing loops,\nor making agents worse in this repo.\n\nThen it lets you test the fix: \"add this rule\", \"split this file\", or\n\"delete this unused skill\" becomes measurable instead of vibes.\n\n[![crates.io](https://img.shields.io/crates/v/kaizen-cli.svg)](https://crates.io/crates/kaizen-cli)\n[![CI](https://github.com/marquesds/kaizen/actions/workflows/ci.yml/badge.svg)](https://github.com/marquesds/kaizen/actions/workflows/ci.yml)\n[![License: AGPL v3](https://img.shields.io/badge/License-AGPL_v3-blue.svg)](LICENSE)\n[![Sponsor](https://img.shields.io/badge/Sponsor-FF5E5B?logo=ko-fi\u0026logoColor=white)](https://ko-fi.com/lucasmarques)\n\n## Demo\n\nhttps://github.com/user-attachments/assets/64e2739a-6102-4abb-9ce7-9d4046dd56ca\n\n\n## Install\n\nYou need **Rust 1.95+** from [rustup](https://rustup.rs).\n\n```bash\ncargo install kaizen-cli --locked\n```\n\nThe command installs the `kaizen` binary into `~/.cargo/bin` or\n`$CARGO_HOME/bin`. If your shell cannot find it, add that directory to\n`PATH` and open a new terminal.\n\nDeveloping Kaizen itself? Use `./scripts/install-local.sh` from a clone,\nor `cargo install --path . --locked`. Detailed install notes live in\n[docs/install.md](docs/install.md).\n\n## Quick Start\n\n```bash\ncargo install kaizen-cli --locked\ncd my-repo\nkaizen init\n# use your coding agent for a day...\nkaizen summary\nkaizen retro\n```\n\n`kaizen init` creates local storage under `.kaizen/` and wires supported\nagent hooks idempotently. Re-running it is safe; originals back up under\n`.kaizen/backup/`.\n\n## How the Loop Works\n\n**Observe.** Kaizen tails agent transcripts and hook events into\nworkspace-local SQLite. It can watch Cursor, Claude Code, Codex, OpenClaw,\nGoose, OpenCode, and Copilot without running the model itself.\n\n**Summarise.** `kaizen summary` and `kaizen metrics` roll sessions up by\nagent, model, cost, tool use, and repo facts. The metrics pass also indexes\nfile-level and graph facts so retros can talk about this codebase, not only\ntoken totals.\n\n**Propose.** `kaizen retro` runs deterministic heuristics and groups bets by\nconfidence and action type: one high-confidence bet, up to two investigations,\nand up to two quick hygiene fixes.\n\n**Measure.** `kaizen exp new` can bind a change to git history and compare\ncontrol vs treatment sessions with bootstrap confidence intervals.\n\nNothing leaves disk unless you configure sync or a provider query. Team paths\nredact secrets, env vars, absolute paths, and git emails before upload.\n\n## Why Kaizen\n\n| You want... | Existing tool | Kaizen |\n|---|---|---|\n| Cost per session for Claude Code | `ccusage`, `claude-usage-report` | Yes, plus Cursor, Codex, OpenClaw, and hook provenance |\n| Cost per session for Cursor | Manual transcript work | Best-effort token and model recovery from transcript tails |\n| One local view across agents | Glue scripts | Unified store, one CLI, one MCP surface |\n| Repo-aware improvement bets | Dashboards only | Weekly retro with evidence, confidence, and apply steps |\n| Local-first data | Hosted account | SQLite by default; sync is opt-in and redacted |\n| Measure whether a fix worked | Spreadsheets | Git-bound A/B experiments and bootstrap reports |\n\nKaizen is not a dashboard. It is an opinionated feedback loop:\n**capture → summarise → propose change → measure**.\n\n## Advanced Features\n\n- **HTTP proxy:** `kaizen proxy run` logs Anthropic API calls with precise\n  token counts and optional context policy trimming.\n- **Provider queries:** PostHog and Datadog rollups can be read with\n  `--source provider` or merged with local rows via `--source mixed` when\n  `[telemetry.query]` is configured.\n- **Redacted sync:** shared endpoints receive batches only after local\n  redaction and UUIDv7 deduplication.\n- **A/B experiments:** `kaizen exp new --bind git` classifies later sessions\n  by commit boundary and reports treatment deltas.\n- **MCP tools:** most read/report commands are exposed to agents; shell-only\n  commands stay in the CLI.\n- **Local depth:** optional test/lint snapshots and CPU/RSS samples improve\n  retro signals without shipping raw command output off disk.\n\n## Docs\n\n| Doc | Purpose |\n|---|---|\n| [docs/install.md](docs/install.md) | Install, build from source, uninstall |\n| [docs/tutorial/README.md](docs/tutorial/README.md) | Hands-on tutorial |\n| [docs/usage.md](docs/usage.md) | CLI reference |\n| [docs/concepts.md](docs/concepts.md) | Sessions, events, retro, experiments |\n| [docs/retro.md](docs/retro.md) | Heuristic retro engine |\n| [docs/experiments.md](docs/experiments.md) | A/B experiment workflow |\n| [docs/architecture.md](docs/architecture.md) | Module graph, data flow |\n| [docs/config.md](docs/config.md) | Config file and env vars |\n| [docs/telemetry-journey.md](docs/telemetry-journey.md) | How sessions become stored facts |\n| [CONTRIBUTING.md](CONTRIBUTING.md) | Dev setup, tests, PR flow |\n| [CHANGELOG.md](CHANGELOG.md) | Release notes |\n\n## Status\n\nPre-1.0: breaking changes may appear in minor versions. Follow\n[CHANGELOG.md](CHANGELOG.md) for release notes.\n\n## License\n\n[AGPL-3.0-or-later](LICENSE). Contributions are licensed under the same\nterms. Security disclosures: [SECURITY.md](SECURITY.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarquesds%2Fkaizen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmarquesds%2Fkaizen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmarquesds%2Fkaizen/lists"}