Skip to main content

Multi-agent orchestration plugin for OpenCode with Boomerang Protocol support

Project description

๐Ÿš€ Boomerang for OpenCode

License: MIT OpenCode Plugin Multi-Agent Orchestration

Intelligent multi-agent coordination for OpenCode โ€” because great software is a team sport.


๐Ÿš€ Vanilla OpenCode Install (One-Click Prompt)

Copy and paste the following prompt into a fresh OpenCode Builder session. It will do everything automatically.

I want you to install the Boomerang multi-agent plugin for OpenCode. Do this step by step:

1. Install the Boomerang package from PyPI. Run: pip install opencode-boomerang (or uv tool install opencode-boomerang if uv is available).

2. Install super-memory from PyPI. Run: pip install super-memory (or uv tool install super-memory if uv is available).

3. Edit the project's .opencode/opencode.json file to include:
   - The Boomerang plugin: "plugin": ["opencode-boomerang"]
   - An MCP server entry for super-memory with command ["super-memory"] or ["uv", "run", "super-memory"] depending on how it was installed
   - An MCP server entry for sequential-thinking with command ["npx", "-y", "@modelcontextprotocol/server-sequential-thinking"]

4. Confirm completion and tell me to:
   a) Restart OpenCode completely
   b) After restart, open the Skills panel (type /skills) and select "boomerang-init" to run the initialization skill

๐ŸŽฏ What is Boomerang?

Boomerang is an intelligent multi-agent orchestration plugin for OpenCode that coordinates a team of specialized AI agents working together on your codebase. Instead of relying on a single AI, Boomerang implements the Boomerang Protocol โ€” a structured 6-step workflow that ensures thorough, consistent, and high-quality code delivery.

Think of it as your AI development team lead โ€” the Orchestrator plans the work, delegates to specialists, enforces quality gates, and ensures nothing falls through the cracks.


๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                          USER                                    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                             โ”‚
                             โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚              ๐ŸŽฏ ORCHESTRATOR (Kimi K2.5)                         โ”‚
โ”‚   โ€ข Plans task execution & dependency graph                       โ”‚
โ”‚   โ€ข Delegates to specialized sub-agents                          โ”‚
โ”‚   โ€ข Enforces quality gates                                       โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                             โ”‚
         โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
         โ”‚                   โ”‚                   โ”‚
         โ–ผ                   โ–ผ                   โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”      โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚   ๐Ÿ’ป        โ”‚      โ”‚   ๐Ÿ—๏ธ        โ”‚      โ”‚   ๐Ÿ”        โ”‚
โ”‚  CODER      โ”‚      โ”‚ ARCHITECT  โ”‚      โ”‚ EXPLORER   โ”‚
โ”‚ MiniMax M2.7โ”‚      โ”‚ Kimi K2.5  โ”‚      โ”‚ MiniMax M2.7โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜      โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
         โ”‚                   โ”‚                   โ”‚
         โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                             โ”‚
                             โ–ผ
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                  ๐Ÿ”„ THE BOOMERANG PROTOCOL                       โ”‚
โ”‚                                                                 โ”‚
โ”‚   1๏ธโƒฃ Memory   โ†’   2๏ธโƒฃ Think   โ†’   3๏ธโƒฃ Delegate                  โ”‚
โ”‚   4๏ธโƒฃ Git Check โ†’   5๏ธโƒฃ Quality Gates โ†’   6๏ธโƒฃ Save Memory        โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

The 6-Step Boomerang Protocol

Step Name Description
1๏ธโƒฃ Memory Query super-memory for context, past decisions, and learnings
2๏ธโƒฃ Think Analyze task, build dependency graph, plan execution
3๏ธโƒฃ Delegate Assign work to appropriate sub-agents by specialty
4๏ธโƒฃ Git Check Verify changes, stage, and commit with proper discipline
5๏ธโƒฃ Quality Gates Run lint, typecheck, and tests before completion
6๏ธโƒฃ Save Memory Persist decisions and context back to super-memory

๐Ÿค– Agent Roster

