AI agents collaborating like real engineering teams
Project description
GOTG
GOTG is an AI product and engineering department. We've taken real-world experience working with high-performing engineering teams and distilled it into a development tool built for AI-assisted software development. Instead of treating AI as a tool inside your editor, GOTG treats AI agents as team members with roles, autonomy, and communication responsibilities. This isn't multiple agents working on isolated tasks — it's AI agents and humans collaborating like real engineering teams, following a structure that ensures higher quality and safer products.
Prerequisites
- Python 3.11+
- Git (required —
gotg initrequires a git repository) - One of:
- Anthropic API key (recommended, default — Claude Sonnet 4.6)
- OpenAI API key (GPT-4.1 mini, GPT-4.1, o3, o4-mini)
- Gemini API key (Gemini 2.5 Flash, Gemini 2.5 Pro)
- Ollama running locally (free, no API key needed)
Install
git clone https://github.com/biff-ai/gotg.git
cd gotg
python3 -m venv .venv
source .venv/bin/activate
pip install -e .
# Optional: install the TUI
pip install -e ".[tui]"
Quickstart
mkdir my-project && cd my-project
git init -b main && echo "# my-project" > README.md && git add . && git commit -m "init"
gotg init .
gotg model anthropic
echo "ANTHROPIC_API_KEY=sk-ant-..." > .env
gotg new "Build a CLI todo list app"
gotg run
Agents discuss your task through five phases: refinement, planning, pre-code-review, implementation, and code-review. The coach signals when each phase is ready to advance. You control transitions with gotg advance.
For the full walkthrough, see the User Guide.
How It Works
GOTG puts you in the role of Product Manager. AI agents discuss and design based on your task description, guided through structured phases by an AI coach. Tasks are organized into dependency layers. Each layer cycles through: implementation → code-review → merge → next-layer.
See the User Guide for phases, layers, and conversation mechanics.
Commands
Core
| Command | Description |
|---|---|
gotg init [path] |
Initialize .team/ in a git repo |
gotg new "description" |
Create a new iteration |
gotg run [--max-turns N] [--layer N] |
Start the agent conversation |
gotg continue [-m MSG] [--max-turns N] |
Resume with optional human input |
gotg show |
Replay the conversation log |
gotg advance |
Advance to the next phase |
gotg model [provider] [model] |
View or change model config |
Worktrees & Merge
| Command | Description |
|---|---|
gotg worktrees |
List active worktrees with status |
gotg commit-worktrees [-m MSG] |
Commit all dirty worktrees |
gotg review [branch] [--layer N] [--stat-only] |
Review agent diffs against main |
gotg merge <branch | all> [--layer N] [--abort] |
Merge agent branches into main |
gotg next-layer |
Advance to the next task layer (after merging) |
gotg rework |
Send tasks back for rework after changes_requested review |
File Approvals
| Command | Description |
|---|---|
gotg approvals |
Show pending file write requests |
gotg approve <id | all> |
Approve a pending write |
gotg deny <id> [-m reason] |
Deny a pending write with reason |
Exploration
| Command | Description |
|---|---|
gotg explore start "topic" [--coach] [--slug S] |
Start a new exploration |
gotg explore continue <slug> [-m MSG] [--max-turns N] |
Resume an exploration |
gotg explore list |
List all exploration sessions |
gotg explore show <slug> |
Replay an exploration conversation |
gotg explore summarize <slug> |
Generate summary from conversation |
See User Guide — Exploration for context injection, read-only file tools, and TUI usage.
Terminal UI
gotg ui
Launches a Textual-based terminal interface for managing iterations, running sessions, and reviewing code. Requires pip install gotg[tui].
See the User Guide — TUI Walkthrough for screen descriptions and key bindings.
Development Setup
git clone https://github.com/biff-ai/gotg.git
cd gotg
python3.11 -m venv .venv
source .venv/bin/activate
pip install -e .
pip install pytest
gotg --help
pytest -q
The editable install (pip install -e .) means the gotg command points directly at source files. Edit code and re-run without reinstalling.
Running tests
pytest -q # all tests
pytest tests/test_worktree.py # just worktree tests
pytest -k "merge" # tests matching "merge"
Supported Models
GOTG defaults to Anthropic Claude Sonnet 4.6. You can configure different providers per-team or per-agent using gotg model or the TUI settings screen.
| Provider | Default | Available Models |
|---|---|---|
| Anthropic | claude-sonnet-4-6 | claude-opus-4-6, claude-sonnet-4-5, claude-haiku-4-5, claude-opus-4-5, claude-sonnet-4, claude-opus-4, claude-3-7-sonnet, claude-3-5-haiku |
| OpenAI | gpt-4.1-mini | gpt-4.1, gpt-4.1-nano, gpt-5-mini, gpt-4o, gpt-4o-mini, o4-mini, o3 |
| Gemini | gemini-2.5-flash | gemini-2.5-pro, gemini-2.0-flash, gemini-2.0-flash-lite, gemini-1.5-pro, gemini-1.5-flash |
| Ollama | qwen2.5-coder:7b | qwen2.5-coder:14b/32b, llama3.2:8b, deepseek-coder-v2:16b, codellama:13b |
Per-agent model overrides let you mix providers — e.g. one agent on Claude, another on GPT-4.1. Configure in the TUI settings screen or directly in .team/team.json.
Using Ollama (local, free)
curl -fsSL https://ollama.com/install.sh | sh
ollama pull qwen2.5-coder:7b
ollama serve
For AMD GPUs (RX 6000/7000 series):
HSA_OVERRIDE_GFX_VERSION=10.3.0 ollama serve
Configure: gotg model ollama. No API key needed.
Note: Local models produce noticeably lower quality conversations than Anthropic/OpenAI.
Project Background
See narrative.md for the full design conversation and architectural decisions behind GOTG. See docs/ for the user guide and technical documentation.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gotg-0.1.0.tar.gz.
File metadata
- Download URL: gotg-0.1.0.tar.gz
- Upload date:
- Size: 306.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
919349fd6ef24e59e90e31f039548595bcf66fe52a08da9e92888404b07bbac7
|
|
| MD5 |
92cd45438794f261d59916bd00a5b454
|
|
| BLAKE2b-256 |
5eeb52da4ec004307ab8bad3bee988362fd46d2ee84a3e003dff4668bf52a4cf
|
Provenance
The following attestation bundles were made for gotg-0.1.0.tar.gz:
Publisher:
publish.yml on MBifolco/gotg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gotg-0.1.0.tar.gz -
Subject digest:
919349fd6ef24e59e90e31f039548595bcf66fe52a08da9e92888404b07bbac7 - Sigstore transparency entry: 1032275445
- Sigstore integration time:
-
Permalink:
MBifolco/gotg@4c248fb33f8d6d5b16c603fb174a11e92a031e73 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/MBifolco
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4c248fb33f8d6d5b16c603fb174a11e92a031e73 -
Trigger Event:
release
-
Statement type:
File details
Details for the file gotg-0.1.0-py3-none-any.whl.
File metadata
- Download URL: gotg-0.1.0-py3-none-any.whl
- Upload date:
- Size: 170.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
91638d6db630ce25d72b25272fa84ecefa75e7bb4344851b6de04fbe7624ef45
|
|
| MD5 |
418a0c536b36dae214e6188760d3c9bb
|
|
| BLAKE2b-256 |
32ac255c9a934cef51da47639cb9e89c8fbe8270b1b059baa588a70df0d932d2
|
Provenance
The following attestation bundles were made for gotg-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on MBifolco/gotg
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gotg-0.1.0-py3-none-any.whl -
Subject digest:
91638d6db630ce25d72b25272fa84ecefa75e7bb4344851b6de04fbe7624ef45 - Sigstore transparency entry: 1032275581
- Sigstore integration time:
-
Permalink:
MBifolco/gotg@4c248fb33f8d6d5b16c603fb174a11e92a031e73 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/MBifolco
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4c248fb33f8d6d5b16c603fb174a11e92a031e73 -
Trigger Event:
release
-
Statement type: