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

https://github.com/glav/teambot

An attempt to build an AI based 'team' that can be given a series of tasks to execute to conclusion as per an engineering team, and can work together to ensure it is done. Autonomous, requiring only daily objectives
https://github.com/glav/teambot

Last synced: about 1 month ago
JSON representation

An attempt to build an AI based 'team' that can be given a series of tasks to execute to conclusion as per an engineering team, and can work together to ensure it is done. Autonomous, requiring only daily objectives

Awesome Lists containing this project

README

          

# TeamBot

**Autonomous AI Agent Teams for Software Development**

TeamBot is a CLI tool that uses the [GitHub Copilot SDK](https://github.com/github/copilot-sdk) to enable collaborative, multi-agent AI workflows. Instead of single-threaded AI interactions, TeamBot orchestrates a team of specialized AI agents that work together autonomously to achieve development objectives.

[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/)
[![Tests](https://img.shields.io/badge/tests-1050%20passing-green.svg)]()
[![Coverage](https://img.shields.io/badge/coverage-80%25-green.svg)]()

## Installation

### Prerequisites

- **Python 3.10 or later** - [Download Python](https://www.python.org/downloads/)
- **uv** - [Install uv](https://astral.sh/uv)
- **GitHub Copilot CLI** - [Install Copilot CLI](https://githubnext.com/projects/copilot-cli/) and authenticate with `copilot login`

### Terminal Requirements

TeamBot's split-pane UI works with all modern terminal emulators. For the best experience:

* **VSCode integrated terminal** - Recommended (Kitty protocol support enabled by default)
* **Kitty**, **Alacritty**, **WezTerm** - Full support for enhanced keyboard protocol
* **Standard terminals** - xterm, GNOME Terminal, Konsole, Terminal.app all work correctly

For troubleshooting input issues, see [Terminal Compatibility Guide](docs/guides/terminal-compatibility.md).

### Installation Methods

| Method | Command | Best For |
|--------|---------|----------|
| **uvx (git)** | `uvx --from git+https://github.com/glav/teambot teambot` | Quick evaluation |
| **Devcontainer** | See [installation guide](docs/guides/installation.md) | VS Code / Codespaces |
| **Docker** | `docker run ghcr.io/glav/teambot` | No Python environment |
| **From source** | See below | Development |

### Install from Source

```bash
git clone https://github.com/glav/teambot.git
cd teambot
uv sync
uv run teambot --version
```

### Verify Installation

```bash
teambot --version
teambot --help
```

## Key Features

- 🤖 **6 Specialized Agent Personas** - PM, BA, Writer, 2 Builders, Reviewer
- 📋 **14-Stage Prescriptive Workflow** - From setup through acceptance testing to completion
- 🔄 **Autonomous Operation** - Define objectives in markdown, let the team execute
- ⚡ **Parallel Builders** - builder-1 and builder-2 execute concurrently
- 💬 **Interactive REPL** - Ad-hoc tasks with pipelines and multi-agent mode
- ⚙️ **Configurable** - Custom stages, models, and workflows

### Interactive mode
![Screenshot](./docs/guides/teambot-shot1.png)

### Autonomous mode
![Screenshot](./docs/guides/teambot-shot2.png)
![Screenshot](./docs/guides/teambot-shot3.png)

## Quick Start

```bash
# Initialize TeamBot in your project
teambot init

# Run with an objective file
teambot run objectives/my-feature.md

# Or start interactive mode
teambot run
```

## Worktree Isolation

TeamBot supports isolated execution using Git worktrees, enabling parallel feature development:

```bash
# Run objective in isolated worktree
teambot run objectives/my-feature.md --worktree

# With explicit branch name
teambot run objectives/my-feature.md --worktree --branch feat/custom-name
```

**Requirements**: Git 2.5+

**Behavior**:
- Creates worktree at `.teambot-worktrees//`
- State files scoped to worktree (no cross-contamination)
- Visual indicators show current branch in REPL and stage headers
- Worktree persists after completion for user review

See [Worktree Isolation Guide](docs/guides/worktree-isolation.md) for detailed usage.

## Environment Configuration

TeamBot automatically loads environment variables from `.env` files with hierarchical discovery:

```bash
# Default: loads .env from current directory + parent directories
teambot run objectives/my-task.md

# Load from specific file only (disables auto-discovery)
teambot --env-file /path/to/.env run objectives/my-task.md

# Disable .env loading (useful for CI)
teambot --no-env run objectives/my-task.md
```

**Precedence**: When multiple `.env` files exist, values are merged with the current directory taking precedence over parent directories.

### What `teambot init` Creates

The init command sets up your project with:

- `teambot.json` - Configuration file for agents and workflows
- `.teambot/` - Directory for workflow state and history
- `stages.yaml` - Workflow stage definitions (if not exists)
- `AGENTS.md` - Agent documentation (if not exists)
- `.github/agents/` - Agent persona definitions (if not exists)
- `.agent/` - SDD commands, instructions, and standards (if not exists)
- `docs/sdd-objective-template.md` - Objective template (if not exists)

**Existing files are never overwritten.** Use `teambot init --force` to reset all scaffold files.

For development from source, see [Development Guide](docs/guides/development.md).

## Documentation

| Guide | Description |
|-------|-------------|
| [Getting Started](docs/guides/getting-started.md) | Installation, setup, first run, troubleshooting |
| [File-Based Orchestration](docs/guides/file-based-orchestration.md) | Running objectives autonomously |
| [Interactive Mode](docs/guides/interactive-mode.md) | REPL, pipelines, multi-agent mode |
| [Worktree Isolation](docs/guides/worktree-isolation.md) | Parallel feature development with Git worktrees |
| [CLI Reference](docs/guides/cli-reference.md) | All commands and options |
| [Agent Personas](docs/guides/agent-personas.md) | The 6 specialized AI agents |
| [Workflow Stages](docs/guides/workflow-stages.md) | 14-stage development process |
| [Configuration](docs/guides/configuration.md) | teambot.json, stages.yaml, models |
| [Objective Format](docs/guides/objective-format.md) | Writing objective files |
| [Shared Workspace](docs/guides/shared-workspace.md) | .teambot/ directory structure |
| [Development](docs/guides/development.md) | Contributing and development setup |
| [Architecture](docs/guides/architecture.md) | Internal components and design |

## License

MIT License - see [LICENSE](LICENSE) file for details.

## Contributing

See [Development Guide](docs/guides/development.md) for setup and contribution guidelines.

---


Made with 🤖 by TeamBot