Skip to content

Open tools, 04.1, THE PARADE CHAMBER

Mardi Gras

Keep the moving parts in sight

Mission control, with a little soul.

A terminal-native control surface for issues and coding-agent workflows. A place to see the work moving, follow the agents, and stay involved.

Status: Open source

In the world

ILLUSTRATIVE WORKFLOW · NOT LIVE REPO DATAIllustrative sample. The text is fictional, not real user or repository data.
Ready. Working. Needs a human. The work stays visible, including the moment it needs you.
Start the sample parade
A moving parade, with room to pause. The amber float waits for a human decision.

Overview

Mission control, with a little soul

Coding agents are good at working. They are not good at being seen. Mardi Gras began as a friendlier view of an issue tracker built for agents, and grew into the place where we watch several agents at once: who is rolling, who is lined up, who has stalled, and who is waiting for a person to decide.

The parade is the idea that holds it together. A board asks you to sort cards into columns. A parade shows motion: what is moving, what is about to, what is stuck behind something else, and what has passed the reviewing stand.

Staying involved

The point is to stay in the loop without living in it. Problem detection surfaces the agent that has quietly stopped, a session you started asks before it runs a command, and a person can step in at the right moment instead of checking every pane.

Built the way it is used

We embrace agentic development, and Mardi Gras was made that way. Most of its commits on main (194 of 233, leaving out merges) name Claude as a co-author. Two came from Gas Town agents working on an issue by themselves, under the worker names obsidian and quartz, in February 2026. Obsidian’s change, which shows an issue’s metadata schema in the detail panel, is on main; quartz’s keyboard hints for the parade’s section headers stayed on its branch.

Try it

brew install matt-wright86/homebrew-tap/mardi-gras

Then run mg in a Beads project.

The problem

Once several coding agents are working through the same issues, a person loses sight of them: who is doing what, what is stuck, and what is waiting on a human. The answers are scattered across commands and terminal panes.

OUR APPROACH

Give the person one place to watch and steer the work, in the terminal where it already happens, and make every state visible at a glance, including the moment something needs you.

What it does

  • Shows issues as a parade instead of a board: Rolling, Lined Up, Stalled and Past the Stand. “Stalled” comes from the dependency graph, not from a status someone set.
  • Launches Claude Code, Cursor or Codex on an issue, with a prompt built from the issue and its dependencies, in a new tmux pane.
  • Streams a Codex session into a live transcript, lets you reply in the same thread, and stops to ask before it runs a command or applies a patch.
  • With the Gas Town orchestrator, or its newer Gas City backend, shows every agent’s state, their convoys, mail and activity, and lets you nudge, assign or retire an agent.
  • Flags agents that look stalled, stuck, backing off or gone, and quiets the warnings when a whole rig is down, so one outage doesn’t become twenty alerts.
  • Creates, edits, comments on and closes issues, with a filter and a fuzzy command palette.
  • Fits in a tmux status line. Close an issue, and there is confetti.

How it’s built

  • Go, as a single binary for macOS, Linux and Windows
  • Charm’s Bubble Tea, Lip Gloss and Glamour
  • The Beads issue tracker, through its command line
  • Gas Town and Gas City for agent orchestration

DECISIONS, AND WHY

  1. Terminal-native, with no web server

    The agents already live in the terminal, and so do the people running them. A TUI sits beside them in tmux, starts instantly, works over SSH and has nothing to host or secure.

  2. A lens, not a database

    Mardi Gras stores nothing of its own. Every change goes through the Beads command line, so the issue graph stays the single source of truth for people and agents alike.

  3. Polling instead of a daemon

    It re-reads the issue list every few seconds instead of running a watcher: simpler, portable, and steady across refreshes.

  4. Works at every level of the stack

    Each feature works, or quietly hides itself, with Beads alone, with Gas Town, or with Gas City. A driver interface let a second orchestrator backend arrive without touching the interface.

Timeline

  1. First release in two days: the parade, launching an agent on an issue, tmux, and a Homebrew tap.

  2. The Gas Town control surface: roster, convoys, mail and problem detection.

  3. Open-source groundwork: a security policy, a code of conduct, macOS CI and vulnerability checks.

  4. Codex as a second agent runtime, with a live transcript and approvals.

  5. Gas City support, a themed detail view and reproducible screenshots.

Status

Status: Open sourceOpen tools. The workbench beneath the products, in the open.

Open source under the MIT license, and publicly released through Homebrew and prebuilt binaries. The README still calls it early, and it has been quiet since June 2026 while the tools it builds on keep moving.

Writing

Credits

  • Design and engineering: one of the studio’s founders, working with coding agents.
  • Open-source contributors who sent fixes and improvements through pull requests.
  • Built on the Beads issue tracker and the Gas Town and Gas City orchestrators, projects by others.