{"id":42629647,"url":"https://github.com/txtx/axel","last_synced_at":"2026-02-03T21:01:15.717Z","repository":{"id":332410947,"uuid":"1128331530","full_name":"txtx/axel","owner":"txtx","description":"Portable agents across LLMs, reproducible terminal workspaces. Tmux, Git worktrees.","archived":false,"fork":false,"pushed_at":"2026-01-29T19:26:08.000Z","size":293,"stargazers_count":12,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-29T19:55:41.521Z","etag":null,"topics":["antigravity","claude-code","codex","opencode","tmux","vibe-coding","worktree-manager"],"latest_commit_sha":null,"homepage":"https://barrel.rs","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/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-05T13:33:21.000Z","updated_at":"2026-01-29T19:24:16.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/txtx/axel","commit_stats":null,"previous_names":["txtx/barrel","txtx/axel"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/txtx/axel","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/txtx","download_url":"https://codeload.github.com/txtx/axel/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/txtx%2Faxel/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29057116,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-03T20:13:53.544Z","status":"ssl_error","status_checked_at":"2026-02-03T20:13:40.507Z","response_time":96,"last_error":"SSL_read: 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":["antigravity","claude-code","codex","opencode","tmux","vibe-coding","worktree-manager"],"created_at":"2026-01-29T05:15:45.208Z","updated_at":"2026-02-03T21:01:15.711Z","avatar_url":"https://github.com/txtx.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# axel\n\nA CLI for AI-assisted development. Portable skills across LLMs. Reproducible terminal workspaces.\n\n## The Problem\n\nVibe coding is here. LLMs are racing to top benchmarks with infinite funding behind them. You want to switch when one pulls ahead—but your skills are stuck in `.claude/` or `.codex/`.\n\nNot using skills? You're leaving most of the LLM potential on the table. Copy-pasting them between tools? They drift out of sync.\n\nMeanwhile, your terminal is chaos and your IDE crashes and keep losing context.\n\n**axel fixes both and goes beyond.**\n\n## Features\n\n### Skill Portability\n\nWrite your skills once. axel symlinks them wherever they need to go.\n\n```\nskills/\n  code-reviewer.md\n  frontend-engineer.md\n  security-auditor.md\n```\n\n![Skill Portability](docs/agents.png)\n\n\nSwitch LLMs by changing one line. No more copy-pasting between `.claude/commands/` and `.codex/agents/`.\n\n### Reproducible Workspaces\n\nOne command. Your entire workspace materializes.\n\n```yaml\n# AXEL.md (frontmatter)\nworkspace: myproject\n\nlayouts:\n  panes:\n    - type: claude\n      skills: [\"*\"]\n    - type: backend\n      command: npm run dev\n      path: ./backend\n    - type: frontend\n      command: pnpm dev\n      path: ./frontend\n\n  grids:\n    default:\n      type: tmux\n      claude:\n        col: 0\n        row: 0\n      backend:\n        col: 1\n        row: 0\n      frontend:\n        col: 1\n        row: 1\n```\n\n```bash\naxel\n```\n\n![Tmux workspace layouts](docs/tmux-layout.png)\n\nClaude on the left, servers on the right. Close everything, come back tomorrow, run `axel` again—exactly where you left off.\n\n## Installation\n\n```bash\ncurl -sL https://install.axel.md | bash\n```\n\nOr build from source:\n\n```bash\ncargo install --path crates/cli\n```\n\n### Prerequisites\n\n- [tmux](https://github.com/tmux/tmux) for workspace management\n- One or more AI coding assistants\n\n### Supported LLMs\n\nSkills can be dispatched to any of the following LLMs:\n\n- [x] [Claude Code](https://claude.ai/code) - Anthropic\n- [x] [Codex](https://openai.com/codex) - OpenAI\n- [x] [OpenCode](https://opencode.ai) - Open source\n- [x] [Antigravity](https://antigravityai.org) - Google\n\n## Quick Start\n\n\u003e See the full [Quick Start guide](https://docs.axel.md/quick-start) for detailed instructions.\n\n```bash\n# Initialize a workspace in current directory\naxel init\n\n# Import your existing skills\naxel skill import ./.claude/commands/web-developer.md\naxel skill import ./skills/\n\n# Launch a single AI pane (skills are symlinked automatically)\naxel claude\n\n# Or launch the full workspace\naxel\n```\n\n\u003e **Note:** `axel bootstrap` exists to auto-discover skills across your machine, but it's experimental. We recommend manually importing skills with `axel skill import \u003cfile|dir\u003e` for more control.\n\n## Usage\n\n```bash\n# Daily workflow\naxel                          # Launch workspace from AXEL.md\naxel -w feat/auth             # Launch in a git worktree\naxel -k                       # Kill session and clean up\n\n# Sessions\naxel session list             # List running sessions\naxel session join \u003cname\u003e      # Attach to a session\naxel session kill \u003cname\u003e      # Kill a session\n\n# Layouts\naxel layout ls                # List available panes\n\n# Skills\naxel skill list               # List all skills\naxel skill import \u003cpath\u003e      # Import from file or directory\naxel skill new                # Create a new skill\naxel skill fork \u003cname\u003e        # Copy global skill locally\naxel skill link \u003cname\u003e        # Symlink global skill locally\n```\n\nSee the [CLI Reference](https://docs.axel.md/commands) for all options.\n\n## Configuration\n\n### Layouts\n\nDefine panes and grid layouts in the `layouts` section:\n\n```yaml\nlayouts:\n  # Pane definitions - what runs in each pane\n  panes:\n    # AI assistants\n    - type: claude\n      skills: [\"code-reviewer\", \"frontend-engineer\"]\n      model: sonnet\n\n    - type: codex\n      skills: [\"*\"]  # All skills\n\n    - type: antigravity\n      skills: [\"*\"]\n\n    # Custom commands\n    - type: backend\n      path: ./backend\n      command: npm run dev\n\n    - type: frontend\n      path: ./frontend\n      command: pnpm dev\n\n  # Grid layouts - how panes are arranged\n  grids:\n    default:\n      type: tmux  # tmux, tmux_cc (iTerm2), or shell\n      claude:\n        col: 0\n        row: 0\n      backend:\n        col: 1\n        row: 0\n        height: 50\n      frontend:\n        col: 1\n        row: 1\n```\n\n### Skills\n\nCentralize your skills:\n\n```yaml\nskills:\n  - path: ./skills           # Local skills\n  - path: ~/.config/axel/skills  # Global skills\n```\n\n## For Developers Who\n\n- Run multiple AI coding assistants and are tired of maintaining separate skill configs\n- Work across several repositories that need to be running simultaneously\n- Want reproducible dev environments they can spin up instantly\n- Believe their tooling should adapt to them, not the other way around\n\n## Links\n\n- [Website](https://axel.md)\n- [Documentation](https://docs.axel.md)\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxtx%2Faxel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftxtx%2Faxel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftxtx%2Faxel/lists"}