{"id":45345906,"url":"https://github.com/txtx/axel-app","last_synced_at":"2026-02-21T11:31:11.473Z","repository":{"id":336745597,"uuid":"1145325201","full_name":"txtx/axel-app","owner":"txtx","description":"Peaceful task list meticulously crafted for Agents in war mode.","archived":false,"fork":false,"pushed_at":"2026-02-13T04:15:40.000Z","size":9672,"stargazers_count":99,"open_issues_count":1,"forks_count":9,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-13T12:30:32.410Z","etag":null,"topics":["claude-code","codex","git","llm","tmux","worktree-manager"],"latest_commit_sha":null,"homepage":"https://axel.build","language":"Swift","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/txtx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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-01-29T17:22:08.000Z","updated_at":"2026-02-13T12:18:52.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/txtx/axel-app","commit_stats":null,"previous_names":["txtx/axel-app"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/txtx/axel-app","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel-app","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel-app/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel-app/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel-app/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/txtx","download_url":"https://codeload.github.com/txtx/axel-app/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel-app/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29679787,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-21T11:29:27.227Z","status":"ssl_error","status_checked_at":"2026-02-21T11:29:20.292Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["claude-code","codex","git","llm","tmux","worktree-manager"],"created_at":"2026-02-21T11:31:10.926Z","updated_at":"2026-02-21T11:31:11.467Z","avatar_url":"https://github.com/txtx.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n  \u003cpicture\u003e\n      \u003csource media=\"(prefers-color-scheme: dark)\" srcset=\"https://raw.githubusercontent.com/txtx/axel-app/main/docs/assets/axel-github-dark.png\"\u003e\n      \u003csource media=\"(prefers-color-scheme: light)\" srcset=\"https://raw.githubusercontent.com/txtx/axel-app/main/docs/assets/axel-github-light.png\"\u003e\n      \u003cimg alt=\"Surfpool is the best place to train before surfing Solana\" style=\"max-width: 60%;\"\u003e\n  \u003c/picture\u003e\n\u003c/div\u003e\n\n\nAxel is for anyone who wants the **calm** of a task list and their agents in **war mode** — without losing track of what's running, where, or why.\n\nIt pairs a native macOS app with a fast [RUST CLI](https://github.com/txtx/axel) to orchestrate many AI agents across tmux panes, Ghostty based terminals, and git worktrees — with a user interface inspired by **Things**.\n\n\u003e [!IMPORTANT]\n\u003e Axel is currently in beta and may have bugs. Contributions and bug reports are welcome.\n\n---\n\n## What Axel Feels Like\n\n- A clean, Things‑like inbox for tasks and priorities.\n- A living map of your active agents, each anchored to a worktree and terminal.\n- A system that literally makes “spin up another agent in a new git worktree” feel as cheap as “open a new tab.”\n\n---\n\n## What Axel Does\n\nAxel turns agent work into a first‑class workflow:\n\n- **Tasks with intent**: queue, run, and complete agent tasks with status, priority, and context.\n- **Real terminals**: manage live sessions (Claude, Codex, etc.) in tmux panes and Ghostty.\n- **Worktree‑first isolation**: one agent, one branch — no more stepping on each other.\n- **Inbox \u0026 permissions**: see agent requests in a single stream and approve quickly.\n- **Skills \u0026 context**: reusable prompts from `./skills` and `~/.config/axel/skills`.\n- **Sync built‑in**: Automerge CRDT + Supabase for conflict‑free collaboration.\n\n---\n\n## How Axel Works (Short Version)\n\n1. You create a task in the app.\n2. Axel spawns a terminal session via the CLI.\n3. The agent runs in tmux, optionally inside a new git worktree.\n4. The app shows live output, events, and permission prompts.\n5. When the work is done, you close the loop and ship.\n\n---\n\n## Components\n\n**Native macOS app (SwiftUI)**\n\n- Five‑column workspace layout for tasks, inbox, terminals, skills, and team.\n- SSE inbox for real‑time agent events and permission requests.\n- SwiftData + Automerge for local state + cross‑device sync.\n\n**Axel CLI (Rust)**\n\n- Launches tmux grids and agent panes.\n- Reads `AXEL.md` layouts and skills.\n- Manages worktrees and session recovery.\n\n**Terminal layer**\n\n- Ghostty for fast, modern terminal emulation.\n- tmux for pane orchestration.\n- git worktrees for clean agent isolation.\n\n---\n\n## Quick Start\n\nRequirements: macOS 14+, Xcode 15+ (for app), Rust (for CLI dev)\n\n```bash\n# Open the app in Xcode\nopen Axel.xcodeproj\n\n# Run the app (Debug)\n./run.sh\n```\n\nWhen you launch Axel, it can install the CLI to `~/.local/bin` if it isn’t already present.\n\n---\n\n## A Typical Flow\n\n```text\n1. Create a task “Refactor API caching”\n2. Assign it to Claude in a new worktree\n3. Claude runs in tmux + Ghostty\n4. Permission requests appear in Inbox\n5. Review output, merge, and mark done\n```\n\n---\n\n## Project Structure (Partial)\n\n```\nAxel/\n├── Views/macOS/          # macOS UI (tasks, inbox, terminals)\n├── Services/             # SSE inbox, sync, CLI orchestration\n├── Models/               # SwiftData entities\nPackages/\n├── GhosttyKit/           # terminal emulation\n├── AutomergeWrapper/     # CRDT sync wrapper\n```\n\n---\n\n## Contributing\n\nWe want Axel to feel like a tool you *want* to use daily.\n\nHere’s what we value in contributions:\n\n- **Workflow‑first**: every feature should reduce mental overhead for multi‑agent work.\n- **Beautifully restrained UI**: clarity and delight, never clutter.\n- **Terminal authenticity**: real tmux panes, real worktrees, no fakery.\n- **Performance**: fast startup, fast rendering, fast agent recovery.\n\nIf you’re interested, open an issue or send a PR with:\n\n- a short problem statement\n- a proposed solution\n- any design notes or workflow details\n\n---\n\n## Related Experiments\n\nWe’ve built other systems in this space (not necessarily good, but useful lessons):\n\n- https://github.com/txtx/surfpool\n- https://github.com/txtx/moneymq\n\n---\n\n## Status\n\nAxel is under active development. The core workflow is here, and we’re making it sharper every week.\n\n---\n\nSee `CLAUDE.md` for workspace‑specific notes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxtx%2Faxel-app","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftxtx%2Faxel-app","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxtx%2Faxel-app/lists"}