rafa pages
- rafa
- rafa roadmap
rafa roadmap
The roadmap as a table: what is ready, what blocks it, and what already has a plan, a branch or a pull request.
rafa roadmap prints the pinned Roadmap issue as a table. Once the roadmap lists epics, it shows one row per epic with its done/total.
Spends: nothing. Changes: nothing; board reads are cached, and --refresh reads again (after an issue was deleted or transferred, say). Needs: gh signed in; see Prerequisites.
In the target layout this code lives in the private package rafa-board, bundled into @open-tomato/rafa (Repository layout). In 0.47.0 it is already a package, @open-tomato/rafa-board in packages/rafa-board, but only as a facade: it re-exports this code from the root package's src/, where the files still live until their move. You install and type the same either way. [verify: the release the move lands in]
Reference: rafa roadmap
List the Roadmap's lines in its order, with spec, blocked by, has and refs.
rafa roadmap [--all] [--full] [--check] [--labels] [-t|--texts] [--refresh]
[--type=<string>] [--module=<string>] [--search=<string>] [--limit=<number>]
Runs rafa issue list --roadmap with the flags typed: the unticked lines of the Roadmap issue (the current place's board, the one rafa switch moved to; with no position file roadmap.issue, else the lowest-numbered open type:roadmap board, else the open issue titled Roadmap) in its order, read off the GitHub board, as a table with four columns the plain list has not got: spec, whether the issue can be planned (every section of the spec template filled, and the spec:ready label on it), as a symbol; blocked by, the blockers grouped by whether they are still open; has, a plan, a branch or a pull request already made for it; and refs, how many references of the issue's saved copy under specs.dir read suspect or dangling, - with no copy. A legend under the table names each symbol in plain words, one line per column, and --texts (-t) spells both columns in words instead. Labels are no column: --labels prints them on a row under each issue. A Roadmap naming epics prints them alone, grouped by horizon under a Roadmap #<n> · <horizon> heading with the columns #, state, done/total, blocked, date and title, and one line counts the lines naming no epic. --full prints each epic's issues under its row, a second row led by └→ for a member's blockers, and the lines naming no epic as the issue table. The board listing is kept under .rafa/cache/ and read for what changed since; --refresh reads the whole board again. --check exits 1 when any type:epic issue's stored state disagrees with its computed one, or the board could not be read, so CI can run it. --all keeps the ticked lines and shows the epics of every horizon, not only now, and --type, --module, --search and --limit narrow the spec rows, keeping their order. An unreachable board is warned about with the rows still printed. With --output=json the roadmap, the rows, the epics and the warnings are the data of the terminal result event.
| Flag | Type and default | What it does |
|---|---|---|
--all | boolean | With --roadmap, keep the ticked lines too, each in its place, and show the epics of every horizon, not only now. Refused without --roadmap. |
--full | boolean | With --roadmap, print each epic's issues under its row, on two rows each: number, state and title, then labels and blockers. Refused without --roadmap. |
--check | boolean | With --roadmap, exit 1 when any type:epic issue on the board is open with its work done, or closed with it not done, or when the board could not be read, naming each. Refused without --roadmap. |
--labels | boolean | With --roadmap, print each issue's labels on a row of their own under it, and under each --full member; they are no column. Refused without --roadmap. |
-t, --texts | boolean | With --roadmap, spell the spec and blocked by columns in words instead of symbols, with no legend. Refused without --roadmap. |
--refresh | boolean | With --roadmap, read the whole board again instead of only what changed since the listing kept under .rafa/cache/. Refused without --roadmap. |
--type | string | Only issues of this type: one of code, bug, spike, adr, chore, package-api, epic, spec. |
--module | string | Only issues of this module. |
--search | string | Only issues whose title or body holds this text. |
--limit | number | At most this many issues, a positive whole number. The limit of the tracker when left out, and none under --roadmap. |
Examples:
rafa roadmap: Prints the Roadmap's unticked lines in its order, asrafa issue list --roadmapdoes.rafa roadmap --all: Prints the epics of every horizon, not only now, and every line, ticked ones included.rafa roadmap --full: Prints the now epics with each epic's issues underneath, then the spec lines.rafa roadmap --labels --texts: Prints each line's labels on a row under it, and the spec and blocked by columns in words.rafa roadmap --refresh: Reads the whole board again instead of only what changed since the kept listing.rafa roadmap --check: Prints the Roadmap, then exits 1 when an epic is open with its work done or closed with it not done.rafa roadmap --all --type=bug: Prints the bugs on the Roadmap, ticked lines included, in the Roadmap's order.
Output formats: text, json.