# 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
# Desk VM122
cd deploy/desk-staging-modern && ./deploy-desk-full.sh   # DESK_RELEASE=GREEN

# Finance VM123
cd deploy/vm123-finance-modern && ./deploy-vm123-full.sh # FINANCE_RELEASE=GREEN

# Wizard VM112 (se aplicável)
cd deploy/vm112-wizard && ./deploy-wizard-vm112-smoke.sh
```

**Sincronizado** = commit em `main` + deploys VM122/123/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).
