mirror of
https://github.com/EvolutionAPI/evolution-api.git
synced 2025-12-11 02:49:36 -06:00
108 lines
4.5 KiB
Markdown
108 lines
4.5 KiB
Markdown
# 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
|
|
- **Padrões de Commit** - Conventional Commits com commitlint
|
|
|
|
## 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**: JSONSchema7
|
|
- **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.
|