{
  "name": "project-docs",
  "version": "1.2.3",
  "description": "MCP para generar documentación completa de proyectos",
  "usage": "Para usar este MCP correctamente, indique a la IA: 'Ejecuta el comando project-docs-mcp-execute para generar documentación del proyecto' o 'Genera documentación completa para este proyecto usando el comando project-docs-mcp-all'",
  "instructions": "Analiza este proyecto y genera documentación completa siguiendo los pasos especificados en este protocolo. Usa los pasos para entender y documentar la estructura, componentes, funciones, variables, patrones de diseño y flujos del proyecto actual. Aplica los patrones de gitignore para ignorar archivos irrelevantes. La documentación final se generará en el archivo DOCS-MCP.md.",
  "template": {
    "path": "templates/template-generic.md",
    "placeholders": [
      "NOMBRE_PROYECTO",
      "DESCRIPCION_PROYECTO",
      "ARQUITECTURA_PROYECTO",
      "COMPONENTES_PRINCIPALES",
      "FUNCIONES_IMPORTANTES",
      "VARIABLES_IMPORTANTES",
      "PATRONES_DISENO",
      "FLUJOS_PRINCIPALES",
      "REQUISITOS_PREVIOS",
      "PASOS_INSTALACION",
      "INSTRUCCIONES_USO",
      "EJEMPLOS_USO",
      "ESTRUCTURA_DIRECTORIOS",
      "DIAGRAMA_ARQUITECTURA",
      "DIAGRAMA_FLUJO",
      "INFORMACION_PRUEBAS",
      "ESTRATEGIA_PRUEBAS",
      "DOCUMENTACION_API",
      "INSTRUCCIONES_CONTRIBUCION",
      "LICENCIA_PROYECTO"
    ]
  },
  "output_file": "DOCS-MCP.md",
  "language": {
    "default": "es",
    "supported": ["es", "en", "fr", "pt", "de"]
  },
  "ignore": {
    "directories": [
      "node_modules",
      ".git",
      ".github",
      "dist",
      "build",
      "coverage",
      ".idea",
      ".vscode",
      ".next",
      ".nuxt",
      "out",
      ".DS_Store",
      ".cache",
      ".tmp",
      "tmp",
      "log",
      "logs"
    ],
    "files": [
      ".env",
      ".env.local",
      ".env.development",
      ".env.test",
      ".env.production",
      "*.log",
      "*.lock",
      "package-lock.json",
      "yarn.lock",
      "npm-debug.log*",
      "yarn-debug.log*",
      "yarn-error.log*",
      "*.min.js",
      "*.min.css",
      "*.map"
    ],
    "patterns": [
      "**/.env*",
      "**/*.log",
      "**/node_modules/**",
      "**/coverage/**",
      "**/dist/**",
      "**/build/**"
    ]
  },
  "steps": [
    {
      "name": "analizar_estructura",
      "description": "Analizar la estructura general del proyecto",
      "prompts": [
        "Examina los archivos y directorios principales",
        "Identifica el tipo de proyecto (Node.js, Python, etc.)",
        "Detecta patrones de arquitectura comunes",
        "Identifica la organización del código y convenciones utilizadas",
        "Ignora archivos y directorios especificados en la sección 'ignore'"
      ]
    },
    {
      "name": "identificar_componentes",
      "description": "Identificar los componentes principales del proyecto",
      "prompts": [
        "Localiza los archivos de entrada/punto principal",
        "Identifica módulos o componentes clave",
        "Determina las dependencias externas",
        "Identifica la relación entre componentes y su acoplamiento"
      ]
    },
    {
      "name": "analizar_flujo",
      "description": "Analizar el flujo de ejecución/datos",
      "prompts": [
        "Determina cómo se inicia el proyecto",
        "Identifica los flujos de datos principales",
        "Detecta patrones de comunicación entre componentes",
        "Documenta el ciclo de vida completo de la aplicación"
      ]
    },
    {
      "name": "documentar_funciones",
      "description": "Documentar funciones y métodos del código",
      "prompts": [
        "Identifica las funciones y métodos más importantes",
        "Documenta sus parámetros, valores de retorno y efectos secundarios",
        "Clasifica las funciones por módulos o componentes",
        "Analiza la complejidad y patrones utilizados en cada función"
      ]
    },
    {
      "name": "documentar_variables",
      "description": "Documentar variables y estructuras de datos",
      "prompts": [
        "Identifica las variables y constantes globales importantes",
        "Documenta las estructuras de datos principales",
        "Analiza los tipos de datos y su uso en el proyecto",
        "Identifica patrones de estado y gestión de datos"
      ]
    },
    {
      "name": "documentar_patrones",
      "description": "Documentar patrones de diseño y arquitectura",
      "prompts": [
        "Identifica patrones de diseño utilizados (Singleton, Factory, etc.)",
        "Analiza patrones arquitectónicos (MVC, MVVM, etc.)",
        "Documenta patrones de comunicación (Observer, Pub/Sub, etc.)",
        "Identifica buenas prácticas y anti-patrones en el código"
      ]
    },
    {
      "name": "generar_diagramas",
      "description": "Generar diagramas explicativos",
      "prompts": [
        "Crea un diagrama de la estructura del proyecto",
        "Diseña un diagrama de arquitectura",
        "Si aplica, crea un diagrama de flujo de datos",
        "Genera un diagrama de clases/componentes",
        "Crea diagramas de secuencia para procesos importantes"
      ]
    },
    {
      "name": "documentar_instalacion",
      "description": "Documentar proceso de instalación",
      "prompts": [
        "Determina los requisitos previos",
        "Explica el proceso de instalación paso a paso",
        "Incluye solución a problemas comunes",
        "Documenta configuraciones específicas para diferentes entornos"
      ]
    },
    {
      "name": "documentar_uso",
      "description": "Documentar el uso del proyecto",
      "prompts": [
        "Explica cómo iniciar/usar el proyecto",
        "Describe los casos de uso principales",
        "Documenta la API o interfaz pública",
        "Provee ejemplos detallados de uso con código"
      ]
    },
    {
      "name": "documentar_pruebas",
      "description": "Documentar pruebas y calidad",
      "prompts": [
        "Identifica la estrategia de pruebas utilizada",
        "Documenta tipos de pruebas existentes (unitarias, integración, etc.)",
        "Analiza la cobertura de pruebas",
        "Describe cómo ejecutar y mantener las pruebas"
      ]
    },
    {
      "name": "compilar_readme",
      "description": "Compilar toda la información en un documento completo",
      "prompts": [
        "Organiza toda la información recopilada",
        "Crea la documentación estructurada y completa",
        "Asegúrate de incluir todos los elementos esenciales",
        "Genera documentación técnica detallada para desarrolladores",
        "Guarda el resultado en el archivo DOCS-MCP.md"
      ]
    }
  ],
  "output_format": {
    "type": "markdown",
    "sections": [
      {
        "name": "titulo",
        "required": true,
        "description": "Título del proyecto",
        "placeholder": "NOMBRE_PROYECTO"
      },
      {
        "name": "descripcion",
        "required": true,
        "description": "Descripción detallada del proyecto",
        "placeholder": "DESCRIPCION_PROYECTO"
      },
      {
        "name": "arquitectura",
        "required": true,
        "description": "Estructura arquitectónica y patrones utilizados",
        "placeholder": "ARQUITECTURA_PROYECTO"
      },
      {
        "name": "componentes",
        "required": true,
        "description": "Componentes principales y su función",
        "placeholder": "COMPONENTES_PRINCIPALES"
      },
      {
        "name": "codigo_detallado",
        "required": true,
        "description": "Documentación detallada de funciones, variables y patrones",
        "placeholders": ["FUNCIONES_IMPORTANTES", "VARIABLES_IMPORTANTES", "PATRONES_DISENO"]
      },
      {
        "name": "flujos",
        "required": true,
        "description": "Flujos de ejecución y datos principales",
        "placeholder": "FLUJOS_PRINCIPALES"
      },
      {
        "name": "instalacion",
        "required": true,
        "description": "Instrucciones de instalación",
        "placeholders": ["REQUISITOS_PREVIOS", "PASOS_INSTALACION"]
      },
      {
        "name": "uso",
        "required": true,
        "description": "Guía de uso",
        "placeholders": ["INSTRUCCIONES_USO", "EJEMPLOS_USO"]
      },
      {
        "name": "estructura",
        "required": true,
        "description": "Estructura del proyecto",
        "placeholder": "ESTRUCTURA_DIRECTORIOS"
      },
      {
        "name": "diagramas",
        "required": true,
        "description": "Diagramas explicativos",
        "placeholders": ["DIAGRAMA_ARQUITECTURA", "DIAGRAMA_FLUJO"]
      },
      {
        "name": "api",
        "required": false,
        "description": "Documentación de API (si aplica)",
        "placeholder": "DOCUMENTACION_API"
      },
      {
        "name": "pruebas",
        "required": true,
        "description": "Información sobre pruebas y calidad",
        "placeholder": "INFORMACION_PRUEBAS"
      },
      {
        "name": "contribucion",
        "required": false,
        "description": "Guía de contribución",
        "placeholder": "INSTRUCCIONES_CONTRIBUCION"
      },
      {
        "name": "licencia",
        "required": true,
        "description": "Información de licencia",
        "placeholder": "LICENCIA_PROYECTO"
      }
    ]
  }
} 