autofeat docs
Use autofeat

Labels

What autofeat:go, stop, pause, and ready mean, and how to resume.

Four labels. Default names are below. You can rename them with labels.go, labels.stop, labels.pause, and labels.ready in .autofeat/config.yml. The rest of this page uses the defaults.

LabelRole
autofeat:goEnable autofeat on this pull request. opened or labeled with this label starts entry_action.
autofeat:stopKill switch. Refused before every other check. Revokes an in-flight run.
autofeat:pauseSame refusal path as stop. The reason is paused.
autofeat:readyOutput label. Autofeat sets it when the pull request is approved and waiting for a human merge (stop_before_merge, approve_only, or after halt). Do not use it as a start switch.

autofeat:stop wins over autofeat:go. autofeat:pause also wins over autofeat:go. Both stay in force while the label is on the pull request.

Events that route

Autofeat routes these pull request actions: opened, labeled, synchronize, reopened, edited (base branch change). An issue comment routes when it is a signed directive on a pull request.

Removing a label does not resume

Delete autofeat:stop or autofeat:pause and the pull request stays idle. Autofeat does not treat label removal as a new request.

How to resume

Do one of these:

  1. Push a new head commit (synchronize).
  2. Reopen the pull request.
  3. Re-add autofeat:go (labeled).

Same-head exception: when the sticky state is waiting_for_author, failed, or approved, and the head SHA has not changed, a label event is ignored unless the last run was an infra failure. Push a new head. Re-adding autofeat:go on that same SHA does not start another turn.

Terminal states do not resume. See Reading the state comment. budget_exceeded stays stopped until you raise budget.* on the default branch or an operator reconciles the ledger.

Colours

LabelColour
autofeat:go4cd0e2
autofeat:stop6c45cb
autofeat:pause6210c0
autofeat:readyb24d6d

Create commands are on the Quickstart.

On this page