fleet-bootstrap
fleet-bootstrap é a skill de remediação cross-repo: converge 6+
repos num config Octopus padrão a partir de um arquivo de controle,
rodando octopus setup em cada. Fecha o drift que o
audit-fleet detecta.
Duas realidades de uma frota real moldam a skill — e quebram a ideia ingênua
de “um .octopus.yml canônico único”:
- Multi-stack — um repo .NET precisa de bundles diferentes de um repo frontend, então o padrão é em camadas, não monolítico.
- Código legado — um flip duro do
guardrailsquebra commits no legado na hora, então a adoção é faseada (ratchet), não tudo de uma vez.
Pro fluxo completo ponta-a-ponta com diagramas, veja Fluxo de setup da frota.
O padrão em camadas
O manifesto de cada repo é composto como baseline ∪ perfil de stack ∪ tier:
- Baseline — stack-agnóstico, todo repo (agents, workflow, a referência
workspace:, bundles + roles do baseline). - Perfil de stack — soma os bundles da stack, escolhido por
auto-detecção (
*.csproj→ dotnet,package.json+ framework → node/frontend,pyproject.toml→ python) ou fixado por repo pra legado/monorepo. - Tier de adoção — T0 / T1 / T2 (abaixo).
Tiers de adoção — o ratchet do legado
Hooks loop-level só agem no que o agent edita daqui pra frente; o pre-commit (git) e o CI são o que quebram o legado. Tiers selecionam quais camadas ligam:
| Tier | Liga | Semeia | Legado |
|---|---|---|---|
| T0 | bundles/roles/rules; hooks: false | agent config, rules | zero enforcement — seguro já |
| T1 | hooks: true + enforce-ide | .editorconfig por stack | pega drift novo; sem gate de commit/CI |
| T2 | + enforce-precommit + qualityWorkflow | .husky/pre-commit + CI | piso bloqueante — quando limpo |
Repos legados começam em T0/T1; o manager sobe o tier: e re-roda.
Um arquivo de controle — fleet.yml
Mora no repo workspace:. Carrega o baseline, os profiles, os tiers e o
mapa repos: (perfil opcional + tier por repo). audit-fleet e
fleet-bootstrap leem a mesma lista repos:.
Orquestrador fino
A skill escreve só o .octopus.yml; a semeadura de fato — rules, hooks,
agent config, .editorconfig, .husky — é delegada ao octopus setup,
exatamente como num repo único.
Seguro por padrão
- Dry-run por padrão — preview do diff por repo, escreve nada.
- Merge por-chave — converge baseline + tier, mantém adições locais
justificadas pelo perfil, sinaliza keeps arbitrários e qualquer
de-escalação de tier (nunca remoção silenciosa); overrides
*.local.mdsobrevivem. --applyescreve + roda setup;--yespra batch confiável;--prabre branch + PR guardado por repo (nunca dá push em main);--from-auditescopa pros repos que oaudit-fleetsinalizou.
Os trade-offs seguem a merge policy não-destrutiva e a precedência de template de config do workspace.