Quick Start

Get up and running with axel in just a few minutes.

Part 1: Skills

1

Import Your Skills

Start by importing your existing skill files into axel's global directory:

$ axel skill import ./.claude/skills/web-developer

You can also import an entire directory of skills:

$ axel skill import ./skills/

Verify your imported skills:

$ axel skill ls

Skills are stored in ~/.config/axel/skills, making them available across all your workspaces.

Experimental: axel bootstrap can auto-discover skills across your machine, but we recommend manual import for more control.

2

Initialize a Workspace

In an existing repository, initialize an axel workspace:

$ axel init

This creates a minimal AXEL.md in your project:

AXEL.md
workspace: my-project

layouts:
  panes:
    - type: claude
      skills:
        - "*"

  grids:
    default:
      type: tmux
      claude:
        col: 0
        row: 0
3

Launch Claude

Launch the Claude pane to see your skills in action:

$ axel claude

You'll see output like this:

$ axel claude
Installing skills...
→ .claude/skills/web-developer (symlink)
→ .claude/skills/rust-developer (symlink)
Launching claude...

axel creates symlinks from your centralized skills to Claude's expected location. This happens for each supported AI (Claude, Codex, OpenCode, Antigravity) - same skills, different destinations.

When the session ends, axel cleans up the symlinks automatically. Your skills stay in one place, portable across all LLMs.

Part 2: Grid Layouts

Now let's set up a proper workspace with tmux. Grid layouts define how your panes are arranged.

4

Add a Grid Layout

Update your manifest to include Claude on the left, and two custom panes stacked on the right:

AXEL.md
workspace: my-project

layouts:
  panes:
    - type: claude
      skills:
        - "*"
    - type: shell
    - type: server
      command: npm run dev

  grids:
    default:
      type: tmux
      claude:
        col: 0
        row: 0
      shell:
        col: 1
        row: 0
        color: yellow
      server:
        col: 1
        row: 1
        color: blue
5

Launch the Workspace

Start your full workspace:

$ axel

axel creates a tmux session named after your project, with all panes arranged according to your grid:

claude
waiting for input...
shell
$ _
server
npm run dev

Why tmux?

tmux sessions persist even when you close your terminal. If you accidentally close a window or disconnect, just run axel again to reattach. Your Claude conversation, running servers, and shell history are all preserved.

6

Killing a Workspace

When you're done, kill the workspace to clean up skills and terminate the tmux session:

$ axel -k my-project

axel cleans up symlinks and restores your environment:

$ axel -k my-project
Stopping workspace my-project...
Cleaning skills...
→ removed .claude/skills/web-developer
→ removed .claude/skills/rust-developer
Killing tmux session...
✔ Workspace my-project terminated
7

Complex Layouts

For fullstack development, you can create elaborate layouts with multiple AIs and services:

AXEL.md
workspace: fullstack

layouts:
  panes:
    - type: claude
      skills: ["*"]
    - type: codex
      skills: ["*"]
    - type: frontend
      command: pnpm dev
    - type: backend
      command: cargo watch -x run
    - type: logs_fe
      command: tail -f logs/frontend.log
    - type: logs_be
      command: tail -f logs/backend.log

  grids:
    default:
      type: tmux
      claude:
        col: 0
        row: 0
      frontend:
        col: 0
        row: 1
      logs_fe:
        col: 1
        row: 1
        color: gray
      codex:
        col: 2
        row: 0
      backend:
        col: 2
        row: 1
      logs_be:
        col: 3
        row: 1
        color: gray

This creates a workspace with two AIs working on different parts of your stack:

claude
frontend tasks...
frontend
pnpm dev
logs_fe
[info] ready
codex
backend tasks...
backend
cargo watch
logs_be
[info] listening

Next Steps

On this page