"Where code is forged by many small minds."
Goblin Forge (gforge) is a multi-agent command-line orchestrator designed to coordinate and execute multiple coding-focused CLI agents in parallel.
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β β
β βββββββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββ¦βββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββββββ β
β ββββββββββββββββββββββββ¦βββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββββββ β
β β
β βββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββ β
β βββββββββββββββββββββββββββββββββββββββββ β
β β
β Multi-Agent CLI Orchestrator for Linux β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
All 8 phases implemented:
- Phase 1: Foundation (CLI, Config, Storage)
- Phase 2: Isolation Layer (tmux, git worktrees)
- Phase 3: Agent System (Registry, Adapters)
- Phase 4: TUI Dashboard (Bubble Tea)
- Phase 5: Template System (40+ templates)
- Phase 6: Voice Control (Whisper STT)
- Phase 7: Integrations (GitHub, Linear, Jira)
- Phase 8: Polish & Release
- Multi-Agent Orchestration: Run Claude, Aider, Codex, and other AI agents simultaneously
- Complete Isolation: Each "goblin" gets its own tmux session and git worktree
- TUI Dashboard: htop-like interface for monitoring and managing goblins
- Voice Control: Speak commands using Whisper STT (local, no cloud)
- Template System: 40+ project templates with auto-detection
- Integrations: GitHub, Linear, Jira for issue import and PR creation
- Editor Support: Launch VS Code, Vim, Emacs directly to goblin worktrees
# Build
make build
# Or install locally
make install
# Check version
gforge version
# Scan for installed agents
gforge agents scan
# Spawn a goblin (agent instance)
gforge spawn coder --agent claude --project ./my-app
# List active goblins
gforge list
# Attach to a goblin
gforge attach coder
# Launch dashboard
gforge top- Linux (primary platform)
- Go 1.22+ (for building from source)
- tmux (for session isolation)
- git (for worktree isolation)
- One or more AI coding CLIs (claude, aider, etc.)
git clone https://github.com/astoreyai/goblin-forge.git
cd goblin-forge
make install# Spawn a new goblin
gforge spawn <name> --agent <agent> [--project <path>] [--branch <name>]
# List all goblins
gforge list
# Attach to a goblin's tmux session
gforge attach <name>
# View goblin output
gforge logs <name>
# Show changes made by a goblin
gforge diff <name>
# Stop a goblin gracefully
gforge stop <name>
# Kill a goblin forcefully
gforge kill <name>
# Launch TUI dashboard
gforge top# Spawn from GitHub issue
gforge spawn coder --from-issue gh:owner/repo#123
# Spawn from Linear ticket
gforge spawn coder --from-issue linear:PROJ-456
# Spawn from Jira issue
gforge spawn coder --from-issue jira:PROJ-789# Start voice daemon (requires faster-whisper)
gforge voice start
# Voice commands:
# "Spawn coder with agent Claude"
# "Attach to goblin reviewer"
# "Show diff for tester"
# "List all goblins"# List available templates
gforge templates list
# Auto-detect project type
gforge templates detect40+ templates included: Node.js, Python, Rust, Go, Ruby, Elixir, Java, .NET, and frameworks like Next.js, FastAPI, Django, Rails, Phoenix.
Launch with gforge top:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β GOBLIN FORGE v1.0.0 π€ Voice: OFF q: quit β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β GOBLINS (3) β OUTPUT: coder [Claude] β
β ββββββββββββββββββββββββββββββββββββ β ββββββββββββββββββββββββββββββββββ
β βΆ 1. coder [Claude] RUNNING β Analyzing the authentication β
β 2. reviewer [Aider] PAUSED β module for potential issues... β
β 3. tester [Codex] IDLE β β
β β
β n:spawn a:attach d:diff k:kill p:pause r:resume tab:switch ?:help β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Keybindings:
j/k,β/β- Navigate goblin lista,Enter- Attach to selected goblins- Stop selected goblinK(Shift+K) - Kill selected goblind- Show diff?- Show helpq- Quit
| Agent | Command | Description |
|---|---|---|
| Claude Code | claude |
Anthropic Claude Code CLI |
| Aider | aider |
AI pair programming |
| Codex | codex |
OpenAI Codex CLI |
| Gemini | gemini |
Google Gemini CLI |
| Ollama | ollama |
Local LLMs (CodeLlama, DeepSeek, Qwen) |
| Custom | Any CLI | Via generic adapter |
Config file: ~/.config/gforge/config.yaml
general:
default_agent: claude
worktree_base: ~/.local/share/gforge/worktrees
tmux:
socket_name: gforge
git:
branch_prefix: "gforge/"
branch_style: kebab-case
voice:
model: tiny # tiny, base, small, medium, large
device: auto # cpu, cuda, auto
hotkey: KEY_SCROLLLOCKgoblin-forge/
βββ cmd/gforge/ # CLI entrypoint
βββ internal/
β βββ agents/ # Agent definitions and registry
β βββ config/ # Configuration management
β βββ coordinator/ # Goblin lifecycle management
β βββ integrations/ # GitHub, Linear, Jira, Editor
β βββ ipc/ # Voice daemon IPC
β βββ logging/ # Structured logging
β βββ storage/ # SQLite persistence
β βββ template/ # Template engine
β βββ tmux/ # Session management
β βββ tui/ # Bubble Tea dashboard
β βββ workspace/ # Git worktree management
βββ templates/builtin/ # 40+ project templates
βββ voice/ # Python voice daemon
βββ CLAUDE.md # Architecture documentation
βββ IMPLEMENTATION_PLAN.md # 8-phase roadmap
βββ Makefile
# Download dependencies
make deps
# Run tests
make test
# Run with coverage
make coverage
# Format code
make fmt
# Run linter
make lint
# Build for all platforms
make build-all- IMPLEMENTATION_PLAN.md - 8-phase roadmap with deliverables
- CHARM_VS_GOBLINFORGE_ANALYSIS.md - Architecture comparison
Apache-2.0