# Git Workflow — Ligbox Ops Platform **Forgejo:** https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform **Org:** `ligbox` · **Repo:** `ligbox-ops-platform` --- ## Branches | Branch | Papel | Push directo | |--------|-------|--------------| | **`develop`** | Integração diária — specs, Desk, Wizard | ✅ Sim | | **`main`** | Produção / release — só via **Pull Request** | ❌ Bloqueado | **Default branch:** `develop` (clone e PRs partem daqui). --- ## Fluxo obrigatório ```bash # 1. Trabalhar sempre em develop git checkout develop git pull origin develop # 2. Feature branch (opcional, recomendado para mudanças grandes) git checkout -b feature/spec-040-wizard-gate # ... commits ... git push origin feature/spec-040-wizard-gate # Abrir PR → develop # 3. Release para produção (main) # Abrir PR: develop → main no Forgejo # URL: https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform/compare/main...develop # Merge após smoke GREEN (deploy-desk-full.sh) # 4. Após merge em main — tag opcional git checkout main && git pull origin main git tag -a v20260702 -m "Release: descrição" git push origin v20260702 ``` --- ## Proteção `main` - **Push directo:** bloqueado (`enable_push: false`, `apply_to_admins: true`) - **Merge:** apenas via Pull Request - **Aprovações:** 0 (Roger pode auto-merge; PR ainda obrigatório) Configurado via API Forgejo em 2026-07-02. --- ## Issues + tasks.md Tarefas vivem em `specs/*/tasks.md` **e** em Forgejo Issues (sync): ```bash python3 scripts/sync-tasks-to-forgejo-issues.py ``` Board: https://git.spec.ligbox.com.br/ligbox/ligbox-ops-platform/issues --- ## Deploy após merge em `main` ```bash cd deploy/desk-staging-modern ./deploy-desk-full.sh # DESK_RELEASE=GREEN ``` **Sincronizado** = commit em `main` + deploy VM122/112 + smoke GREEN + checkpoint. --- ## Credenciais Forgejo | User | Uso | |------|-----| | `roger` | Admin, push develop, merge PRs | | `ligboxadmin` | Admin backup | Senha: ver `docs/vms/CT130.md` (não commitar).