project-docs-mcp
Version:
MCP (Model Context Protocol) for generating detailed project documentation with Cursor
287 lines • 9.42 kB
JSON
{
"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"
}
]
}
}