A local-first daemon to unify your AI coding tools. Session tracking and handoffs across Claude Code, Gemini CLI, and Codex. An MCP proxy that discovers tools without flooding context. Task management with dependencies, validation, and TDD expansion. Agent spawning and worktree orchestration. Persistent memory, extensible workflows, and hooks.
Project description
Gobby
The control plane for AI coding tools.
One daemon. All your agents. No more context window roulette.
Gobby is a local-first daemon that unifies your AI coding assistantsโClaude Code, Gemini CLI, Cursor, Windsurf, Copilot, and Codexโunder one persistent, extensible platform. It handles the stuff these tools forget: sessions that survive restarts, context that carries across compactions, declarative rules that keep agents from going off the rails, and an MCP proxy that doesn't eat half your context window just loading tool definitions.
Gobby is built with Gobby. Most of this codebase was written by AI agents running through Gobby's own task system and workflows. Dogfooding isn't a buzzword hereโit's the development process.
Note: Gobby is currently in alpha. Expect rough edges and breaking changes until the first stable release.
Why Gobby?
๐ฏ A Task System That Actually Works
If you've tried Beads or TaskMaster, you know the pain: databases that corrupt, agents that can't figure out the schema, worktrees that fall out of sync. Gobby's task system was designed by someone who got fed up with all of them.
- Dependency graphs that agents actually understand
- TDD expansion โ describe a feature, get red/green/blue subtasks with test-first ordering
- Validation gates โ tasks can't close without passing criteria (with git diff context)
- Git-native sync โ
.gobby/tasks.jsonllives in your repo, works with worktrees - Commit linking โ
[task-id] feat: thingauto-links commits to tasks
# Create a task
gobby tasks create "Add user authentication" --type feature
# Let the AI break it down with TDD ordering
gobby tasks expand <task-id>
# See what's ready to work on
gobby tasks list --ready
๐ MCP Proxy Without the Token Tax
Connect 5 MCP servers and watch 50K+ tokens vanish before you write a single line of code. Gobby's proxy uses progressive disclosureโtools stay as lightweight metadata until you actually need them:
list_tools() โ Just names and descriptions (~200 tokens)
get_tool_schema(name) โ Full inputSchema when you need it
call_tool(name, args) โ Execute
Add servers dynamically. Import from GitHub repos. Search semantically. Your context window stays yours.
๐ Session Handoffs That Don't Lose the Plot
When you /compact in Claude Code, Gobby captures what matters: the goal, what you changed, git status, recent tool calls. Next session, it injects that context automatically. No more "wait, what were we doing?"
Works across CLIs too. Start in Claude Code, pick up in Gemini. Gobby remembers.
๐ค๏ธ Rules That Enforce Discipline
Declarative rules that enforce behavior without relying on prompt compliance. The LLM doesn't need to remember constraintsโthe rule engine evaluates every event and enforces behavior through tool blocks, context injection, and state mutations:
# Block git push - let the parent session handle pushing
no-push:
event: before_tool
effect:
type: block
tools: [Bash]
command_pattern: "git\\s+push"
reason: "Do not push to remote. Let the parent session handle pushing."
# Block file edits without a claimed task
require-task:
event: before_tool
when: "not task_claimed and not plan_mode"
effect:
type: block
tools: [Edit, Write, NotebookEdit]
reason: "Claim a task before editing files."
11 bundled rule groups covering safety, tool hygiene, task enforcement, stop gates, memory lifecycle, and more. Plus on-demand step-based workflows and deterministic pipelines.
๐ณ Worktree Orchestration
Spawn agents in isolated git worktrees. Run tasks in parallel without stepping on each other. Gobby tracks which agent is where and what they're doing.
call_tool("gobby-agents", "spawn_agent", {
"prompt": "Implement OAuth flow",
"task_id": "#123",
"isolation": "worktree",
"branch_name": "feature/oauth"
})
๐ Claude Code Task Integration
Gobby transparently intercepts Claude Code's built-in task system (TaskCreate, TaskUpdate, etc.) and syncs operations to Gobby's persistent task store. Benefits:
- Tasks persist across sessions (unlike CC's session-scoped tasks)
- Commit linking โ tasks auto-link to git commits
- Validation gates โ define criteria for task completion
- LLM expansion โ break complex tasks into subtasks
No configuration needed โ just use Claude Code's native task tools and Gobby handles the rest.
๐ Skills System
Reusable instructions that teach agents how to perform specific tasks. Compatible with the Agent Skills specification and SkillPort.
- Core skills bundled with Gobby for tasks, sessions, memory, workflows
- Project skills in
.gobby/skills/for team-specific patterns - Install from anywhere โ GitHub repos, local paths, ZIP archives
- Search and discovery โ TF-IDF and semantic search across your skill library
# Install a skill from GitHub
gobby skills install github:user/repo/skills/my-skill
# Search for relevant skills
gobby skills search "testing coverage"
๐ Web UI
Gobby ships a built-in web interface that auto-starts with the daemon:
- Chat with MCP tool support, voice chat, model switching, slash commands
- Tasks โ kanban board, tree view, dependency graph, Gantt chart, detail panel
- Memory โ table view, Neo4j 3D knowledge graph
- Sessions โ lineage tree, transcript viewer, AI summary generation
- Cron Jobs, Configuration, Skills, Projects, Agent Registry pages
- File browser/editor, terminal panel with xterm.js
Access at http://localhost:60887 when the daemon is running.
๐ Pipelines
Deterministic, repeatable automation with approval gates:
- Step types:
exec,prompt,invoke_pipeline - Approval gates for human-in-the-loop workflows
- Condition evaluation with safe expression engine
- Import from Lobster format
- CLI, MCP, and HTTP API access
Installation
Try it instantly
uvx gobby --help
Install globally
# With uv (recommended)
uv tool install gobby
# With pipx
pipx install gobby
# With pip
pip install gobby
Requirements: Python 3.13+
Quick Start
# Start the daemon
gobby start
# In your project directory
gobby init
gobby install # Installs hooks for detected CLIs
Requirements: At least one AI CLI (Claude Code, Gemini CLI, or Codex CLI)
Works with your Claude, Gemini, or Codex subscriptionsโor bring your own API keys. Local model support coming soon.
Configure Your AI CLI
Add Gobby as an MCP server. Choose the command and args that match your installation:
- pip/pipx install:
"command": "gobby","args": ["mcp-server"] - uv tool install:
"command": "uv","args": ["run", "gobby", "mcp-server"]
Claude Code (.mcp.json or ~/.claude.json):
{
"mcpServers": {
"gobby": {
"command": "gobby",
"args": ["mcp-server"]
}
}
}
Or with uv:
{
"mcpServers": {
"gobby": {
"command": "uv",
"args": ["run", "gobby", "mcp-server"]
}
}
}
Gemini CLI (.gemini/settings.json):
{
"mcpServers": {
"gobby": {
"command": "gobby",
"args": ["mcp-server"]
}
}
}
Codex CLI (~/.codex/config.toml):
[mcp_servers.gobby]
command = "gobby"
args = ["mcp-server"]
Gemini Antigravity (~/.gemini/antigravity/mcp_config.json):
{
"mcpServers": {
"gobby": {
"command": "/path/to/uv",
"args": ["run", "--directory", "/path/to/gobby", "gobby", "mcp-server"],
"disabled": false
}
}
}
CLI Support
| CLI | Hooks | Status |
|---|---|---|
| Claude Code | โ Full support | Native adapter, 12 hook types |
| Gemini CLI | โ Full support | Native adapter, all hook types |
| Codex CLI | โ Full support | Native adapter with approval handling + context injection |
| Cursor | โ Full support | Native adapter, 17 hook types |
| Windsurf | โ Full support | Native adapter, 11 hook types |
| Copilot | โ Full support | Native adapter, 6 hook types |
Hook Installation
Gobby uses Python hook dispatchers that capture terminal context and communicate with the daemon. Run gobby install in your project to set up hooks:
gobby install # Auto-detect and install hooks for all CLIs
gobby install --claude # Install for specific CLI
gobby install --gemini
gobby install --codex
gobby install --cursor
gobby install --windsurf
gobby install --copilot
The dispatchers handle:
- Terminal context capture (TTY, parent PID, session IDs)
- Proper JSON serialization and HTTP communication
- Exit code handling for blocking actions
All CLIs can also connect via MCP for tool access (see configuration examples above).
How It Compares
| Gobby | TaskMaster | Beads | mcp-agent | |
|---|---|---|---|---|
| Task dependencies | โ | โ | โ | โ |
| TDD expansion | โ | โ | โ | โ |
| Validation gates | โ | โ | โ | โ |
| Progressive MCP discovery | โ | Partial | โ | โ |
| Multi-CLI orchestration | โ | โ | โ | โ |
| Session handoffs | โ | โ | โ | โ |
| Declarative rules | โ | โ | โ | โ |
| Worktree orchestration | โ | โ | โ | โ |
| Pipeline automation | โ | โ | โ | โ |
| Zero external deps | โ | โ | โ | โ |
| Local-first | โ | โ | โ | โ |
Architecture
AI CLI (Claude/Gemini/Cursor/Windsurf/Copilot)
โ hooks fire
โผ
Hook Dispatcher
โ HTTP POST
โผ
Gobby Daemon (:60887)
โ
โโโโโโผโโโโโโโโโ
โผ โผ โผ
FastAPI WebSocket FastMCP
โ โ โ
โผ โผ โผ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ RuleEngine โ
โ HookManager โ
โ SessionManager โ
โ AgentRunner โ
โ WorkflowEngine โ
โ PipelineExecutor โ
โ MCPClientProxy โ
โ TaskStore โ
โ MemoryStore โ
โ WebUI โ
โโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
SQLite
(~/.gobby/gobby-hub.db)
Everything runs locally. No cloud. No API keys required (beyond what your AI CLIs need). Works offline.
MCP Tools
Gobby exposes tools via MCP that your AI coding assistant can use:
Task Management (gobby-tasks)
create_task, expand_task, validate_task, close_task, claim_task, list_ready_tasks, suggest_next_task, link_commit, and more.
Orchestration (gobby-orchestration)
orchestrate_ready_tasks, wait_for_task, poll_agent_status, spawn_review_agent, approve_and_cleanup, and more.
Session Management (gobby-sessions)
get_current_session, pickup (restore context), get_handoff_context, list_sessions, send_message
Memory (gobby-memory)
remember, recall, forget โ persistent facts across sessions
Workflows and Rules (gobby-workflows)
list_rules, toggle_rule, get_rule_detail, activate_workflow, set_variable, get_variable, get_workflow_status
Agents (gobby-agents)
spawn_agent (unified API with isolation: current/worktree/clone), list_agents, get_agent, kill_agent, send_message, send_command, complete_command, deliver_pending_messages
Worktrees (gobby-worktrees)
create_worktree, list_worktrees, delete_worktree, merge_worktree
Clones (gobby-clones)
create_clone, list_clones, delete_clone, merge_clone
Pipelines (gobby-pipelines)
list_pipelines, run_pipeline, approve_pipeline, reject_pipeline, get_pipeline_status
MCP Proxy
list_mcp_servers, add_mcp_server, import_mcp_server, list_tools, get_tool_schema, call_tool, recommend_tools, search_tools
Skills (gobby-skills)
list_skills, get_skill, search_skills, install_skill, remove_skill, update_skill
For AI Agents
If you're an AI agent reading this: Check out docs/AGENT_INSTRUCTIONS.md for your operating procedures, and CLAUDE.md for Claude Code-specific guidance.
Roadmap
See ROADMAP.md for the full plan, but highlights:
Shipped: Task system v2, TDD expansion, rule engine (declarative enforcement with 11 bundled rule groups), on-demand workflows, MCP proxy with progressive discovery, session handoffs, memory v4 with embeddings, hooks for all CLIs, unified agent spawning with P2P messaging, worktree and clone orchestration, skills system, pipeline system, cron scheduler, coordinator pipeline, web UI (tasks kanban/tree/Gantt/graph, memory with Neo4j knowledge graph, sessions with transcripts, chat with voice and model switching, cron jobs, configuration, skills, projects, agent registry, file browser), tmux first-class support, personal workspace, code decomposition, DB-backed agent registry
Beta: Autonomous orchestration (conductor daemon, token budget tracking, review gates)
Next: Task expansion workflows, CLI auto-detection, coordinator finalization, web UI buildout, security posture for MCP, SWE-bench evaluation, bug fix sprint
Vision: Always local first, but Pro cloud features to keep the lights on: Fleet management, Plugin ecosystem, Team workflows, Enterprise hardening
Changelog
See CHANGELOG.md for release history and detailed changes.
Development
uv sync # Install deps
uv run gobby start -v # Run daemon (verbose)
uv run pytest # Tests
uv run ruff check src/ # Lint
uv run mypy src/ # Type check
Using Gobby in other projects (from source)
If you're running Gobby from a source checkout, use -C to target another project directory:
uv run --project ~/Projects/gobby gobby init -C /path/to/other/project
uv run --project ~/Projects/gobby gobby install -C /path/to/other/project
The --project flag tells uv to use the Gobby installation from your source repo, and -C tells Gobby which directory to operate on.
Coverage threshold: 80%. We're serious about it.
Contributing
We'd love your help. Gobby is built by developers who got frustrated with the state of AI coding tool orchestration. If that's you too, jump in:
- Found a bug? Open an issue
- Have a feature idea? Open a discussion first
- Want to contribute code? PRs welcome โ check the roadmap for what's in flight
- UI/UX skills? We really need you. The maintainer is colorblind and Photoshop makes him itch.
See CONTRIBUTING.md for details.
License
Apache 2.0 โ Use it, fork it, build on it.
Built with ๐ค by humans and AI, working together.
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 iflow_mcp_gobbyai_gobby-0.2.22.tar.gz.
File metadata
- Download URL: iflow_mcp_gobbyai_gobby-0.2.22.tar.gz
- Upload date:
- Size: 1.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f7a1e59baa3baf6aa805cc586123befe3762b15dd01a1176da844db84fe7b760
|
|
| MD5 |
f361e549b753023419cf15c5a0614e97
|
|
| BLAKE2b-256 |
29aa54aab7350041e40b77bcc4029c3aa0a41ef8119531fd06b0af4263c08ff8
|
File details
Details for the file iflow_mcp_gobbyai_gobby-0.2.22-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_gobbyai_gobby-0.2.22-py3-none-any.whl
- Upload date:
- Size: 1.9 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6995b1512a21fbb988fcaaae21dbb061b5e3f8133671dfd6108835181cd27dc5
|
|
| MD5 |
b5656351ef1de2a96307e9880e22e29f
|
|
| BLAKE2b-256 |
93d7044eb112d097807387a41aa3ab41eb66c4813eef2aac68f4f7d5542eb8e9
|