# {{PROJECT_NAME}} - Flutter

> Gerado: {{GENERATION_DATE}} | Claude Craft v{{VERSION}}

## O Que (Stack & Estrutura)

**Stack**: {{TECH_STACK}}
**State Management**: {{STATE_MANAGEMENT_PATTERN}}

### Estrutura do projeto
```
lib/
├── core/              # Funcionalidades comuns
├── features/          # Features de negocio
│   └── [feature]/
│       ├── data/      # Models, DataSources, Repositories
│       ├── domain/    # Entities, UseCases, Interfaces
│       └── presentation/ # BLoC, Pages, Widgets
└── main.dart
```

## Por Que (Proposito & Organizacao)

### Arquitetura: Clean Architecture
- **Presentation** -> **Domain** <- **Data**
- Domain nao depende de nada externo
- Inversao de dependencias via interfaces

Ver `rules/02-architecture.md` para padroes.

### Regras criticas

| Regra | Descricao |
|-------|-----------|
| Analise | OBRIGATORIA antes de qualquer codigo |
| Nomes | snake_case (arquivos), UpperCamelCase (classes) |
| Const | `const` em todos os widgets possiveis |
| Testes | 80% cobertura minima |

## Como (Comandos & Workflows)

### Comandos de desenvolvimento
```bash
make setup            # Instalar dependencias
make run              # Executar app
make generate         # Gerar codigo (freezed, json_serializable)
```

### Pipeline de qualidade
```bash
make analyze          # flutter analyze --fatal-infos
make format           # dart format
make test-coverage    # Testes com cobertura
make ci               # Pipeline completa
```

### Workflow de desenvolvimento
1. **Analisar** - `rules/01-workflow-analysis.md`
2. **TDD** - Red/Green/Refactor
3. **Qualidade** - `make ci`
4. **Commit** - Conventional Commits

## Referencias

| Contexto | Arquivo |
|----------|---------|
| Workflow | `rules/01-workflow-analysis.md` |
| Arquitetura | `rules/02-architecture.md` |
| Standards | `rules/03-coding-standards.md` |
| SOLID | `rules/04-solid-principles.md` |
| Testes | `rules/07-testing.md` |
| Seguranca | `rules/11-security.md` |
| State | `rules/13-state-management.md` |

<!-- PROJECT-SPECIFIC-START -->
## Especificidades do projeto

<!-- Adicionar configuracao especifica do projeto aqui -->

<!-- PROJECT-SPECIFIC-END -->
