Autonomous Linear ticket dispatcher for Claude Code agents.
Botfarm polls your Linear board for "Todo" tickets, dispatches them to Claude Code agent workers running in parallel git worktrees, and manages the full pipeline: implement → review → fix → PR checks → merge.
- Python 3.12+
- Node.js 18+ (Linear MCP tools are launched via
npx) - git
- 4 GB+ RAM recommended (2 GB is marginal with Claude Code running)
Install using the standalone installer:
curl -fsSL https://claude.ai/install.sh | bashNote: Use
| bash, not| sh— the latter fails on Ubuntu.
After installation, add ~/.local/bin to your PATH:
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrcNode.js is required — Linear MCP tools are launched via npx at runtime.
Ubuntu 24.04: The official apt repository may have GPG key issues. Use a direct .deb install instead:
GH_VERSION=$(curl -s https://api.github.com/repos/cli/cli/releases/latest | grep '"tag_name"' | sed 's/.*v//' | sed 's/".*//')
curl -fsSL "https://github.com/cli/cli/releases/download/v${GH_VERSION}/gh_${GH_VERSION}_linux_amd64.deb" -o /tmp/gh.deb
sudo dpkg -i /tmp/gh.debOther systems: Follow the official instructions.
Then authenticate:
gh auth loginSelect the SSH protocol when prompted. This automatically generates and uploads an SSH key — no manual ssh-keygen needed.
On fresh machines, add GitHub's host key before cloning repos:
ssh-keyscan github.com >> ~/.ssh/known_hostsCreate a personal API key at Linear Settings → API. You'll add this during setup. This key is used for both the supervisor (polling tickets, updating status) and the agent workers (Linear MCP tools are auto-configured via --mcp-config).
When running on a headless server (no browser), authentication requires two browser-based steps. Each uses a device/authorization code flow — you'll see a URL and code on the server, then complete auth in any browser.
claude- A URL and one-time code are displayed
- Open the URL in a browser on any machine, enter the code
- Authentication completes on the server
gh auth login- Select GitHub.com
- Select SSH protocol
- Select Login with a web browser
- A one-time code is displayed — open the URL on any machine and enter it
git clone https://github.com/AlexDobrushskiy/botfarm.git
cd botfarm
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -e .botfarm initThis connects to the Linear API, discovers your teams and workspace, and generates ~/.botfarm/config.yaml and ~/.botfarm/.env.
For automated deployments or when configuring via scripts/CI:
botfarm init --linear-api-key $LINEAR_API_KEY --team SMA --workspace my-workspacebotfarm add-projectThis interactively sets up a project: clones the repo, creates git worktrees, validates the development environment, and updates your config.
After configuration, start the supervisor to run automatic preflight checks:
botfarm runThe supervisor validates config, database, git repos, Linear API, Claude credentials, and required plugins on startup.
See docs/configuration.md for the full config reference.
botfarm run # Start the supervisor
botfarm status # Show current slot states
botfarm history # Show recent task history
botfarm limits # Show usage limit utilization
botfarm --help # Full CLI helppython -m pytest tests/ -v- Configuration Guide — full config reference with examples
- Linear Workflow — ticket creation, sizing, and workflow
- Runtime Files —
~/.botfarm/directory layout and logs - Database — SQLite schema and migrations
- Dashboard — optional web dashboard

