An open API service indexing awesome lists of open source software.

https://github.com/txtx/axel

Portable agents across LLMs, reproducible terminal workspaces. Tmux, Git worktrees.
https://github.com/txtx/axel

antigravity claude-code codex opencode tmux vibe-coding worktree-manager

Last synced: 13 days ago
JSON representation

Portable agents across LLMs, reproducible terminal workspaces. Tmux, Git worktrees.

Awesome Lists containing this project

README

          

# axel

A CLI for AI-assisted development. Portable skills across LLMs. Reproducible terminal workspaces.

## The Problem

Vibe 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/`.

Not using skills? You're leaving most of the LLM potential on the table. Copy-pasting them between tools? They drift out of sync.

Meanwhile, your terminal is chaos and your IDE crashes and keep losing context.

**axel fixes both and goes beyond.**

## Features

### Skill Portability

Write your skills once. axel symlinks them wherever they need to go.

```
skills/
code-reviewer.md
frontend-engineer.md
security-auditor.md
```

![Skill Portability](docs/agents.png)

Switch LLMs by changing one line. No more copy-pasting between `.claude/commands/` and `.codex/agents/`.

### Reproducible Workspaces

One command. Your entire workspace materializes.

```yaml
# AXEL.md (frontmatter)
workspace: myproject

layouts:
panes:
- type: claude
skills: ["*"]
- type: backend
command: npm run dev
path: ./backend
- type: frontend
command: pnpm dev
path: ./frontend

grids:
default:
type: tmux
claude:
col: 0
row: 0
backend:
col: 1
row: 0
frontend:
col: 1
row: 1
```

```bash
axel
```

![Tmux workspace layouts](docs/tmux-layout.png)

Claude on the left, servers on the right. Close everything, come back tomorrow, run `axel` again—exactly where you left off.

## Installation

```bash
curl -sL https://install.axel.md | bash
```

Or build from source:

```bash
cargo install --path crates/cli
```

### Prerequisites

- [tmux](https://github.com/tmux/tmux) for workspace management
- One or more AI coding assistants

### Supported LLMs

Skills can be dispatched to any of the following LLMs:

- [x] [Claude Code](https://claude.ai/code) - Anthropic
- [x] [Codex](https://openai.com/codex) - OpenAI
- [x] [OpenCode](https://opencode.ai) - Open source
- [x] [Antigravity](https://antigravityai.org) - Google

## Quick Start

> See the full [Quick Start guide](https://docs.axel.md/quick-start) for detailed instructions.

```bash
# Initialize a workspace in current directory
axel init

# Import your existing skills
axel skill import ./.claude/commands/web-developer.md
axel skill import ./skills/

# Launch a single AI pane (skills are symlinked automatically)
axel claude

# Or launch the full workspace
axel
```

> **Note:** `axel bootstrap` exists to auto-discover skills across your machine, but it's experimental. We recommend manually importing skills with `axel skill import ` for more control.

## Usage

```bash
# Daily workflow
axel # Launch workspace from AXEL.md
axel -w feat/auth # Launch in a git worktree
axel -k # Kill session and clean up

# Sessions
axel session list # List running sessions
axel session join # Attach to a session
axel session kill # Kill a session

# Layouts
axel layout ls # List available panes

# Skills
axel skill list # List all skills
axel skill import # Import from file or directory
axel skill new # Create a new skill
axel skill fork # Copy global skill locally
axel skill link # Symlink global skill locally
```

See the [CLI Reference](https://docs.axel.md/commands) for all options.

## Configuration

### Layouts

Define panes and grid layouts in the `layouts` section:

```yaml
layouts:
# Pane definitions - what runs in each pane
panes:
# AI assistants
- type: claude
skills: ["code-reviewer", "frontend-engineer"]
model: sonnet

- type: codex
skills: ["*"] # All skills

- type: antigravity
skills: ["*"]

# Custom commands
- type: backend
path: ./backend
command: npm run dev

- type: frontend
path: ./frontend
command: pnpm dev

# Grid layouts - how panes are arranged
grids:
default:
type: tmux # tmux, tmux_cc (iTerm2), or shell
claude:
col: 0
row: 0
backend:
col: 1
row: 0
height: 50
frontend:
col: 1
row: 1
```

### Skills

Centralize your skills:

```yaml
skills:
- path: ./skills # Local skills
- path: ~/.config/axel/skills # Global skills
```

## For Developers Who

- Run multiple AI coding assistants and are tired of maintaining separate skill configs
- Work across several repositories that need to be running simultaneously
- Want reproducible dev environments they can spin up instantly
- Believe their tooling should adapt to them, not the other way around

## Links

- [Website](https://axel.md)
- [Documentation](https://docs.axel.md)

## License

MIT