Skip to content

Add plugin entry: lego - #614

Merged
SawyerHood merged 1 commit into
get-bb:mainfrom
MacHatter1:submit-lego
Oct 20, 2026
Merged

SawyerHood merged 1 commit into
get-bb:mainfrom
MacHatter1:submit-lego

Conversation

@MacHatter1

@MacHatter1 MacHatter1 commented Oct 19, 2026 •

Copy link
Copy Markdown
Contributor

Lego

Splits a coding task across parallel agent threads and gets it back assembled and verified by one Master Builder. The planning agent writes an instruction book of bags, and a form in the composer lets you staff it with builders and a Master Builder. A banner above the composer, a side-panel workbench and a Lego Build page in the sidebar show the build as a Lego model the planning agent designs for the task. It adds agent tools for the planning agent, builders and Master Builder, and a bb lego CLI.

Source

Plugin checks

  • npm run typecheck: passed
  • npm test: 62 tests passed, 1 skipped (the opt-in visual preview). They cover the scheduler against a fake SDK and an in-memory SQLite database (parallel bags, builder reuse, dependencies, failures, blocked and stalled builders, dispatch retries, deleted threads), the geometry of every ready-made model, and the blueprint compiler.
  • bb plugin build: passed, including from a fresh clone of tag v0.1.0 installed the way bb plugin install git: installs it (npm install --omit=dev --omit=optional --ignore-scripts)
  • Installed and used live in bb 0.46.1; the screenshots come from that install

Marketplace checks

Permissions, services, and security

  • No external services or accounts. Books are stored in the plugin's own SQLite database, and the plugin makes no network requests of its own.
  • It spawns agent threads: one per builder (up to 8) plus a Master Builder. They are ordinary child threads of the planning thread, in its environment, with the provider, model and reasoning level chosen in the setup form and the planning thread's permission mode. Nothing starts until the user submits the form. Each worker is a separate agent session, so a build spends several agents' tokens, and the entry says so.
  • Workers edit files in the planning thread's workspace. They are told to stay inside their bag's files and not to commit, push or open pull requests.
  • No message hooks. It listens to thread.idle, thread.failed and thread.deleted to follow its workers, and reconciles missed events once a minute.
  • Agent tools: the planning thread gets lego_create_book, lego_setup_build, lego_status, lego_cancel_build and lego_retry. Builders get only lego_step_done, lego_bag_complete and lego_bag_blocked; the Master Builder gets only lego_assembly_step and lego_build_complete. Worker tools re-check a server-side binding of the calling thread, so a thread cannot report for a build it does not belong to.
  • UI: a composer banner, a pending-interaction form, a thread panel action, a sidebar page, and a ::lego message directive kept for older messages.

Screenshots

Captured at 2880×1800 and 2880×2000 from a real thread in a throwaway demo project, Shelfie (a small command-line bookshelf), on a fresh worktree. The thread ran a real Lego build of a realistic feature (reading lists), with four builders and a Master Builder on Sonnet 5.5. The sidebar is collapsed. I hid two cards from other plugins above the Lego banner (Followups and Recap). There are no other edits.

  1. build.png: the finished build. The planning agent's summary and the completed banner are on the left; on the right, the side-panel workbench shows the Shelfie Library model the planning agent designed, with its crew of minifigures, the four bag trays and the Master Builder's ticked assembly steps.
  2. setup-form.png: the build setup form under the banner. It shows the planning agent's staffing note, the builder count with its crew line-up, one model for every builder (or per builder), and the Master Builder's model.

Overview

overview/lego.md is copied unchanged from the plugin repository's PLUGIN_OVERVIEW.md.

@SawyerHood SawyerHood left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Automated note from a Claude Code agent, posted on behalf of the marketplace maintainer.

Reviewed and verified the submitted change under the maintainer admission policy. Required CI passes; approved for merge.

@SawyerHood
SawyerHood merged commit bb9599a into get-bb:main Oct 20, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants