Packages
burgee and the 10 packages it is built from: what each migrates from, and the site its docs live on.
Every package in the family is published on its own, depends on nothing outside this repository, and has a site of its own, or a section here until its site exists. Its page is its README, projected; the family-wide pages — compatibility, comparison and gallery — stay here, one copy each.
| Package | Migrates from | Site |
|---|---|---|
| burgee | commander, yargs and meow | burgee.interlace.tools |
| bellpull | cross-spawn and which | bellpull.interlace.tools |
| caique | @inquirer/core | caique.interlace.tools |
| closeout | signal-exit, exit-hook, restore-cursor, cli-cursor and onetime | closeout.interlace.tools |
| controlroom | ink | controlroom.interlace.tools |
| flagstaff | ora, log-update, boxen and cli-table3 | flagstaff.interlace.tools |
| linegauge | string-width, wrap-ansi, strip-ansi, slice-ansi, cli-truncate and widest-line | linegauge.interlace.tools |
| oxmutate | Stryker | oxmutate.interlace.tools |
| paratext | ansi-escapes, terminal-link and term-img | paratext.interlace.tools |
| roundel | chalk, colorette, kleur, picocolors, supports-color and yoctocolors | roundel.interlace.tools |
| seniority | cosmiconfig, lilconfig, dotenv and rc | seniority.interlace.tools |
Which one do I need?
Two packages draw in a terminal. They split on whether the program owns the screen.
- flagstaff, for inline output in a scrolling terminal. Spinners, progress, task lists, boxes and tables, drawn in place under what the program has already printed and left in the scrollback as ordinary lines. It reads no keys. Usable today, with drop-in paths for ora, log-update, boxen and cli-table3.
- controlroom, for a screen that reads keys. Panes, tabs with key hints, focus and
collapse, an input line, with keys routed to the program, either inline under the
program's output or in the alternate screen. An ink program moves by its import, to
controlroom/ink. Coming from blessed, neo-blessed or terminal-kit? The coming-from guides map each one ontoopen(), andburgee migratereports their sites.
If a program only draws, it is flagstaff, even when the drawing is busy. If it reads keys while it draws, it is controlroom, and its inline screen keeps that in the main screen, the shape of a chat CLI. A question asked once, such as a confirm or a pick, is neither: it is a prompt, and prompts are caique's.
Off a terminal, flagstaff gives a pipe, CI, a screen reader and --json each component's
static projection, never a redraw, and controlroom does the same for a whole screen.
Plugins
Every layer takes plugins the same way — a plain object, validated against one published schema, checked by the package's own command before it ships. One object can extend all nine.
burgee
A CLI framework built on one declaration: help, --json, --schema, MCP, completions and types are projected from it, with exit codes and fix: lines an agent can act on. No dependency outside the burgee family. Drop-in paths for commander, yargs and meow.