{"adoption": {"forks": 133, "observed_at": "2026-08-28T04:04:08.122554+00:00", "stars": 1256}, "canonical_url": "https://ross.abutalabs.com/products/egoist-waku", "card": {"archived": false, "artifact_type": "application", "description": "⚡ A native app for all your coding agents.", "domain": ["developer-tools", "large-language-models", "desktop-applications"], "enriched": true, "function": ["agent-framework", "gui", "developer-tools", "websocket", "rpc"], "health_score": 100, "homepage": "https://waku.sh", "language": "Rust", "license": "GPL-3.0", "license_family": "copyleft", "maturity": "active", "member_repos": ["egoist/waku"], "name": "egoist/waku", "platform": ["windows", "rust"], "pushed_at": "2026-08-26T16:39:41+00:00", "repo": "egoist/waku", "stars": 1256, "tags": ["coding-agents", "gpui", "claude-code", "codex", "cursor-cli", "opencode", "local-first", "native-app", "session-management", "git-checkpoints", "ai-agents", "automation", "macos", "linux", "desktop"], "topics": ["agent", "amp", "claude-code", "codex", "coding", "cursor", "gpui", "grok", "opencode", "pi", "rust"], "urls": [], "use_cases": ["manage claude code and codex sessions in one desktop app", "switch between coding agent CLIs without leaving one window", "queue follow-up messages to an agent while it works", "rewind code and agent conversation together with git checkpoints", "run coding agents locally without electron or cloud accounts", "unified interface for multiple AI coding assistants", "browse agent transcripts and tool activity natively"], "what_it_is": "Waku is a fast, native desktop application (built in Rust with GPUI) for managing multiple local coding agent CLIs like Claude Code, Codex, Cursor CLI, and OpenCode from a single interface. It keeps projects, sessions, transcripts, and Git-backed checkpoints entirely on your machine with no account or cloud service.", "when_to_avoid": ["you only use a single agent CLI and are happy with its own interface", "you need a web-based or team-shared agent dashboard", "you require agents not in the supported list (Amp, Claude Code, Codex, Cursor CLI, Fx, Grok, Kimi, OpenCode, Pi)", "you need a fully stable, long-proven tool - the project is young and evolving"], "when_to_choose": ["you use several coding agent CLIs and want one native app to manage them", "you want a fast, GPU-accelerated alternative to Electron-based agent UIs", "you need local-only storage of sessions and transcripts with no telemetry", "you want conversation-aware git rewind of agent tasks"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/egoist-waku", "repo": "egoist/waku", "role": "main", "score": 80}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:08.122554+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:07:16.367938+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "0f192c8e91a7643f234f7572956b3c1866903a0eb572fcd0d164920aef107fea", "fetched_at": "2026-08-28T04:04:08.122554+00:00", "kind": "readme", "missing": false, "url": "https://github.com/egoist/waku"}, {"content_hash": "742f73195287021b93e8eb0aaacaa3c9e4152df056cac4cb0471d955d11dbd11", "fetched_at": "2026-08-29T12:17:33.796396+00:00", "kind": "homepage", "missing": false, "url": "https://waku.sh"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 2, "rhythm": 99}, "computed_at": "2026-09-02T17:46:02.011165+00:00", "flags": ["young"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 33, "days_push": 7, "days_rel": 9, "gap_med": 0, "n_releases_24m": 10}, "score": 80, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}