# Project Context - {PROJECT_NAME}

> Este arquivo define o contexto do projeto para os agentes MORPH.
> Preencha com as informações específicas do seu projeto.

## Overview

**Nome:** {PROJECT_NAME}
**Descrição:** {Breve descrição do projeto}
**Tipo:** Blazor Server Application

---

## Technical Stack

| Layer | Technology | Version |
|-------|------------|---------|
| Frontend | Blazor Server | .NET 10 |
| UI Library | Fluent UI Blazor (recomendado) | 4.0+ |
| Backend | ASP.NET Core | 10.0 |
| Database | Azure SQL | Free Tier |
| ORM | Entity Framework Core | 10.0 |
| AI | Microsoft Agent Framework | .NET 10 |
| Jobs | Hangfire | Latest |
| Hosting | Azure Container Apps | Consumption |

---

## Architecture

```
┌─────────────────────────────────────────────────┐
│                   Web (Blazor)                   │
├─────────────────────────────────────────────────┤
│              Application (Services)              │
├─────────────────────────────────────────────────┤
│              Domain (Entities)                   │
├─────────────────────────────────────────────────┤
│           Infrastructure (EF Core)               │
├─────────────────────────────────────────────────┤
│              Agents (AI Services)                │
└─────────────────────────────────────────────────┘
```

### Project Structure

```
src/
├── {Project}.Web/              # Blazor Server
├── {Project}.Application/      # Services, DTOs, Commands
├── {Project}.Domain/           # Entities, Value Objects
├── {Project}.Infrastructure/   # EF Core, Repositories
└── {Project}.Agents/           # AI Agents

tests/
├── {Project}.Tests.Unit/
└── {Project}.Tests.Integration/
```

---

## Conventions

### Naming

- **Classes:** PascalCase (ex: `ReportScheduleService`)
- **Interfaces:** I + PascalCase (ex: `IReportScheduleService`)
- **Methods:** PascalCase, async com sufixo Async (ex: `GetByIdAsync`)
- **Variables:** camelCase (ex: `reportSchedule`)
- **Private fields:** _camelCase (ex: `_repository`)

### Code Style

- Primary constructors (C# 12+)
- Records para DTOs
- Private setters em entidades
- Factory methods para criação de entidades
- Fluent API para EF Core (nunca Data Annotations)

### Documentation

- Documentação em Português
- Código em Inglês
- XML comments em métodos públicos

---

## Azure Resources

| Resource | Name | Tier |
|----------|------|------|
| Resource Group | rg-{project}-{env} | - |
| Container App | ca-{project}-{env} | Consumption |
| SQL Server | sql-{project}-{env} | Free |
| SQL Database | sqldb-{project}-{env} | Free 32GB |
| App Insights | appi-{project}-{env} | Free 5GB |

### Cost Limits

- **Sem aprovação:** Free tier apenas
- **Com aprovação:** Até $10/mês
- **Acima de $10:** Requer ADR com justificativa

---

## Authentication & Authorization

- [ ] Azure AD / Entra ID
- [ ] Identity Server
- [ ] Custom JWT
- [ ] None (internal tool)

**Policies definidas:**
- `CanView{Feature}` - Visualização
- `CanManage{Feature}` - CRUD completo
- `IsAdmin` - Acesso total

---

## External Integrations

| Service | Purpose | Auth Method |
|---------|---------|-------------|
| Azure OpenAI | AI Analysis | Managed Identity |
| {Service} | {Purpose} | {Method} |

---

## Development Guidelines

### Git Flow

- **main** - Produção
- **develop** - Desenvolvimento
- **feature/{name}** - Features

### Commit Convention

```
{type}({scope}): {message}

Types: feat, fix, docs, style, refactor, test, chore
```

### PR Requirements

- [ ] Testes passando
- [ ] Code review aprovado
- [ ] Sem conflitos
- [ ] Linked to work item

---

## Notes

{Adicione notas específicas do projeto aqui}

---

*Gerado pelo MORPH Framework*
