# /morph-costs - Cost Estimation and Reporting

Estima e reporta custos de recursos Azure.

## Uso

```
/morph-costs [action]
```

### Actions

| Action | Descrição |
|--------|-----------|
| `estimate` | Estima custos da feature atual |
| `report` | Gera relatório de custos do projeto |
| `compare` | Compara custos entre ambientes |

---

## Workflow

### 1. ESTIMATE - Estimar Custos

Quando o usuário solicitar `/morph-costs estimate`:

1. Ler spec.md da feature atual para identificar recursos

2. Para cada recurso Azure, calcular custo mensal:

   | Recurso | SKU | Custo/Mês |
   |---------|-----|-----------|
   | Container Apps | Consumption (scale-to-zero) | ~$0 |
   | Azure SQL | Free (32GB) | $0 |
   | Azure SQL | Basic (5 DTU) | ~$5 |
   | Storage | Standard LRS (1GB) | ~$0.02 |
   | Key Vault | Standard | ~$0.03/10k ops |
   | App Insights | Free (5GB/mês) | $0 |
   | Service Bus | Basic | ~$0.05 |

3. Apresentar estimativa:
   ```markdown
   ## Estimativa de Custos - {Feature}

   | Recurso | SKU | Custo/Mês |
   |---------|-----|-----------|
   | Container Apps | Consumption | ~$0 |
   | SQL Database | Free | $0 |
   | Storage | LRS 1GB | $0.02 |
   | **TOTAL** | | **$0.02/mês** |

   ### Aprovação
   ✅ Free tier - nenhuma aprovação necessária
   ```

4. Verificar contra limites do Cost Guardian:
   - Free tier apenas: ✅ Aprovado automaticamente
   - Até $10/mês: ⚠️ Requer confirmação
   - Acima de $10: ❌ Requer ADR

---

### 2. REPORT - Relatório de Custos

Quando o usuário solicitar `/morph-costs report`:

1. Analisar todos os recursos definidos em `infra/`

2. Gerar relatório consolidado:

   ```markdown
   ## Relatório de Custos - {Projeto}

   ### Por Ambiente

   | Ambiente | Recursos | Custo/Mês |
   |----------|----------|-----------|
   | dev | 6 | ~$0 |
   | prod | 6 | ~$15 |
   | **Total** | | **~$15/mês** |

   ### Por Tipo de Recurso

   | Recurso | Dev | Prod |
   |---------|-----|------|
   | Container Apps | $0 | $5 |
   | SQL Database | $0 | $5 |
   | Storage | $0.02 | $2 |
   | Key Vault | $0 | $0.50 |
   | App Insights | $0 | $2.50 |

   ### Recomendações
   1. ✅ Dev usa free tier corretamente
   2. ⚠️ Considerar Reserved Capacity para prod (-30%)
   ```

3. Salvar relatório em `.morph/outputs/costs-report.md`

---

### 3. COMPARE - Comparar Ambientes

Quando o usuário solicitar `/morph-costs compare`:

1. Analisar `parameters.dev.json` e `parameters.prod.json`

2. Gerar comparativo:

   ```markdown
   ## Comparativo de Custos

   | Recurso | Dev | Prod | Diferença |
   |---------|-----|------|-----------|
   | SQL SKU | Free | Basic | +$5 |
   | Storage SKU | LRS | GRS | +$1 |
   | Min Replicas | 0 | 1 | +$3 |
   | **Total** | $0 | $15 | +$15 |

   ### Por que prod custa mais?
   - SQL Basic: melhor performance, SLA 99.99%
   - Storage GRS: redundância geográfica
   - Min replicas 1: sem cold start
   ```

---

## Pricing Reference

### Free Tier Resources

| Recurso | Limite Grátis |
|---------|---------------|
| Azure SQL | 32GB, 100k vCore seconds |
| Container Apps | Scale-to-zero, 180k vCPU-sec |
| Storage | 5GB LRS |
| App Insights | 5GB/mês |
| Cosmos DB | 1000 RU/s, 25GB |
| Functions | 1M execuções |

### Costs by Region (Brazil South)

| Recurso | SKU | Preço |
|---------|-----|-------|
| Container Apps | Consumption | $0.000012/vCPU-sec |
| SQL | Basic | $4.99/mês |
| SQL | S0 | $14.72/mês |
| Storage | LRS | $0.0184/GB |
| Storage | GRS | $0.046/GB |

---

## Cost Guardian Rules

### Aprovação Automática (Free Tier)
- Container Apps com scale-to-zero
- SQL Free tier
- Storage Standard LRS até 5GB
- App Insights free tier

### Requer Confirmação (até $10/mês)
- SQL Basic
- Storage adicional
- Service Bus Basic

### Requer ADR (acima de $10/mês)
- Recursos Premium
- Multiple replicas
- Reserved capacity
- Qualquer recurso não essencial

---

## Exemplo de Uso

```
Usuário: /morph-costs estimate
Claude: Analisando feature "scheduled-reports"...

        ## Estimativa de Custos

        | Recurso | SKU | Custo/Mês |
        |---------|-----|-----------|
        | Container Apps | Consumption | ~$0 |
        | SQL Database | Free | $0 |
        | Storage | LRS 1GB | $0.02 |
        | Hangfire | In-process | $0 |

        **TOTAL: ~$0.02/mês**

        ✅ Dentro do free tier - aprovado automaticamente!

Usuário: /morph-costs report
Claude: ## Relatório de Custos - MyProject

        | Ambiente | Custo/Mês |
        |----------|-----------|
        | dev | $0.02 |
        | prod | $12.50 |

        ⚠️ Prod excede $10/mês.
        Deseja criar um ADR para justificar? (sim/não)
```

---

*MORPH-SPEC by Polymorphism Tech*
