DocsAgent Workflows
View as Markdown

Agents

Git worktrees and Docker containers for AI agent isolation

Overview#

Agents in Agentastic are isolated development environments where AI coding assistants work without interfering with your main workspace. Each agent gets either a git worktree (a separate checkout of your repository) or a Docker container (a fully isolated environment).

Git Worktrees#

What is a Worktree?#

A git worktree is a linked working copy of your repository. Unlike branches (which share a single working directory), worktrees give each branch its own complete directory with all your files.

code
~/projects/ ├── my-app/ # Main worktree (your workspace) ├── my-app-worktrees/ │ ├── feature-auth/ # Agent 1's worktree │ ├── feature-api/ # Agent 2's worktree │ └── bugfix-login/ # Agent 3's worktree

Why Worktrees?#

  • No conflicts - Each agent edits its own copy of files
  • Parallel work - Multiple agents can work simultaneously
  • Easy comparison - Diff between your work and agent's work
  • Safe experimentation - Delete a worktree if you don't like the results

Worktree Storage Locations#

Configure where worktrees are created in Settings > Agents:

LocationPath PatternBest For
Inside Reporepo/.worktree/branch-nameSelf-contained projects
Adjacent (Default)repo-worktrees/branch-nameClean separation
Global~/worktrees/repo/branch-nameCentralized management

Creating a Worktree#

From Agent Home:

  1. Open Agent Home
  2. Enter your prompt and branch name
  3. Click Send - the worktree is created automatically

From Settings:

  1. Open Settings > Agents
  2. Click Create Agent
  3. Choose branch and options

From Terminal:

bash
git worktree add ../my-project-worktrees/feature-x -b feature-x

Switching Between Worktrees#

ActionShortcut
Switch WorktreeCtrl+Tab
Next AgentCmd+Option+Down
Previous AgentCmd+Option+Up

Or use the Navigator sidebar to click on a worktree.

Removing a Worktree#

  1. Settings > Agents - Right-click, select Remove
  2. Terminal: git worktree remove path/to/worktree
  3. Cleanup stale refs: git worktree prune

Organizing Agents in the Navigator#

Open the Agents tab in the Navigator with Cmd+4. Each row shows the agent's icon, an activity indicator when its agent is running, and a cloud badge for cloud worktrees.

Grouping Modes#

Switch how worktrees are grouped from the ⋯ menu at the bottom of the Agents navigator (a checkmark marks the active mode):

ModeLayout
Group by Repository (default)Worktrees grouped under their repository, then by pinned status and label
Sort by Recent ActivityA flat, time-bucketed list across all repositories, ordered by latest agent activity
Sort by Creation DateThe same flat list, bucketed and ordered strictly by when each worktree was created

Flat Views#

Both flat modes bucket worktrees into time ranges, so you don't have to hunt for recent work:

  • Pinned — worktrees you've pinned, always first
  • Today
  • Last 7 Days
  • Last 30 Days
  • Backlog — nothing in the last 30 days
  • Archived — worktrees you've archived

Sort by Recent Activity keeps your most recent work on top: a worktree moves up to a more recent bucket whenever its agent runs or you work in its terminal, and an agent waiting for your input floats to the top of its bucket.

Sort by Creation Date is a stable timeline: worktrees are bucketed and ordered by creation time (newest first), and agent activity never reshuffles them.

In either mode, pin an agent (right-click → Pin) to keep it at the top, and Archive finished work to tuck it into the Archived section without deleting it.

Docker Containers#

For maximum isolation, run agents inside Docker containers. Each container has:

  • Isolated filesystem and network
  • Pre-installed AI tools
  • Your worktree mounted at /workspace
  • Configurable resource limits

Enabling Containers#

  1. Install Docker Desktop
  2. Open Agent Home
  3. Toggle Mode from "Worktree" to "Container"
  4. Select a container image
  5. Launch your agent

Available Images#

ImageDescription
agentastic/cloud-baseAll-in-one: Claude Code, Codex, and common agent tools
docker/sandbox-templates:claude-codeOfficial Claude Code sandbox
paulgauthier/aider-fullAider AI assistant
node:22-bookwormNode.js environment
python:3.12-bookwormPython environment

Container Mounts#

Containers automatically get these mounts:

HostContainerPurpose
Your worktree/workspaceCode editing
Container home dir/rootTool state persistence
~/.gitconfig/root/.gitconfigGit identity (optional)
~/.ssh//root/.ssh/SSH keys (optional)

Network Modes#

ModeDescription
BridgeFull network access (default)
RestrictedLimited to specific endpoints
NoneNo network access

Configure in Settings > Agents > Network Mode.

Supported AI Agents#

Agentastic ships with 40 built-in agent definitions and auto-discovers them when installed. Here are some of the most popular:

Claude Code (Anthropic)#

bash
npm install -g @anthropic-ai/claude-code

Codex (OpenAI)#

bash
npm install -g @openai/codex

Open Interpreter#

bash
curl -fsSL https://www.openinterpreter.com/install | sh

Command Code (Langbase)#

bash
npm i -g command-code

Gemini (Google)#

bash
npm install -g @google/gemini-cli

Antigravity (Google)#

bash
curl -fsSL https://antigravity.google/cli/install.sh | bash

Jules (Google)#

bash
npm install -g @google/jules

Grok Build (xAI)#

bash
curl -fsSL https://x.ai/cli/install.sh | bash

Devin (Cognition)#

bash
curl -fsSL https://cli.devin.ai/install.sh | bash

Hermes Agent (Nous Research)#

bash
curl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash

Official docsGitHub

Cursor#

bash
curl https://cursor.com/install -fsSL | bash

Cursor's terminal coding agent. Supports auto-approve (--yolo), resume (--continue), initial prompt, and sandbox control (--sandbox enabled|disabled). See the official docs.

