reqloop is the official Baton marketplace
for requirement-level engineering loops. It is a multi-plugin repository: every
directory under plugins/ is an independently versioned Baton PluginPackage,
while the repository root owns only marketplace discovery and shared
plugin authoring rules.
A Baton Plugin coordinates a long-running domain loop, but it does not call a Harness directly. It proposes or submits scoped work through Baton's normal input, context, permission, and routing path. Harnesses provide intelligent execution capabilities, while Harness Plugins such as devloop constrain the development loop inside a Harness.
ReqLoop connects requirement, Forge, devloop, and Kubernetes observations and turns their state and durable user decisions into Resources. Its global Product/Component/Environment/Service catalog now provides read-only deployment visibility; delivery, evaluation, and deployment writes remain longer-term work.
The intended end-to-end development flow is:
develop a plugin
→ build and validate its manifest
→ link the marketplace or plugin into Baton
→ create and enable a PluginInstance in /plugins
→ start its Plugin Worker
→ use its command and Resource/Reconcile workflow
→ restore the same loop after Baton restarts
The repository grows with Baton's external Plugin host and per-Instance Worker processes. Hello validates the smallest Package lifecycle; Hello Counter and Turn Coach exercise Resource/Reconcile, Baton-owned Resource watches, and durable proposals; ReqLoop coordinates global Product, Component, Environment, and Service Resources together with the Project-scoped development loop.
Register this Git repository as a Marketplace and install the Package you need:
baton plugins marketplace add https://github.com/compforge/reqloop.git
baton plugins install compforge/turn-coach --marketplace reqloop
baton plugins install compforge/reqloop --marketplace reqloop
baton plugins listFor local development, replace the Git URL with the path to your checkout:
baton plugins marketplace add /path/to/reqloopPackage installation makes it available to Baton. To use it in a session, start
baton, enter /plugins, open Installed, select the Package, and choose
Enable in this session. Turn Coach reviews completed turns and recommends
the next step; ReqLoop observes devloop review completion across Workspace
checkouts, asks the user to accept or ignore actionable comments once, and
proposes a Harness fix only when accepted.
.baton-plugin/marketplace.json Marketplace index
plugins/<plugin-name>/ One independently versioned Baton plugin
plugins/reqloop/AGENTS.md ReqLoop architecture and design index
plugins/reqloop/docs/ ReqLoop domain and reconcile details
docs/baton-plugin-harness.* Baton Plugin and Harness relationship
docs/reqloop-workflow.* ReqLoop workflow (SVG and PNG)
CONTRIBUTING.md Rules for adding a plugin
AGENTS.md Architecture and maintenance constraints
Plugin domain models and Connectors stay inside their owning plugin. Baton core only supplies the generic Package, Instance, Resource/Controller and Interaction contracts.
- Hello — a minimal
0.1.0Package for validating Marketplace discovery, installation, and loading. - Hello Counter — demonstrates a writable
Resource combined with a
baton.turnController. - Turn Coach — an end-to-end canary for Baton-owned Resource replay, persistent state, and proposed input.
- ReqLoop — requirement-level coordination connecting development and deployment Resources, exposing active requirements as Harness context, and observing Kubernetes-backed Services by Environment.
See the ReqLoop architecture for its domain model, reconcile flow, integration boundaries, and roadmap.
See CONTRIBUTING.md before adding a plugin.