{ "version": "1.0", "description": "Cursor IDE configuration for Evolution API project", "rules": { "general": { "max_line_length": 120, "indent_size": 2, "end_of_line": "lf", "charset": "utf-8", "trim_trailing_whitespace": true, "insert_final_newline": true }, "typescript": { "quotes": "single", "semi": true, "trailing_comma": "es5", "bracket_spacing": true, "arrow_parens": "avoid", "print_width": 120, "tab_width": 2, "use_tabs": false, "single_quote": true, "end_of_line": "lf", "strict": true, "no_implicit_any": true, "strict_null_checks": true }, "javascript": { "quotes": "single", "semi": true, "trailing_comma": "es5", "bracket_spacing": true, "arrow_parens": "avoid", "print_width": 120, "tab_width": 2, "use_tabs": false, "single_quote": true, "end_of_line": "lf", "style_guide": "eslint-airbnb" }, "json": { "tab_width": 2, "use_tabs": false, "parser": "json" }, "ignore": { "files": [ "node_modules/**", "dist/**", "build/**", ".git/**", "*.min.js", "*.min.css", ".env", ".env.*", ".env.example", "coverage/**", "*.log", "*.lock", "pnpm-lock.yaml", "package-lock.json", "yarn.lock", "log/**", "tmp/**", "instances/**", "public/uploads/**", "*.dump", "*.rdb", "*.mmdb", ".DS_Store", "*.swp", "*.swo", "*.un~", ".jest-cache", ".idea/**", ".vscode/**", ".yalc/**", "yalc.lock", "*.local", "prisma/migrations/**", "prisma/mysql-migrations/**", "prisma/postgresql-migrations/**" ] }, "search": { "exclude_patterns": [ "**/node_modules/**", "**/dist/**", "**/build/**", "**/.git/**", "**/coverage/**", "**/log/**", "**/tmp/**", "**/instances/**", "**/public/uploads/**", "**/*.min.js", "**/*.min.css", "**/*.log", "**/*.lock", "**/pnpm-lock.yaml", "**/package-lock.json", "**/yarn.lock", "**/*.dump", "**/*.rdb", "**/*.mmdb", "**/.DS_Store", "**/*.swp", "**/*.swo", "**/*.un~", "**/.jest-cache", "**/.idea/**", "**/.vscode/**", "**/.yalc/**", "**/yalc.lock", "**/*.local", "**/prisma/migrations/**", "**/prisma/mysql-migrations/**", "**/prisma/postgresql-migrations/**" ] }, "evolution_api": { "project_type": "nodejs_typescript_api", "backend_framework": "express_prisma", "database": ["postgresql", "mysql"], "cache": ["redis", "node_cache"], "queue": ["rabbitmq", "sqs"], "real_time": "socket_io", "file_storage": ["aws_s3", "minio"], "validation": "class_validator", "logging": "pino", "main_directories": { "source": "src/", "api": "src/api/", "controllers": "src/api/controllers/", "services": "src/api/services/", "integrations": "src/api/integrations/", "dto": "src/api/dto/", "types": "src/api/types/", "guards": "src/api/guards/", "routes": "src/api/routes/", "cache": "src/cache/", "config": "src/config/", "utils": "src/utils/", "exceptions": "src/exceptions/", "validate": "src/validate/", "prisma": "prisma/", "tests": "test/", "docs": "docs/" }, "key_patterns": [ "whatsapp_integration", "multi_database_support", "instance_management", "event_driven_architecture", "service_layer_pattern", "dto_validation", "webhook_processing", "message_queuing", "real_time_communication", "file_storage_integration" ], "whatsapp_integrations": [ "baileys", "meta_business_api", "whatsapp_cloud_api" ], "external_integrations": [ "chatwoot", "typebot", "openai", "dify", "rabbitmq", "sqs", "s3", "minio" ] } } }