macot
Multi Agent Control Tower for your terminal: orchestrate parallel coding agents with one Rust-native command line and a focused TUI.
Key Features
⚡ Parallel orchestration: run multiple experts concurrently in isolated tmux panes.🧠 Role-based execution: assign specialized roles (architect,frontend,backend,tester, and more).🖥️ Control Tower TUI: dispatch tasks, monitor states, and inspect reports from one screen.🌲 Worktree-friendly workflows: launch experts against isolated workspaces to reduce branch conflicts.🧩 Configurable by design: tune experts, roles, timeouts, and paths via YAML.🔒 Local-first architecture: file-based coordination and queue state, no external control service required.🦀 Rust fundamentals: safety, performance, and maintainability built into the runtime.
Installation
Prerequisites
- Rust toolchain (
rustup,cargo) - tmux
- Current runtime integration: Claude CLI
Install from crates.io
Install from source
Homebrew (coming soon)
Prebuilt binaries (coming soon)
Download from GitHub Releases (TBD).
Quick Start
Run this inside a project directory:
# 1) Start a session (defaults to current directory and 4 experts)
# 2) Open the control tower UI
# 3) Pick an expert, enter a task, submit
Within ~30 seconds, you should see experts move from idle to active and reports start appearing in the TUI.
Usage
Command Overview
| Command | Purpose |
|---|---|
macot start [project_path] |
Initialize a session and launch experts |
macot tower [session_name] |
Open the control tower UI |
macot status [session_name] |
Print live session/expert status |
macot sessions |
List running macot-* sessions |
macot down [session_name] |
Stop a session gracefully (or force) |
macot reset expert <id|name> |
Reset one expert context/runtime |
Common Examples
# Start in current directory
# Start with explicit project path and 6 experts
# Start with custom config
# Open UI (auto-resolves when exactly one session exists)
# Open UI for a specific session
# Status for active/specific session
# List all sessions
# Graceful shutdown / force shutdown / cleanup
# Reset one expert by id or name
Primary Options
start-n, --num-experts <N>: override expert count-c, --config <PATH>: load custom config filedown-f, --force: kill without graceful exit--cleanup: remove session context data after shutdownreset expert-s, --session <NAME>: target session explicitly--keep-history: clear working context while preserving history--full: full reset and Claude session restart
Contributing
Contributions are welcome. macot follows standard Rust OSS practices: small focused PRs, clear rationale, and tests for behavior changes.
- Open an issue for large changes to align on approach.
- Keep PRs scoped and reviewable.
- Update docs/tests with code changes when relevant.
# Build
# Test
# Lint
# Full local CI checks
Rust values apply here: safety, correctness, and fearless concurrency in real workflows.
License
Apache-2.0 © Cassin01