Wizard — pre-flight + signals
O runner wizard (v2.31.0+) não é mais um state machine que ramifica em 5 estados diferentes. Em vez disso, roda pre-flight gate primeiro (decide bail vs proceed) e depois usa sinais detectados do repo pra decidir quais perguntas condicionais (Q3-Q5) disparam.
Pre-flight gate
Antes de qualquer pergunta, o wizard verifica:
| Check | Bail quando | Hint na mensagem |
|---|---|---|
| Manifest existe | .deploy.yml presente sem --force-overwrite |
usar runner edit ou --force-overwrite |
| Git presente | .git faltando |
git init && git commit -m initial |
| Deployable | sem Dockerfile e sem docker-compose | template Dockerfile mínimo + link pros docs |
Se passa, segue pra Q1-Q5.
Sinais detectados
Pre-flight também detecta:
| Sinal | Origem | Aciona |
|---|---|---|
has_dockerfile |
Dockerfile no root |
Use no defaults inferidos |
has_compose |
docker-compose.{yml,yaml} etc. |
Use no defaults |
compose_multi_service |
compose com N>1 services | Q3 multi-service picker |
unresolved_placeholders |
${VAR} no env do compose |
Q4 placeholder values |
other_apps_in_same_repo |
state files com mesmo repo slug | Q5 ckey strategy (ofereçe reuso) |
language |
detect.rs (Node/Python/Rust/PHP/Laravel) | Defaults de system |
Quais perguntas disparam quando
| Cenário | Perguntas |
|---|---|
| Greenfield Dockerfile-only | Q1 + Q2 (2 perguntas, <60s) |
| Compose single-service | Q1 + Q2 |
| Compose multi-service (sem placeholders) | Q1 + Q2 + Q3 + Q5 |
Compose com ${VAR} no env |
+ Q4 |
| Compose com app já existente no repo | + Q5 com opção de reuso |
Resume
Cada resposta é salva incremental em .runner/wizard-answers.yml (schema v2). Rerun com --resume retoma de onde parou (ou pergunta no início se quer recomeçar do zero).
Veja também
By Borlot.com.br on 29/05/2026