Agent Model Role
boomerang Kimi K2.5 ๐ŸŽฏ Orchestrator โ€” Plans, coordinates, enforces protocol
boomerang-coder MiniMax M2.7 ๐Ÿ’ป Fast code generation โ€” Write and modify code efficiently
boomerang-architect Kimi K2.5 ๐Ÿ—๏ธ Design decisions โ€” Trade-off analysis and architecture
boomerang-explorer MiniMax M2.7 ๐Ÿ” Codebase exploration โ€” Find files, search patterns, understand structure
boomerang-tester MiniMax M2.7 ๐Ÿงช Testing specialist โ€” Unit/integration tests, verification
boomerang-linter MiniMax M2.7 โœ… Quality enforcement โ€” Lint, format, style consistency
boomerang-git MiniMax M2.7 ๐Ÿ“ฆ Version control โ€” Commits, branches, history discipline
researcher MiniMax M2.7 ๐ŸŒ Web research โ€” Search, fetch, and synthesize online information

๐Ÿง  Super-Memory Integration

โš ๏ธ SUPER-MEMORY IS REQUIRED โ€” Boomerang will not function without it.

Why is super-memory required?

Unlike simple context windows, super-memory provides persistent long-term memory across sessions. When you start a new OpenCode session, Boomerang agents automatically:

  • Query memory at start โ€” Retrieve relevant context, past decisions, and learnings from previous sessions
  • Save memory at end โ€” Persist key decisions, code patterns, and project-specific knowledge

This means Boomerang learns your codebase over time and doesn't repeat mistakes.

Installation

# Using uv (recommended)
uv tool install super-memory

# Or using pip
pip install super-memory

Configuration

Add super-memory to your global ~/.opencode/opencode.json:

{
  "mcp": {
    "super-memory": {
      "type": "local",
      "command": ["super-memory"],
      "enabled": true
    }
  }
}

Note: If you installed with uv run, use "command": ["uv", "run", "super-memory"]

Verify Installation

super-memory --version

๐Ÿ“‹ Prerequisites

Dependency Status Installation
super-memory โš ๏ธ Required uv tool install super-memory or pip install super-memory
searxng ๐Ÿ”ง Optional Docker: docker run -d -p 8080:8080 --name searxng searxng/searxng
sequential-thinking โœ… Usually pre-installed MCP server: npx -y @modelcontextprotocol/server-sequential-thinking

๐Ÿšš Installation

โญ For the easiest install experience, use the "Vanilla OpenCode Install" prompt above โ€” just copy, paste, and let OpenCode do everything!

Option 2: Manual Install

  1. Install Boomerang from PyPI:
    pip install opencode-boomerang
    # Or if using uv
    uv tool install opencode-boomerang
    
  2. Install super-memory from PyPI:
    pip install super-memory
    # Or if using uv
    uv tool install super-memory
    
  3. Update your .opencode/opencode.json to include the plugin:
    {
      "plugin": ["opencode-boomerang"]
    }
    
  4. Add super-memory and sequential-thinking MCP configurations (see Configuration section below)
  5. Start OpenCode and run /boomerang-init skill
  6. Restart OpenCode for agents to load

โš™๏ธ Configuration

Example opencode.json

{
  "plugin": ["opencode-boomerang"],
  "mcp": {
    "super-memory": {
      "type": "local",
      "command": ["super-memory"],
      "enabled": true
    },
    "searxng": {
      "type": "local",
      "command": ["npx", "-y", "mcp-searxng"],
      "environment": { "SEARXNG_URL": "http://localhost:8080" },
      "enabled": false
    },
    "sequential-thinking": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-sequential-thinking"],
      "enabled": true
    }
  }
}

Key Configuration Points

Setting Description
plugin Path to Boomerang plugin dist directory
mcp.super-memory Required โ€” Long-term memory for agents
mcp.searxng Optional โ€” Web search capabilities
mcp.sequential-thinking Usually pre-installed โ€” Chain of thought reasoning

๐Ÿ”„ The Boomerang Protocol (Detailed)

Every Boomerang session follows this strict protocol:

Step 1: Memory Query

At session start, agents query super-memory for:
โ€ข Previous decisions and rationale
โ€ข Project-specific patterns and conventions
โ€ข Known issues and workarounds
โ€ข User preferences and habits

Step 2: Think & Plan

The Orchestrator:
โ€ข Breaks down the task into subtasks
โ€ข Identifies dependencies between subtasks
โ€ข Builds an execution DAG (Directed Acyclic Graph)
โ€ข Determines which agents to delegate to

Step 3: Delegate

Sub-agents are invoked based on specialty:
โ€ข Code generation โ†’ boomerang-coder
โ€ข Design review โ†’ boomerang-architect
โ€ข Exploration โ†’ boomerang-explorer
โ€ข Testing โ†’ boomerang-tester
โ€ข Quality โ†’ boomerang-linter
โ€ข Version control โ†’ boomerang-git

