CLAUDE.md — Agendou
Instruções para ferramentas de IA que trabalham neste repositório. Este projeto segue os padrões da AEX Engineering; em conflito, prevalece o padrão oficial.
Exemplo da AEX Engineering (projeto fictício).
Instruções para ferramentas de IA que trabalham neste repositório. Este projeto segue os padrões da AEX Engineering; em conflito, prevalece o padrão oficial.
Identidade do projeto
- O que é: MVP de agendamento online para pequenos prestadores de serviço.
- Problema que resolve: substituir agenda por WhatsApp/papel por um link self-service.
- Estágio: MVP em validação.
Stack
- Framework: Next.js (frontend + API routes)
- Banco de dados: Supabase (PostgreSQL + Auth)
- Infraestrutura: Docker + Coolify
Comandos essenciais
docker compose up # rodar localmente
npm test # rodar os testes
npm run build # build de produçãoConvenções
- Solução mais simples que resolve vence — este é um MVP.
- Commits em Conventional Commits; branches no padrão (
feature/,fix/). - Componentes React em PascalCase em
src/components/.
Estrutura
src/— aplicação Next.js (páginas, API routes, componentes).docs/— documentação técnica.docker/— Dockerfile e compose.
Documentação de referência
- Contexto de negócio →
PROJECT_CONTEXT.md - Requisitos →
docs/PRD.md - Arquitetura e decisões →
docs/ARCHITECTURE.md,docs/DECISIONS.md - API →
docs/API.md - Modelo de dados →
docs/DATABASE.md
Nunca faça (guardrails)
- Não commite segredos; use
.env.example. - Não acesse tabelas com a
SERVICE_ROLE_KEYno frontend — só no backend. - Toda tabela com dados de usuário deve ter RLS ativo.
- Não altere comportamento sem atualizar a documentação no mesmo PR.
- Na dúvida, pergunte antes de assumir.
Sample Documentation — Modelo-ouro
Use esta pasta como referência de como escrever bem a documentação da AEX. Não é sobre ter todos os arquivos — é sobre cada arquivo ser claro, direto e útil para outro desenvolv...
PROJECTCONTEXT — Agendou
Pequenos prestadores de serviço agendam clientes por WhatsApp e papel. Isso gera dupla marcação, esquecimento e tempo perdido confirmando horários manualmente.