Skip to content

suzuke/agend-terminal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2,714 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

繁體中文

CI Crates.io License: Apache 2.0 Status: Pre-alpha

AgEnD Terminal

Orchestrate AI coding agents — not just run them.

AgEnD Terminal — orchestrating a fleet of AI coding agents in a multi-pane TUI

Declare your entire AI dev team in one fleet.yaml. AgEnD Terminal launches each agent as a long-lived PTY process with its own git worktree, wires up inter-agent communication via built-in MCP tools, and keeps everything running with auto-respawn and context handover.

Features

  • Fleet-as-code — One YAML file declares every agent's backend, role, working directory, and team membership. agend-terminal start brings the whole fleet up.
  • 5 backends — Claude Code, Codex, Kiro, OpenCode, and Antigravity CLI. Swap backends by changing one field.
  • Built-in agent coordination — Agents delegate tasks, query each other, and broadcast updates through 27 MCP tools. No glue code.
  • Automatic git worktree isolation — Each agent works in its own worktree. No merge conflicts between agents, no accidental cross-contamination.
  • Crash recovery with context handover — Agents auto-respawn and resume their conversation. Exponential backoff, health monitoring, and hung detection built in.
  • Remote control — Drive the fleet through a multi-pane TUI, Telegram, or Discord. Get notifications when agents need attention.

Quick Start

cargo install agend-terminal
agend-terminal quickstart    # Interactive setup in 2 minutes
agend-terminal app           # Launch the TUI — every agent's pane in one screen

Unattended setup (CI / scripts)

quickstart --unattended never reads stdin and never waits on the network — missing required input is a clear error and a non-zero exit, not a hang. The backend is the first one detected on PATH (errors out listing install commands if none); Telegram is optional and comes from the environment:

# Minimal (no Telegram — channel block is generated commented-out):
agend-terminal quickstart --unattended

# With Telegram (token is stored unverified; the daemon validates at startup):
AGEND_TELEGRAM_BOT_TOKEN=123:abc \
AGEND_TELEGRAM_GROUP_ID=-1001234567890 \
agend-terminal quickstart --unattended

Re-runs are idempotent: an existing fleet.yaml is never overwritten, and an existing .env token is only replaced when AGEND_TELEGRAM_BOT_TOKEN is explicitly set (e.g. a CI token rotation). Example GitHub Actions step:

- name: Bootstrap agend-terminal
  env:
    AGEND_TELEGRAM_BOT_TOKEN: ${{ secrets.AGEND_TELEGRAM_BOT_TOKEN }}
  run: |
    cargo install agend-terminal
    agend-terminal quickstart --unattended

Architecture

graph LR
    Op[Operator] -->|TUI / Telegram / Discord| D[Daemon]
    F[fleet.yaml] --> D
    D --> A1[Agent PTY<br/>Claude Code]
    D --> A2[Agent PTY<br/>Codex]
    D --> A3[Agent PTY<br/>Kiro]
    D --> AN[Agent PTY<br/>...]
    A1 <-->|MCP bridge| A2
    A2 <-->|MCP bridge| A3
    A1 <-->|MCP bridge| A3
    D ---|worktree per agent| G[(Git repo)]
    D ---|health monitor<br/>auto-respawn| A1
Loading

Why Not tmux?

tmux + shell scripts agend-terminal
Input injection send-keys race conditions Atomic PTY write
Output capture Screen scraping VTerm state tracking
Agent health Manual monitoring Auto-respawn + state detection
Multi-agent comms Custom IPC Built-in MCP tools
Git isolation Manual worktrees Auto per-agent worktree

Backends

Backend Command Status
Claude Code claude Tested
Kiro CLI kiro-cli Tested
Codex codex Tested
OpenCode opencode Tested
Antigravity CLI agy Tested

Gemini CLI was retired in #1580 (it sunsets 2026-06-18 for free/Pro/Ultra tiers). Antigravity CLI (agy) is its official successor and a supported Fleet MCP backend (#1547). A gemini backend in fleet.yaml now spawns as a generic Raw backend. agy refuses any workspace whose path has a dot-prefixed (hidden) ancestor, so daemon agents under ~/.agend-terminal were invisible to it. The daemon now creates a non-hidden link (<base>/<instance> → the hidden real workspace) and spawns agy with $PWD pointed at that link, clearing agy's hidden-path guard while the real files stay under $AGEND_HOME. configure_agy writes the project-scoped .agents/mcp_config.json + .agents/AGENTS.md (agy's official Customization Roots), so agy loads the fleet send/inbox/task tools like every other backend.

Feature stability

Everything is pre-alpha (see the banner up top) — this table is relative maturity to set expectations, not a production-readiness guarantee. Tiers can change between minor versions.

Tier Meaning
Beta Heavily exercised, broad test coverage; behavior mostly settled
Experimental Works but young or narrowly exercised; expect rough edges + changes
Opt-in Off by default; enable via a Cargo feature or env flag
Area Tier Notes
Fleet orchestration (fleet.yaml, PTY spawn, supervision, auto-respawn) Beta Core path; extensive tests
Git worktree isolation Beta Per-agent worktree lease / release / GC
MCP coordination tools (27) Beta send / inbox / task / …
Task board Beta Append-only event log (schema v2)
Telegram channel Beta The only fully-implemented channel
Claude Code / Codex / Kiro / OpenCode backends Beta Tested
Antigravity CLI (agy) backend Experimental Newer (#1547); workspace-link shim
Shadow Observer state plane Experimental Additive, observe-only (#2413); kill-switch AGEND_SHADOW_OBSERVER=0
CI watch + PR auto-close sweep Experimental GitHub / GitLab / Bitbucket pollers
Ephemeral cross-backend workers Experimental · opt-in, no MCP surface #2547: ephemeral MCP tool retired (zero calls); tracking/reap infra retained pending #2548 P1. Real backend gated by AGEND_EPHEMERAL_REAL_BACKEND
Discord channel Experimental · opt-in --features discord
Menu-bar tray Experimental · opt-in --features tray

Kill-switches and feature flags are documented in env vars and configuration.

Documentation

Start here:

Feature guides

Core

Advanced

Maintenance

Reference

Git Behavior

agend-terminal modifies git behavior for spawned agents (PATH shim, commit trailers, deny matrix, daemon-managed worktrees). Your own terminal is not affected. Read docs/GIT-BEHAVIOR.md before starting the daemon.

Contributing

Contributions are welcome — see CONTRIBUTING.md. All commits must be signed off (git commit -s) to certify the Developer Certificate of Origin; CI enforces this on every pull request.

License

Licensed under the Apache License 2.0.

About

Rust-based Agent Process Manager — PTY multiplexer optimized for AI CLI agents

Resources

License

Contributing

Stars

12 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors

Languages