Skip to main content
Glama

🐝 BusyBee

Autonomous TDD coding agent with pause/resume capabilities. A Claude Code plugin that implements features from specifications using test-driven development.

Overview

BusyBee is an MCP server that converts your specifications into a comprehensive feature list and autonomously implements each feature using TDD. It supports:

  • Multi-modal inputs: Files, text, images, URLs

  • Pause/Resume: Stop and continue work across sessions

  • Live status: Real-time progress monitoring

  • Web dashboard: Visual interface with state explorer

  • Git integration: Automatic commits after each feature

Installation

As a Claude Code Plugin

# Add from GitHub /plugin install nonibytes/busy # Or add from local path /plugin install ./path/to/busy

Manual Setup

# Clone the repository git clone https://github.com/nonibytes/busy.git cd busy # Install dependencies pip install -e ".[dev]" # Set OAuth token (required) export CLAUDE_CODE_OAUTH_TOKEN="sk-ant-oat01-..."

Quick Start

1. Initialize a Project

# From a spec file /busybee:init spec.md # From text instructions /busybee:init "Build a todo app with user authentication" # From multiple inputs /busybee:init requirements.txt mockup.png "Add dark mode"

2. Start Autonomous Implementation

/busybee:run

3. Monitor Progress

# Check status /busybee:status # Open dashboard /busybee:dashboard

4. Pause/Resume

# Pause gracefully /busybee:pause # Resume later /busybee:resume

5. Update Requirements

/busybee:update "Add export to PDF feature"

Commands

Command

Description

/busybee:init <inputs>

Initialize project with specifications

/busybee:run

Start autonomous TDD implementation

/busybee:pause

Pause work gracefully

/busybee:resume

Resume from checkpoint

/busybee:status

Show progress and status

/busybee:update <inputs>

Update requirements mid-flight

/busybee:dashboard

Open web dashboard

Project Structure

After initialization, BusyBee creates a .busybee/ directory:

project/ β”œβ”€β”€ .busybee/ β”‚ β”œβ”€β”€ feature_list.json # Source of truth (committed to git) β”‚ β”œβ”€β”€ state.json # Operational state (gitignored) β”‚ β”œβ”€β”€ history.jsonl # Activity log (gitignored) β”‚ └── .gitignore β”œβ”€β”€ ... your app code ...

feature_list.json

The contract defining all features to implement:

[ { "id": 1, "category": "core", "description": "User can log in with email", "steps": ["Navigate to /login", "Enter email", "Click submit"], "passes": false } ]

state.json

Current operational state (rebuilt on new machine):

{ "status": "running", "current_feature_id": 45, "progress": {"completed": 44, "pending": 156, "total": 200} }

history.jsonl

Append-only activity log:

{"ts":"2025-12-12T10:00:00Z","event":"init","details":"Created 200 features"} {"ts":"2025-12-12T10:05:00Z","event":"feature_complete","id":1}

Dashboard

The web dashboard provides:

  • Project list: All registered BusyBee projects

  • Progress view: Charts and statistics

  • Feature list: Filterable table of all features

  • Activity log: Recent events

  • State explorer: Raw JSON viewer for debugging

Access at http://localhost:8765 when running.

Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Claude Code CLI β”‚ β”‚ (invokes /busybee:init, /busybee:run, etc.) β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ MCP Protocol β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ BusyBee MCP Server β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ MCP Tools β”‚ β”‚ Agent Core β”‚ β”‚ Dashboard β”‚ β”‚ β”‚ β”‚ (7 tools) β”‚ β”‚ (SDK loop) β”‚ β”‚ (FastAPI) β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ State Manager β”‚ β”‚ β”‚ β”‚ (JSON/JSONL files) β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

Security

BusyBee uses a project-scoped sandbox:

  • Write operations: Restricted to project directory only

  • Read operations: Allowed anywhere (for input files, images)

  • Command execution: Sandboxed within project

Authentication

BusyBee uses OAuth tokens (not API keys):

# Generate token claude setup-token # Set environment variable export CLAUDE_CODE_OAUTH_TOKEN="sk-ant-oat01-..."

Development

# Install dev dependencies pip install -e ".[dev]" # Run tests pytest # Type checking mypy src/busybee # Linting ruff check src/

Based On

This project is inspired by Anthropic's autonomous-coding demo and the blog post Effective harnesses for long-running agents.

License

MIT

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nonibytes/busy'

If you have feedback or need assistance with the MCP directory API, please join our Discord server