mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-12-21 21:02:21 -06:00
feat: add project guidelines and configuration files for development standards
- Introduce AGENTS.md for repository guidelines and project structure - Add core development principles in .cursor/rules/core-development.mdc - Establish project-specific context in .cursor/rules/project-context.mdc - Implement Cursor IDE configuration in .cursor/rules/cursor.json - Create specialized rules for controllers, services, DTOs, guards, routes, and integrations - Update .gitignore to exclude unnecessary files - Enhance CLAUDE.md with project overview and common development commands
This commit is contained in:
106
.cursor/rules/README.md
Normal file
106
.cursor/rules/README.md
Normal file
@@ -0,0 +1,106 @@
|
||||
# Evolution API Cursor Rules
|
||||
|
||||
Este diretório contém as regras e configurações do Cursor IDE para o projeto Evolution API.
|
||||
|
||||
## Estrutura dos Arquivos
|
||||
|
||||
### Arquivos Principais (alwaysApply: true)
|
||||
- **`core-development.mdc`** - Princípios fundamentais de desenvolvimento
|
||||
- **`project-context.mdc`** - Contexto específico do projeto Evolution API
|
||||
- **`cursor.json`** - Configurações do Cursor IDE
|
||||
|
||||
### Regras Especializadas (alwaysApply: false)
|
||||
Estas regras são ativadas automaticamente quando você trabalha nos arquivos correspondentes:
|
||||
|
||||
#### Camadas da Aplicação
|
||||
- **`specialized-rules/service-rules.mdc`** - Padrões para services (`src/api/services/`)
|
||||
- **`specialized-rules/controller-rules.mdc`** - Padrões para controllers (`src/api/controllers/`)
|
||||
- **`specialized-rules/dto-rules.mdc`** - Padrões para DTOs (`src/api/dto/`)
|
||||
- **`specialized-rules/guard-rules.mdc`** - Padrões para guards (`src/api/guards/`)
|
||||
- **`specialized-rules/route-rules.mdc`** - Padrões para routers (`src/api/routes/`)
|
||||
|
||||
#### Tipos e Validação
|
||||
- **`specialized-rules/type-rules.mdc`** - Definições TypeScript (`src/api/types/`)
|
||||
- **`specialized-rules/validate-rules.mdc`** - Schemas de validação (`src/validate/`)
|
||||
|
||||
#### Utilitários
|
||||
- **`specialized-rules/util-rules.mdc`** - Funções utilitárias (`src/utils/`)
|
||||
|
||||
#### Integrações
|
||||
- **`specialized-rules/integration-channel-rules.mdc`** - Integrações de canal (`src/api/integrations/channel/`)
|
||||
- **`specialized-rules/integration-chatbot-rules.mdc`** - Integrações de chatbot (`src/api/integrations/chatbot/`)
|
||||
- **`specialized-rules/integration-storage-rules.mdc`** - Integrações de storage (`src/api/integrations/storage/`)
|
||||
- **`specialized-rules/integration-event-rules.mdc`** - Integrações de eventos (`src/api/integrations/event/`)
|
||||
|
||||
## Como Usar
|
||||
|
||||
### Referências Cruzadas
|
||||
Os arquivos principais fazem referência aos especializados usando a sintaxe `@specialized-rules/nome-do-arquivo.mdc`. Quando você trabalha em um arquivo específico, o Cursor automaticamente carrega as regras relevantes.
|
||||
|
||||
### Exemplo de Uso
|
||||
Quando você edita um arquivo em `src/api/services/`, o Cursor automaticamente:
|
||||
1. Carrega `core-development.mdc` (sempre ativo)
|
||||
2. Carrega `project-context.mdc` (sempre ativo)
|
||||
3. Carrega `specialized-rules/service-rules.mdc` (ativado pelo glob pattern)
|
||||
|
||||
### Padrões de Código
|
||||
Cada arquivo de regras contém:
|
||||
- **Estruturas padrão** - Como organizar o código
|
||||
- **Padrões de nomenclatura** - Convenções de nomes
|
||||
- **Exemplos práticos** - Código de exemplo
|
||||
- **Anti-padrões** - O que evitar
|
||||
- **Testes** - Como testar o código
|
||||
|
||||
## Configuração do Cursor
|
||||
|
||||
O arquivo `cursor.json` contém:
|
||||
- Configurações de formatação
|
||||
- Padrões de código específicos do Evolution API
|
||||
- Diretórios principais do projeto
|
||||
- Integrações e tecnologias utilizadas
|
||||
|
||||
## Manutenção
|
||||
|
||||
Para manter as regras atualizadas:
|
||||
1. Analise novos padrões no código
|
||||
2. Atualize as regras especializadas correspondentes
|
||||
3. Mantenha os exemplos sincronizados com o código real
|
||||
4. Documente mudanças significativas
|
||||
|
||||
## Tecnologias Cobertas
|
||||
|
||||
- **Backend**: Node.js 20+ + TypeScript 5+ + Express.js
|
||||
- **Database**: Prisma ORM (PostgreSQL/MySQL)
|
||||
- **Cache**: Redis + Node-cache
|
||||
- **Queue**: RabbitMQ + Amazon SQS
|
||||
- **Real-time**: Socket.io
|
||||
- **Storage**: AWS S3 + Minio
|
||||
- **Validation**: class-validator + Joi
|
||||
- **Logging**: Pino
|
||||
- **WhatsApp**: Baileys + Meta Business API
|
||||
- **Integrations**: Chatwoot, Typebot, OpenAI, Dify
|
||||
|
||||
## Estrutura do Projeto
|
||||
|
||||
```
|
||||
src/
|
||||
├── api/
|
||||
│ ├── controllers/ # Controllers (HTTP handlers)
|
||||
│ ├── services/ # Business logic
|
||||
│ ├── dto/ # Data Transfer Objects
|
||||
│ ├── guards/ # Authentication/Authorization
|
||||
│ ├── routes/ # Express routers
|
||||
│ ├── types/ # TypeScript definitions
|
||||
│ └── integrations/ # External integrations
|
||||
│ ├── channel/ # WhatsApp channels (Baileys, Business API)
|
||||
│ ├── chatbot/ # Chatbot integrations
|
||||
│ ├── event/ # Event integrations
|
||||
│ └── storage/ # Storage integrations
|
||||
├── cache/ # Cache implementations
|
||||
├── config/ # Configuration files
|
||||
├── utils/ # Utility functions
|
||||
├── validate/ # Validation schemas
|
||||
└── exceptions/ # Custom exceptions
|
||||
```
|
||||
|
||||
Este sistema de regras garante consistência no código e facilita o desenvolvimento seguindo os padrões estabelecidos do Evolution API.
|
||||
Reference in New Issue
Block a user