{"adoption": {"forks": 128, "observed_at": "2026-08-28T04:04:47.692606+00:00", "stars": 1462}, "canonical_url": "https://ross.abutalabs.com/products/agtx", "card": {"archived": false, "artifact_type": "cli-tool", "description": "🏄🏼‍♂️ The blackboard for coding agents. Terminal-native ADE for claude code, codex, cursor, opencode, grok and more", "domain": ["developer-tools"], "enriched": true, "function": ["agent-framework", "cli", "terminal-ui", "workflow-automation", "mcp"], "health_score": 100, "homepage": null, "language": "Rust", "license": "Apache-2.0", "license_family": "permissive", "maturity": "active", "member_repos": ["fynnfluegge/agtx"], "name": "fynnfluegge/agtx", "platform": ["cli", "cross-platform"], "pushed_at": "2026-08-26T19:23:41+00:00", "repo": "fynnfluegge/agtx", "stars": 1462, "tags": ["coding-agents", "kanban-board", "orchestrator", "tmux", "git-worktree", "spec-driven-development", "multi-agent", "claude-code", "codex", "cursor", "opencode", "ai-agents", "command-line", "automation", "linux", "macos"], "topics": ["claude-code", "spec-driven-development", "opencode", "claude", "codex", "gemini", "vibe-coding", "cursor", "ade", "ai-agents"], "urls": [], "use_cases": ["orchestrate multiple AI coding agents in parallel on the same codebase", "delegate coding tasks to different agents like Gemini for research, Claude for implementation, and Codex for review", "capture brainstorming ideas from an agent session and turn them into board tasks", "manage autonomous spec-driven development workflows from the terminal", "run each coding agent in an isolated git worktree to avoid conflicts", "coordinate AI agents through a kanban board without leaving the terminal"], "what_it_is": "agtx is a terminal-native agent development environment that acts as a kanban-style blackboard for AI coding agents like Claude Code, Codex, Cursor, and Gemini. An orchestrator agent picks up tasks from the board, plans them, and delegates work to multiple coding agents running in parallel in separate git worktrees and tmux windows.", "when_to_avoid": ["you only use a single AI coding agent for simple one-off tasks", "you need a GUI-based agent orchestration tool", "your workflow does not involve AI coding agents at all"], "when_to_choose": ["you want multiple AI coding agents to work in parallel on different tasks", "you use several coding agents (Claude Code, Codex, Cursor, Gemini) and want them to collaborate", "you want to capture ideas mid-session and convert them into tasks without context switching", "you prefer terminal-native tooling with tmux and git worktree isolation"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/agtx", "repo": "fynnfluegge/agtx", "role": "main", "score": 82}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "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:47.692606+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:47.692606+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T04:35:17.218104+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "ed2637907c62a97940c3eca68d5b478c1197a8a8574b33ded10bcf30e2e3e4ed", "fetched_at": "2026-08-28T04:04:47.692606+00:00", "kind": "readme", "missing": false, "url": "https://github.com/fynnfluegge/agtx"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 99, "longevity": 14, "rhythm": 99}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 206, "days_push": 7, "days_rel": 7, "gap_med": 4.5, "n_releases_24m": 21}, "score": 82, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}