Skip to content
open tomato/ rafa
GitHub
rafa pages
  1. rafa
  2. Subjects and workflows

Subjects and workflows

The difference between a rafa subject, a noun with actions, and a workflow that chains several actions, with every workflow and its steps.

rafa's commands come in two kinds, and the docs keep them apart.

A subject is a noun with actions: rafa plan create, rafa plan show, rafa loop start, rafa pr merge. Each action does one thing to one kind of object, and its page lists every flag. The reference groups of the sidebar hold one page per subject and per standalone command, such as rafa init, grouped by the package that holds them in rafa's target layout (Repository layout).

A workflow chains several subject actions into one job: the cycle from spec to release, rafa next, a stretch. Some workflows are one command that runs the others for you; some are a sequence you type yourself. Each workflow page says which actions it runs, in order.

The workflows

WorkflowWhat it chainsStarted by
The cycleplan create → loop start → pr merge → release settleyou, one command at a time
rafa nextreads where the project stands, then runs the one next action: pr wait, pr triage, pr merge, release settle, plan create, loop start, issue unblock, issue readyrafa next, asking before each step
The release flowthe loop's fragment → release settle → release tag → release publishyou, or CI from level 2 of the ladder
Stretchesstretch start → per issue stretch item (plan create, loop start, loop wait, pr merge) → stretch end → release settleyou, or the stretch operators (alpha)
Closing an epicepic close: the member check, a verification plan, one check session per criterion, then the closerafa epic close <n>

Inside the loop, rafa loop start is itself a sequence: preflight, one session per task, the wrap-up, the release fragment, the push, the pull request and the CI wait. The cycle draws it.

NOTE

Every workflow on these pages shows its default sequence, the most common case. Workflows become configurable before 1.0, once workflow config lands (#71, #119): a project will be able to change their steps. The config shape is [TBD: the workflow config shape].

Shortcuts

A shortcut is a second spelling of one subject action, such as rafa epics, which prints what rafa epic show prints. A workflow like rafa next is different: it chains several actions, running each step by calling the subject action that does it, so the same guards and questions apply as when you type that action yourself.