flurix-developer
Version:
Generador de documentación desde comentarios en JS/TS/PY usando Python
139 lines (101 loc) • 3.69 kB
Markdown
# Guía para Desarrolladores
## Estructura del Código
El proyecto está organizado de la siguiente manera:
```
flurix-developer/
├── scripts/
│ └── generate_docs.py # Script principal de generación de documentación
├── package.json # Configuración del paquete npm
├── README.md # Documentación principal
└── requirements.txt # Dependencias de Python
```
## Componentes Principales
### Script de Generación de Documentación (`generate_docs.py`)
Este es el componente central del proyecto. Sus principales funciones son:
1. **`extract_js_docstrings_and_code(file_content)`**
- Extrae docstrings y código de archivos JS/TS/JSX/TSX
- Utiliza expresiones regulares para identificar comentarios JSDoc
- Maneja tanto código documentado como no documentado
2. **`generate_markdown_doc(docstrings_and_code, file_path)`**
- Genera contenido Markdown a partir de docstrings
- Formatea la documentación de manera consistente
- Incluye ejemplos de código cuando están disponibles
3. **`save_markdown_file(directory, relative_path, content)`**
- Guarda los archivos Markdown generados
- Mantiene la estructura de directorios original
- Maneja la codificación UTF-8
4. **`generate_md_from_directory(directory_path, output_directory)`**
- Función principal que orquesta el proceso
- Recorre recursivamente los directorios
- Procesa todos los archivos soportados
## Flujo de Trabajo del Código
```mermaid
sequenceDiagram
participant User
participant Script
participant Extractor
participant Generator
participant FileSystem
User->>Script: Ejecuta flurix-developer
Script->>FileSystem: Lee archivos fuente
FileSystem-->>Script: Contenido de archivos
Script->>Extractor: Procesa archivos
Extractor->>Generator: Docstrings extraídos
Generator->>FileSystem: Genera archivos MD
FileSystem-->>User: Documentación generada
```
## Cómo Contribuir
### 1. Configuración del Entorno
```bash
# Clonar el repositorio
git clone [url-del-repositorio]
# Instalar dependencias de Node.js
npm install
# Instalar dependencias de Python
pip install -r requirements.txt
```
### 2. Estructura de Desarrollo
- Mantén la estructura de directorios existente
- Sigue las convenciones de nomenclatura actuales
- Documenta todo el código nuevo con JSDoc
- Añade pruebas para nuevas funcionalidades
### 3. Proceso de Desarrollo
1. Crear una rama para la nueva funcionalidad
2. Implementar los cambios
3. Añadir documentación JSDoc
4. Probar los cambios localmente
5. Crear un pull request
## Convenciones de Código
### Python
- Usar Python 3.x
- Seguir PEP 8 para estilo de código
- Documentar funciones con docstrings
- Manejar excepciones apropiadamente
### JavaScript/TypeScript
- Usar JSDoc para documentación
- Seguir las convenciones de ESLint
- Mantener funciones pequeñas y enfocadas
- Usar tipos cuando sea posible
## Pruebas
Para probar cambios localmente:
```bash
# Generar documentación de prueba
npm run generate-docs
# Verificar la salida
ls docs/
```
## Depuración
### Problemas Comunes
1. **Error de codificación**
- Verificar que los archivos usen UTF-8
- Revisar la configuración del editor
2. **JSDoc no detectado**
- Verificar el formato de los comentarios
- Asegurar que sigan el estándar JSDoc
3. **Errores de permisos**
- Verificar permisos de escritura
- Ejecutar con privilegios adecuados
## Recursos Adicionales
- [Documentación de JSDoc](https://jsdoc.app/)
- [Guía de Markdown](https://www.markdownguide.org/)
- [Documentación de Python](https://docs.python.org/3/)