GitHub Copilot#

bash
npm install -g @github/copilot

Junie (JetBrains)#

bash
curl -fsSL https://junie.jetbrains.com/install.sh | bash

OpenHands#

bash
uv tool install openhands

Letta Code#

bash
npm install -g @letta-ai/letta-code

Cortex Code (Snowflake)#

bash
curl -LsS https://ai.snowflake.com/static/cc-scripts/install.sh | sh

Aider#

bash
curl -LsSf https://aider.chat/install.sh | sh

All Built-in Agents#

AgentCLI CommandInstall
Agentasticagentastic execBuilt-in
Claude Codeclaudenpm install -g @anthropic-ai/claude-code
Codexcodexnpm install -g @openai/codex
Open Interpreterinterpretercurl -fsSL https://www.openinterpreter.com/install | sh
Command Codecmdnpm i -g command-code
Cursorcursor-agentcurl https://cursor.com/install -fsSL | bash
Geminigemininpm install -g @google/gemini-cli
Antigravityagycurl -fsSL https://antigravity.google/cli/install.sh | bash
Julesjulesnpm install -g @google/jules
Grok Buildgrokcurl -fsSL https://x.ai/cli/install.sh | bash
Devindevincurl -fsSL https://cli.devin.ai/install.sh | bash
Hermes Agenthermescurl -fsSL https://raw.githubusercontent.com/NousResearch/hermes-agent/main/scripts/install.sh | bash
Qwen Codeqwennpm install -g @qwen-code/qwen-code
Droiddroidcurl -fsSL https://app.factory.ai/cli | sh
Ampampnpm install -g @sourcegraph/amp@latest
OpenCodeopencodenpm install -g opencode-ai
GitHub Copilotcopilotnpm install -g @github/copilot
Charmcrushnpm install -g @charmland/crush
Auggieauggienpm install -g @augmentcode/auggie
Goosegoosecurl -fsSL https://github.com/block/goose/releases/download/stable/download_cli.sh | bash
Kimikimiuv tool install kimi-cli
Kilocodekilocodenpm install -g @kilocode/cli
Kirokiro-clicurl -fsSL https://cli.kiro.dev/install | bash
Rovo Devacli rovodev runbrew install atlassian/acli/acli && acli rovodev auth login
Clineclinenpm install -g cline
Continuecnnpm install -g @continuedev/cli
Codebuffcodebuffnpm install -g codebuff
Freebufffreebuffnpm install -g freebuff
Mistral Vibevibecurl -LsSf https://mistral.ai/vibe/install.sh | bash
Pipinpm install -g @mariozechner/pi-coding-agent
Aideraidercurl -LsSf https://aider.chat/install.sh | sh
Autohand Codeautohandcurl -fsSL https://autohand.ai/install.sh | bash
Letta Codelettanpm install -g @letta-ai/letta-code
OpenHandsopenhandsuv tool install openhands
Cortex Codecortexcurl -LsS https://ai.snowflake.com/static/cc-scripts/install.sh | sh
Juniejuniecurl -fsSL https://junie.jetbrains.com/install.sh | bash
mini-SWE-agentminiuv tool install mini-swe-agent
OB-1ob1curl -fsSL https://dashboard.openblocklabs.com/install | bash
CodeRabbit (review)coderabbitcurl -fsSL https://cli.coderabbit.ai/install.sh | sh
Greptile (review)greptilecurl -fsSL https://greptile.com/cli/install | bash

Custom Agents#

Add any TUI agent in Settings > Connections. The command should accept a prompt or work interactively.

Picking the right agent#

Not sure which agent fits your workflow? Compare the popular options:

Agent Lifecycle#

code
1. Create └── Worktree created (or container started) └── Setup script runs └── Agent CLI launched 2. Work └── Agent receives your prompt └── Agent makes changes └── You monitor progress 3. Review └── View diff of changes └── Run code review (optional) └── Test in agent's environment 4. Complete └── Push and create PR, or └── Merge directly, or └── Discard changes 5. Cleanup └── Remove worktree └── Delete branch (optional) └── Container removed (if used)

CLI Control#

Agentastic agents can be controlled programmatically.

Inside Agentastic terminals, the internal dev CLI is injected automatically:

bash
dev notify --title "Need input" --body "Should I apply this migration?" dev browser snapshot dev repomix --editor dev create checkout-flow --agents claude,codex

Outside the app, install the system-wide dev CLI from Agentastic -> Install Shell Integration...:

bash
dev agent create --repo ~/code/my-app --agent codex --prompt "Fix the failing checkout tests." dev --json agents dev tail <terminal_id> 80 dev send <terminal_id> "Run the focused tests again."

See Internal dev CLI, System-wide dev CLI, and Programmatic Control.

Best Practices#

Naming Conventions#

Use descriptive branch names:

  • feature-user-auth
  • fix-login-bug
  • refactor-api-client

One Task Per Agent#

Keep tasks focused. Instead of "build the whole feature," try:

  • "Add the database schema for users"
  • "Create the API endpoints"
  • "Build the frontend components"

Review Before Merging#

Always:

  1. Check the diff
  2. Run AI code review
  3. Test the changes
  4. Verify no regressions

Clean Up Regularly#

Remove old worktrees to:

  • Free disk space
  • Keep the agent list manageable
  • Avoid branch name conflicts

Troubleshooting#

"Branch already checked out"#

A branch can only exist in one worktree. Either remove the existing worktree or use a different branch name.

Container won't start#

  1. Verify Docker Desktop is running
  2. Check image exists: docker images
  3. Review container logs in Settings > Agents

Agent not discovered#

Ensure the agent CLI is:

  1. Installed globally
  2. In your PATH
  3. Executable (which agent-name)