# Projects — Ligbox Ops Platform

Monorepo organizado por **domínio de negócio**. As **specs** ficam na raiz (`specs/`) porque muitas cruzam VMs.

## Estrutura

| Projecto | VM | Pasta | Papel |
|----------|-----|-------|-------|
| **Wizard** | VM112 | `projects/wizard/` | Onboard, Carbonio, purge, domínios |
| **Ops Desk** | VM122 | `projects/ops-desk/` | API, worker, frontend MVP, RBAC |
| **Finance** | VM123 | `projects/finance/` | FOSSBilling, Odoo, OpenPanel, console |
| **Integrations** | VM104 | `projects/integrations/` | Wazuh SIEM |

## Specs (raiz — partilhadas)

```
specs/001-031/     # Spec Kit — podem referir VM112 + VM122 + VM123
contracts/         # OpenAPI, eventos partilhados
docs/vms/          # Ficha por VM
deploy/manifest.yaml  # O que cada VM faz pull/deploy
```

## Deploy por VM

Ver `deploy/manifest.yaml` — cada VM recebe apenas os paths do seu projecto.

## Retrocompatibilidade

Symlinks na raiz (`api`, `worker`, `frontend`, `deploy/vm*`) apontam para `projects/` — VMs antigas continuam a funcionar até actualizarem scripts.
