baron

Work orchestration for AI coding agents · Apache-2.0

Let your coding agent write to your work tracker.

One contract for issues, branches, pull requests, CI and deployments. Your agent speaks roles; Baron speaks Azure DevOps, GitHub, Jira, Linear and Slack, and keeps the flow when you change trackers.

npx @zanaat/baron-cli init
Read the docs
FIG. 1One item, four trackers, one vocabulary.
Baron roleAzure DevOpsNew—ActiveTestClosedJiraTo Do—In ProgressIn ReviewDoneLinearBacklog—In ProgressCode ReviewDoneGitHubopen—label: in-progresslabel: in-reviewclosed
The agent asks for a role; each tracker gets its own state. Pick a role to stop the walk. You confirm this mapping once with baron init and commit it with your repo, so the model never guesses it again. Azure shows a real team's mapping; the others are Baron's examples. A dash is a role that tracker leaves unmapped.

Ports

Each capability binds to a provider on its own.

Issues on Azure DevOps, pull requests on GitHub and notifications on Slack is an ordinary setup, not a special case.

Capability gaps

When a tracker cannot do something, you hear about it.

Every gap is decided by a policy you set. None is dropped quietly.

error

Stop with an actionable message. A Kanban column the item cannot take is refused before anything is written.

emulate:labels

Synthesize it. GitHub has no native parent and child, so the hierarchy rides a parent:<id> label.

degrade

Skip it and log a warning. A sprint asked of a tracker without sprints is skipped, and the warning says so.

Recipes

The daily loop is four calls.

Workflow opinion lives in declarative recipes, not in prompts and not in the core. Each runs as one journaled call, and a run that stops halfway resumes where it stopped.

  1. task-newFiles the item with its type and parent.
  2. task-startCuts the canonical branch, moves the item to in_progress, assigns you.
  3. task-finishOpens a draft PR linked to the item, and warns if the link did not land.
  4. task-landRefuses red or pending checks, takes the PR out of draft, merges it.
A terminal recording of Baron running task-start and then task-finish against a real tracker.

Install

Two ways in.

Claude Code plugin

/plugin marketplace add zanaat-dev/baron
/plugin install baron@baron

Any MCP client

npx -y @zanaat/baron-mcp-server@latest

Listed in the official MCP Registry as io.github.zanaat-dev/baron.