Como se trabalha
18 · Rotinas
O dia a dia de uma stack, rotina por rotina: quem faz, com que comando, e o que precisa
estar verdadeiro no fim. Os comandos de tecnologia aparecem como <build>,
<rodar app> — a ficha da stack diz quais são.
Mapa das rotinas
Subir o ambiente local
eng/dev-db.sh up # banco de desenvolvimento
docker compose up -d keycloak # http://localhost:8088 (admin/admin), realms de dev importados
<rodar app dona do schema> # roda as migrations
<rodar demais apps>Ou tudo em container: docker compose up --build. Usuários: um por perfil, listados
em docs/acesso/<app>.md. Fim: cada aplicação responde /up e aceita login de cada
perfil.
Desenvolver uma change
Detalhe em 09.
Rodar testes
| O quê | Comando |
|---|---|
| Tudo (unidade + integração) | Comando: <build> |
| Só unidade (sem Docker) | Comando: recorte documentado no guia de testes |
| Um módulo / uma classe / um teste | Comando: recortes documentados no guia de testes |
| E2E de um caso | Comando: eng/e2e.sh <agrupamento>/<cenário>/<caso> |
| E2E de uma área | Comando: eng/e2e.sh <agrupamento> |
| Regressão E2E | Comando: eng/e2e.sh --reset --shuffle |
| Ver uma tela nos dois temas e larguras | Comando: eng/e2e.sh <caso> --captures |
| Demonstração visível | Comando: eng/e2e.sh <seleção> --demo |
Entregar, commitar, implantar
Atualizar o design system
- Mantenedor: no repositório do design system, na tag da versão, roda o atualizador dela
(
node design-system/atualizar/atualizar.mjs --alvo=<raiz da stack>), que substitui por inteirovendor/hibex/e a skill.claude/skills/hibex-ui/e não faz commit; - Agente:
/opsx:propose design-system-X-Y-Zlendo oCHANGELOG.mdentre as versões; - Apply: trocas do "Para os produtos",
hibex-pendenteatendidos, verificador sem erro, capturas das telas afetadas, regressão E2E; - Fim:
vendor/hibex/VERSAOna versão nova,pedidos.mdatualizado.
Atualizar a arquitetura
Mesmo desenho do design system, com o arquivo ARQUITETURA no lugar de VERSAO:
- Mantenedor: decide adotar
arquitetura-vX.Y.Z; - Agente:
/opsx:propose arquitetura-X-Y-Zlendo o "Para as stacks" doCHANGELOG.mddeste repositório, entre a versão doARQUITETURAe a nova; - Apply: copia
docs/decisoes/organizacao/da versão nova (ORGs novas ou substituídas), revê as ADRs que cumpriam uma ORG substituída, ajustaAGENTS.md,eng/, CI, guias; - Fim:
ARQUITETURAna versão nova.
Adicionar ou atualizar uma dependência
Versão maior de dependência central (framework, banco, runtime) é change.
Registrar uma decisão
- Copiar
docs/decisoes/template.mdparaADR-NNNN-slug-no-imperativo.md(o próximo número da stack); se a decisão valeria para toda stack, é pedido para a arquitetura virar ORG, emdocs/decisoes/pedidos-a-arquitetura.md; - Status proposta; as ORGs que cumpre; contexto, decisão, alternativas, consequências;
- Linha no índice
docs/decisoes/README.md; - Mantenedor aceita (ou pede ajuste). Revisão de ADR aceita: linha "Revisão" ou nova ADR que a substitui.
Mudar permissões e perfis
- Change do OpenSpec (acesso é comportamento);
eng/auth/provision.sh: permissões, perfis, grupos;eng/auth/dev-realms.sh→ conferir o diff dos exports; usuário de exemplo para perfil novo;- Código: conferir a permissão na rota; teste de rota;
docs/acesso/<app>.md: tabelas, matriz, histórico;- E2E: caso do perfil no agrupamento
identidade; - Instruções para o mantenedor rodar o
provision.shno Keycloak real.
Acrescentar uma aplicação à stack
Checklist completo no guia nova-aplicacao.md do modelo.
Enviar pedidos ao design system
- Mantenedor pede o lote;
- Agente monta
build/pedidos-design-system/<AAAA-MM-DD>/(LEIA-ME + uma pasta por pedido,pedido.mdno formato do design system, evidências das capturas); - Agente roda
node vendor/hibex/pedir.mjs <lote>e corrige os erros; - Mantenedor envia o zip;
- Números voltam →
pedidos.mdehibex-pendente: NNNN <assunto>.
Testar a restauração do backup
- Mantenedor copia um dump real para a estação;
- Banco local descartável;
eng/backup/restore-db.sh <dump> --confirmardentro de um container da mesma imagem do backup (cada armazenamento com dados tem o seurestore-<armazenamento>.sh, testado do mesmo jeito); - Sobe a aplicação dona do schema na mesma versão da produção; confere
/upe um login; - Registra a data no guia de backup.
O guia de backup da stack é um roteiro de copiar e colar. Nele, cada comando vem completo, e a
pasta de destino é criada antes da cópia (mkdir -p antes do scp). Quando um comando pede uma
senha, o roteiro diz o nome do segredo no Bitwarden, nunca o valor. E toda variável que ele manda
exportar vem com o comando que a obtém. O primeiro teste segue o roteiro ao pé da letra, e o que
faltou volta para o guia na mesma hora.
Regenerar capturas
| Situação | Comando |
|---|---|
| Ver uma tela durante o desenvolvimento | Comando: eng/e2e.sh <caso> --captures (diretório temporário) |
| Atualizar o acervo das telas que a change mudou | Comando: eng/e2e.sh --captures --archive=<tela>,<tela> |
| Regerar o acervo inteiro | Comando: só quando todas as telas mudam (ex.: versão do design system) |