UNPKG

backend-mcp

Version:

Generador automático de backends con Node.js, Express, Prisma y módulos configurables. Servidor MCP compatible con npx para agentes IA. Soporta PostgreSQL, MySQL, MongoDB y SQLite.

234 lines (212 loc) 5.23 kB
module: name: crud version: 1.0.0 description: "Módulo CRUD genérico para operaciones de base de datos" category: core author: Backend MCP license: MIT # Condiciones de activación activation: keywords: - crud - api - rest - endpoint - controller - model - entity - resource auto_detect: true priority: medium # Puntos de entrada del módulo entry_points: controller: "controller.ts.hbs" service: "service.ts.hbs" dto: "dto.ts.hbs" routes: "routes.ts.hbs" middleware: "middleware.ts.hbs" validator: "validator.ts.hbs" # Dependencias dependencies: required: - database optional: - auth - logging - cache - validation # Variables de entorno environment: required: - DATABASE_URL optional: - CRUD_DEFAULT_PAGE_SIZE - CRUD_MAX_PAGE_SIZE - CRUD_ENABLE_SOFT_DELETE - CRUD_ENABLE_AUDIT # Características del módulo features: - "CRUD operations (Create, Read, Update, Delete)" - "Pagination and filtering" - "Sorting and searching" - "Soft delete support" - "Audit logging" - "Input validation" - "Error handling" - "Swagger documentation" - "Generic controllers" - "DTO transformations" - "Query optimization" - "Bulk operations" # API endpoints generados api: base_path: "/api" endpoints: - path: "/{entity}" method: GET description: "Get all entities with pagination" auth_required: false parameters: - name: page type: number - name: limit type: number - name: search type: string - name: sort type: string - path: "/{entity}/{id}" method: GET description: "Get entity by ID" auth_required: false - path: "/{entity}" method: POST description: "Create new entity" auth_required: true - path: "/{entity}/{id}" method: PUT description: "Update entity" auth_required: true - path: "/{entity}/{id}" method: DELETE description: "Delete entity" auth_required: true - path: "/{entity}/bulk" method: POST description: "Bulk operations" auth_required: true # Archivos generados generated_files: - "src/controllers/{entity}.controller.ts" - "src/services/{entity}.service.ts" - "src/dto/{entity}.dto.ts" - "src/routes/{entity}.routes.ts" - "src/middleware/crud.middleware.ts" - "src/validators/{entity}.validator.ts" - "src/types/crud.types.ts" # Integración con base de datos database: models_required: false auto_generate_models: true supported_relations: - one_to_one - one_to_many - many_to_many features: - soft_delete - timestamps - audit_fields # Configuración de paginación pagination: default_page_size: 10 max_page_size: 100 include_total_count: true include_page_info: true # Validación validation: input_validation: true output_validation: true custom_validators: true sanitization: true # Seguridad security: input_sanitization: true sql_injection_protection: true xss_protection: true rate_limiting: true field_filtering: true # Ejemplos de uso examples: - name: "Basic CRUD" description: "CRUD básico para entidad User" code: | // GET /api/users?page=1&limit=10 // POST /api/users // GET /api/users/123 // PUT /api/users/123 // DELETE /api/users/123 - name: "Advanced filtering" description: "Filtrado avanzado con búsqueda" code: | // GET /api/users?search=john&sort=createdAt:desc&status=active # Instrucciones para agentes IA ai_instructions: | Este módulo genera operaciones CRUD completas para cualquier entidad. Pasos de activación: 1. Detectar entidades mencionadas en el input del usuario 2. Generar controladores, servicios y DTOs para cada entidad 3. Configurar rutas y middleware 4. Aplicar validaciones y seguridad Palabras clave de activación: - "CRUD", "API REST", "endpoints" - "crear", "leer", "actualizar", "eliminar" - "controlador", "servicio", "modelo" Configuración automática: - Detectar entidades del esquema Prisma - Generar DTOs basados en modelos - Configurar paginación y filtros - Aplicar middleware de autenticación si está disponible # Scripts de automatización scripts: init: "init.js" generate_entity: "generate-entity.js" update_routes: "update-routes.js" validate_schema: "validate-schema.js" # Pruebas tests: unit: - "controller.test.ts" - "service.test.ts" - "dto.test.ts" integration: - "crud-api.test.ts" - "pagination.test.ts" e2e: - "crud-flow.e2e.ts" # Métricas metrics: performance: - query_execution_time - response_time - throughput usage: - endpoints_called - entities_created - queries_executed # Compatibilidad compatibility: node_versions: [">=16.0.0"] frameworks: - express: ">=4.18.0" - fastify: ">=4.0.0" databases: - postgresql: ">=12.0" - mysql: ">=8.0" - sqlite: ">=3.0" - mongodb: ">=5.0" # Documentación documentation: readme: "README.md" api_docs: "api-docs.md" examples: "examples/" changelog: "CHANGELOG.md"