Step 4: Git Check

Before any work is considered complete:
โ€ข git status shows clean working tree (or changes staged)
โ€ข Commits are made with descriptive messages
โ€ข Branches are properly managed

Step 5: Quality Gates

Mandatory checks before completion:
โœ“ Lint passes (boomerang-linter)
โœ“ Typecheck passes (where applicable)
โœ“ Tests pass (boomerang-tester)
โœ“ No regression in existing functionality

Step 6: Save Memory

At session end, critical information is saved:
โ€ข Key architectural decisions
โ€ข Code patterns established
โ€ข Lessons learned
โ€ข User preferences

๐Ÿ”ฅ Release Pipeline & Updating

When a new version of Boomerang is released:

1. Check for Updates

gh release view Veedubin/opencode-boomerang --json tagName,createdAt

2. Update Your Installation

# Update Boomerang from PyPI
pip install --upgrade opencode-boomerang
# Or if using uv
uv tool upgrade opencode-boomerang

# Re-run initialization
opencode /boomerang-init

3. Verify Installation

# Check the version in your installed plugin
cat .opencode/plugins/boomerang/package.json | grep version

๐Ÿ“ Release Package Contents

The boomerang.tar.gz release contains:

.opencode/
โ”œโ”€โ”€ agents/                    # Agent definitions
โ”‚   โ”œโ”€โ”€ boomerang.md          # Orchestrator
โ”‚   โ”œโ”€โ”€ boomerang-coder.md    # Code generation
โ”‚   โ”œโ”€โ”€ boomerang-architect.md # Architecture
โ”‚   โ”œโ”€โ”€ boomerang-explorer.md  # Exploration
โ”‚   โ”œโ”€โ”€ boomerang-tester.md    # Testing
โ”‚   โ”œโ”€โ”€ boomerang-linter.md    # Linting
โ”‚   โ”œโ”€โ”€ boomerang-git.md       # Git operations
โ”‚   โ””โ”€โ”€ researcher.md          # Web research
โ”œโ”€โ”€ skills/                    # Boomerang skills
โ”‚   โ”œโ”€โ”€ boomerang-architect/
โ”‚   โ”œโ”€โ”€ boomerang-coder/
โ”‚   โ”œโ”€โ”€ boomerang-init/
โ”‚   โ”œโ”€โ”€ boomerang-orchestrator/
โ”‚   โ””โ”€โ”€ boomerang-tester/
โ””โ”€โ”€ plugins/boomerang/        # Plugin implementation
    โ”œโ”€โ”€ dist/                  # Compiled JavaScript
    โ””โ”€โ”€ package.json

๐Ÿ“„ License

MIT License โ€” see LICENSE for details.


Built with ๐Ÿš€ by Veedubin

Your AI development team, on demand.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

opencode_boomerang-0.1.1.tar.gz (36.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

opencode_boomerang-0.1.1-py3-none-any.whl (61.0 kB view details)

Uploaded Python 3

File details

Details for the file opencode_boomerang-0.1.1.tar.gz.

File metadata

  • Download URL: opencode_boomerang-0.1.1.tar.gz
  • Upload date:
  • Size: 36.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for opencode_boomerang-0.1.1.tar.gz
Algorithm Hash digest
SHA256 dcaec9e16c6e643a31def6f0e8ce3b161f86eecf60facacda67d39a56da3796e
MD5 61aafac2bc86f0dd8c8085cb2440977c
BLAKE2b-256 bfa4eea93b5715424071922a04b6751d34690ebf17f1dfa67d651f4f44cb24b1

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencode_boomerang-0.1.1.tar.gz:

Publisher: release.yml on Veedubin/opencode-boomerang

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file opencode_boomerang-0.1.1-py3-none-any.whl.

File metadata

File hashes

Hashes for opencode_boomerang-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f3a2c45c68cf3ab43b09c0a2b2ac9edba4b869793c16a33ef949190637a982ca
MD5 98a09362d92ecdfa0d39ab80ed90fc70
BLAKE2b-256 94df38a821bb568d2f7526b3b1038eb11c286928a5ca51893d1984924878984c

See more details on using hashes here.

Provenance

The following attestation bundles were made for opencode_boomerang-0.1.1-py3-none-any.whl:

Publisher: release.yml on Veedubin/opencode-boomerang

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page