# Exemplo de CLAUDE.md de Projeto

Este é um exemplo de arquivo CLAUDE.md no nível de projeto. Coloque-o na raiz do seu projeto.

## Visão Geral do Projeto

[Descrição breve do seu projeto - o que ele faz, stack tecnológica]

## Regras Críticas

### 1. Organização de Código

- Muitos arquivos pequenos em vez de poucos arquivos grandes
- Alta coesão, baixo acoplamento
- 200-400 linhas típico, 800 máximo por arquivo
- Organize por feature/domínio, não por tipo

### 2. Estilo de Código

- Sem emojis em código, comentários ou documentação
- Imutabilidade sempre - nunca mutar objetos ou arrays
- Sem console.log em código de produção
- Tratamento de erro adequado com try/catch
- Validação de entrada com Zod ou similar

### 3. Testes

- TDD: escreva testes primeiro
- Cobertura mínima de 80%
- Testes unitários para utilitários
- Testes de integração para APIs
- Testes E2E para fluxos críticos

### 4. Segurança

- Sem segredos hardcoded
- Variáveis de ambiente para dados sensíveis
- Validar toda entrada de usuário
- Apenas queries parametrizadas
- Proteção CSRF habilitada

## Estrutura de Arquivos

```
src/
|-- app/              # Next.js app router
|-- components/       # Reusable UI components
|-- hooks/            # Custom React hooks
|-- lib/              # Utility libraries
|-- types/            # TypeScript definitions
```

## Padrões-Chave

### Formato de Resposta de API

```typescript
interface ApiResponse<T> {
  success: boolean
  data?: T
  error?: string
}
```

### Tratamento de Erro

```typescript
try {
  const result = await operation()
  return { success: true, data: result }
} catch (error) {
  console.error('Operation failed:', error)
  return { success: false, error: 'User-friendly message' }
}
```

## Variáveis de Ambiente

```bash
# Required
DATABASE_URL=
API_KEY=

# Optional
DEBUG=false
```

## Comandos Disponíveis

- `/tdd` - Fluxo de desenvolvimento orientado a testes
- `/plan` - Criar plano de implementação
- `/code-review` - Revisar qualidade de código
- `/build-fix` - Corrigir erros de build

## Fluxo Git

- Conventional commits: `feat:`, `fix:`, `refactor:`, `docs:`, `test:`
- Nunca commitar direto na main
- PRs exigem revisão
- Todos os testes devem passar antes do merge
