GenCodeDoc
Versiones inteligentes de código (instantáneas) y generador automático de documentación. Con soporte para CLI, API REST y MCP.
Documentación
🚀 GenCodeDoc
Generador inteligente de documentación y sistema de versionado inteligente con soporte completo de MCP
Versionado inteligente y documentación para flujos de trabajo de desarrollo modernos
Inicio Rápido • Características • Herramientas MCP • Documentación
⚡ Inicio Rápido
# 1. Install
cd /path/to/gencodedoc
poetry install
# 2. Initialize your project
poetry run gencodedoc init --preset python
# 3. Create your first snapshot
poetry run gencodedoc snapshot create -m "Initial version" -t v1.0
# 4. Generate documentation (Smart Split)
poetry run gencodedoc doc generate --limit 5000
# 5. Visualize Tree
poetry run gencodedoc tree
🎯 Para Asistentes de IA (Claude/Gemini): Ver Integración MCP
✨ Características 🎯 Características Principales 📸 Instantáneas Inteligentes - Crea instantáneas inteligentes con ~70% de ahorro de espacio mediante deduplicación SHA256 🔄 Autoguardado Inteligente - 3 modos (temporizador/diff/híbrido) con umbrales configurables 📝 Documentación Elegante - Genera documentación Markdown con resaltado de sintaxis, árboles de directorios y división inteligente 🔍 Diff Avanzado - Compara versiones con diffs unificados, JSON o basados en AST 🗜️ Almacenamiento Eficiente - Compresión zstd (~3x de reducción) + SQLite con índices optimizados 🎨 Presets de Proyecto - Preconfigurados para proyectos Python, Node.js, Go y Web 🔌 Integración MCP (Model Context Protocol) 26 Herramientas MCP - Toda la funcionalidad de CLI expuesta vía MCP para Asistentes de IA 3 Transportes - stdio (Gemini CLI) + SSE (Claude Desktop) + API REST Multi-Proyecto - Gestiona múltiples proyectos simultáneamente Inteligencia de Código - Historial de archivos, búsqueda y generación de changelogs Estado en Vivo - Estadísticas de proyecto en tiempo real y gestión de instantáneas 📦 Instalación Requisitos Previos Python 3.10+ Poetry (gestor de dependencias) Instalar Poetry Bash
Linux/macOS
curl -sSL https://install.python-poetry.org | python3 -
Windows (PowerShell)
(Invoke-WebRequest -Uri https://install.python-poetry.org -UseBasicParsing).Content | py - Instalar GenCodeDoc Bash
Clonar o navegar al proyecto
cd /home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc
Instalar dependencias
poetry install
Verificar instalación
poetry run gencodedoc --help 🎯 Uso 📋 Uso de CLI Inicializar un Proyecto Bash
Inicialización básica
gencodedoc init
Con preset de Python (recomendado para proyectos Oracle)
gencodedoc init --preset python
Presets disponibles: python, nodejs, go, web
Gestión de Instantáneas Bash
Crear instantánea
gencodedoc snapshot create --message "Característica X completada" --tag v1.0
Listar instantáneas
gencodedoc snapshot list --limit 10
Mostrar detalles de instantánea
gencodedoc snapshot show v1.0
Ver contenido de archivo en versión específica (NUEVO)
gencodedoc snapshot cat v1.0 src/main.py
Listar archivos en una instantánea (NUEVO)
gencodedoc snapshot files v1.0 --pattern "*.py"
Comparar versiones
gencodedoc snapshot diff v1.0 v2.0
Restaurar instantánea (completa o parcial)
gencodedoc snapshot restore v1.0 --force gencodedoc snapshot restore v1.0 --filter "src/*.py" # Restauración parcial
Exportar instantánea (NUEVO)
gencodedoc snapshot export v1.0 ./dist-v1 --archive # Crea .tar.gz
Eliminar instantánea
gencodedoc snapshot delete old-version --force
Limpiar datos huérfanos (NUEVO)
gencodedoc snapshot cleanup Generación de Documentación Bash
Documentación completa
gencodedoc doc generate
Salida personalizada
gencodedoc doc generate --output docs/API.md
Solo rutas específicas
gencodedoc doc generate --include src/api/ --include README.md
Vista previa de estructura
gencodedoc doc preview --max-depth 3
Estadísticas del proyecto
gencodedoc doc stats Configuración Bash
Ver configuración
gencodedoc config show
Editar configuración
gencodedoc config edit
Establecer valores específicos
gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid
Aplicar preset
gencodedoc config preset python
Gestionar reglas de ignorado
gencodedoc config ignore --add-dir dist gencodedoc config ignore --add-ext .tmp gencodedoc config ignore --list-all
Presets Personalizables
Los presets ahora se definen en archivos YAML (gencodedoc/config/presets/*.yaml)
y se pueden modificar directamente en el código fuente.
Estado del Proyecto Bash
Mostrar estado del proyecto
gencodedoc status 🔌 Integración MCP GenCodeDoc expone 22 herramientas potentes a través del Model Context Protocol, compatible con Claude Desktop, Gemini CLI y cualquier cliente compatible con MCP.
🎯 Modos de Transporte Transporte Caso de Uso Asistentes de IA Puerto stdio Integración CLI Gemini CLI, scripts personalizados stdin/stdout SSE Aplicaciones web/escritorio Claude Desktop, interfaces web 8000 (HTTP) REST Integración API Cualquier cliente HTTP 8000 (HTTP) 🚀 Configuración para Gemini CLI (stdio)
- Encuentra la ruta de tu venv de Poetry:
Bash
cd /home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc poetry env info --path
Copia la ruta y añade /bin/python
- Añade a ~/.config/gemini-desktop-app/settings.json:
JSON
{ "mcpServers": { "gencodedoc": { "command": "/path/to/your/venv/bin/python", "args": ["-m", "gencodedoc.mcp.server_stdio"], "env": { "PROJECT_PATH": "/home/fkomp/Bureau/oracle/utilitaires/gencodedoc/gencodedoc" } } } } 3. Reinicia Gemini CLI y ¡listo! 🎉
🚀 Configuración para Claude Desktop (SSE)
- Inicia el servidor SSE:
Bash
Terminal 1: Iniciar servidor
poetry run python -m gencodedoc.mcp.server_sse
El servidor se ejecuta en http://127.0.0.1:8000
- Añade a la configuración de Claude Desktop:
Ubicación:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json Config:
JSON
{ "mcpServers": { "gencodedoc": { "url": "http://127.0.0.1:8000/mcp/sse", "transport": "sse", "description": "GenCodeDoc - Documentación inteligente y versionado" } } } 3. Reinicia Claude Desktop y ¡el servidor debe permanecer en ejecución!
🚀 API REST Bash
Iniciar servidor REST
poetry run python -m gencodedoc.mcp.server
Endpoints disponibles
GET http://127.0.0.1:8000/ # Información del servidor GET http://127.0.0.1:8000/mcp/tools # Listar herramientas POST http://127.0.0.1:8000/mcp/execute # Ejecutar herramienta 🛠️ Herramientas MCP (26 Herramientas)
🧠 Inteligencia de Código (3 herramientas)
| Herramienta | Descripción | Parámetros Clave |
|---|---|---|
get_file_history | Rastrear cambios de archivos entre versiones | file_path |
search_snapshots | Buscar texto en todas las instantáneas | query, case_sensitive, file_filter |
generate_changelog | Generar Keep-a-Changelog | from_ref, to_ref |
📸 Gestión de Instantáneas (11 herramientas)
| Herramienta | Descripción | Parámetros Clave |
|---|---|---|
create_snapshot | Crear una nueva instantánea | message, tag, include_paths |
list_snapshots | Listar todas las instantáneas | limit, include_autosave |
get_snapshot_details | Obtener información completa de la instantánea | snapshot_ref |
restore_snapshot | Restaurar una instantánea (completa o parcial) | snapshot_ref, force, file_filters |
restore_files | Restaurar archivos específicos | snapshot_ref, file_filters |
delete_snapshot | Eliminar una instantánea | snapshot_ref |
diff_versions | Comparar dos versiones | from_ref, to_ref, format, file_filters |
get_file_at_version | Obtener contenido de un solo archivo | snapshot_ref, file_path |
list_files_at_version | Listar archivos en una instantánea | snapshot_ref, pattern |
export_snapshot | Exportar instantánea a carpeta/archivo | snapshot_ref, output_path, archive |
cleanup_orphaned_contents | Limpiar datos no utilizados | ninguno |
📝 Documentación (3 herramientas)
| Herramienta | Descripción | Parámetros Clave |
|---|---|---|
generate_documentation | Generar documentación Markdown | output_path, split_limit, ignore_tree_patterns |
preview_structure | Mostrar árbol de directorios | max_depth, ignore_add, limit, page |
get_project_stats | Obtener estadísticas del proyecto | ninguno |
🎯 Gestión de Proyectos (2 herramientas)
| Herramienta | Descripción | Parámetros Clave |
|---|---|---|
init_project | Inicializar gencodedoc | project_path, preset |
get_project_status | Obtener estado del proyecto | project_path |
⚙️ Configuración (4 herramientas)
| Herramienta | Descripción | Parámetros Clave |
|---|---|---|
get_config | Ver configuración | project_path |
set_config_value | Modificar valor de configuración | key, value |
apply_preset | Aplicar configuración de preset | preset (python/nodejs/go/web) |
manage_ignore_rules | Gestionar reglas de ignorado | add_dir, add_file, add_ext, list_all |
🔄 Autoguardado (3 herramientas)
| Herramienta | Descripción | Parámetros Clave |
|---|---|---|
start_autosave | Iniciar versionado automático | project_path, mode |
stop_autosave | Detener versionado automático | project_path |
get_autosave_status | Obtener estado de todos los autoguardados | ninguno |
🤝 Contribuciones ¡Las contribuciones son bienvenidas! 🎉
🐛 Reporta errores vía GitHub Issues 💡 Sugiere funciones vía Discussions 🔧 Envía Pull Requests
Flujo de trabajo de desarrollo:
- Haz fork del repositorio
- Crea una rama de características (
git checkout -b feature/amazing) - Realiza tus cambios
- Ejecuta las pruebas (
make test) - Envía el PR
📄 Licencia Licencia MIT - Ver archivo LICENSE
🐛 Issues: GitHub Issues 💬 Discussions: GitHub Discussions 🌐 Sitio web: esprit-artificiel.com 📧 Correo: support@esprit-artificiel.com
💡 Consejo Pro: ¡Usa GenCodeDoc con Gemini CLI o Claude Desktop para control de versiones impulsado por IA!
⭐ ¡Da una estrella a este repo si te resulta útil!
🤖 "Detén todos los autoguardados y muéstrame su estado" → Llama a: stop_autosave(...) + get_autosave_status() ⚙️ Configuración Archivo de Configuración (.gencodedoc.yaml) YAML
project_name: "my-project"
Archivos/directorios a ignorar
ignore: dirs: - node_modules - venv - .venv - pycache - .git - dist - build files: - "*.log" - package-lock.json - .DS_Store extensions: - .pyc - .pyo - .exe - .jpg - .png - .pdf patterns: [] # patrones estilo gitignore
Autoguardado inteligente
autosave: enabled: false # Establecer en true para habilitar mode: hybrid # timer | diff | hybrid (recomendado)
Modo temporizador: intervalo fijo
timer: interval: 300 # segundos (5 minutos)
Modo diff: basado en umbral
diff_threshold: threshold: 0.05 # Guardar si el 5% de los archivos cambió check_interval: 60 # Verificar cada 60 segundos ignore_whitespace: true ignore_comments: false
Modo híbrido: combina temporizador + diff (RECOMENDADO)
hybrid: min_interval: 180 # Mínimo 3 minutos entre guardados max_interval: 600 # Máximo 10 minutos entre guardados threshold: 0.03 # Guardar si el 3% de los archivos cambió
Política de retención
retention: max_autosaves: 50 # Mantener máximo 50 autoguardados compress_after_days: 7 # Comprimir después de 7 días delete_after_days: 30 # Eliminar después de 30 días keep_manual: true # Mantener siempre las instantáneas manuales
Salida de documentación
output: default_name: "{project}doc{date}.md" include_tree: true include_code: true tree_full_code_select: false # Árbol completo, código seleccionado únicamente language_detection: true max_file_size: 1000000 # 1 MB máximo por archivo
Formato de salida diff
diff_format: default: unified # unified | json | ast unified_context: 3 json_include_content: true ast_enabled: false # Experimental
Almacenamiento
storage_path: .gencodedoc compression_enabled: true compression_level: 3 # 1-22 (3 = buen equilibrio) Comandos Rápidos de Configuración Bash
Habilitar autoguardado
gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid
Ajustar umbrales de autoguardado
gencodedoc config set autosave.hybrid.min_interval 300 gencodedoc config set autosave.hybrid.max_interval 1800 gencodedoc config set autosave.hybrid.threshold 0.03
Añadir reglas de ignorado
gencodedoc config ignore --add-dir dist gencodedoc config ignore --add-ext .tmp gencodedoc config ignore --add-file debug.log 🏗️ Arquitectura text
┌─────────────────────────────────────────────────────────────┐ │ GenCodeDoc System │ └─────────────────────────────────────────────────────────────┘
┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │ CLI (Typer) │ │ MCP stdio │ │ MCP SSE/REST │ │ │ │ (Gemini CLI) │ │ (Claude/Web) │ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │ │ │ └─────────────────┼──────────────────┘ │ ┌──────────▼──────────┐ │ Core Managers │ ├─────────────────────┤ │ • ConfigManager │ │ • VersionManager │ │ • DocGenerator │ │ • AutosaveManager │ └──────────┬──────────┘ │ ┌───────────────┼───────────────┐ │ │ │ ┌────▼─────┐ ┌─────▼──────┐ ┌────▼──────┐ │ Scanner │ │ Differ │ │ Storage │ │ │ │ │ │ │ │ • Scan │ │ • Unified │ │ • SQLite │ │ • Filter │ │ • JSON │ │ • zstd │ │ • Detect │ │ • AST │ │ • Dedup │ └──────────┘ └────────────┘ └───────────┘
┌─────────────────────────────────────────────────────────────┐ │ Storage Layer │ ├─────────────────────────────────────────────────────────────┤ │ .gencodedoc/ │ │ ├── gencodedoc.db ← SQLite (metadata) │ │ │ ├── snapshots ← Snapshot records │ │ │ ├── snapshot_files ← File entries │ │ │ ├── file_contents ← Deduplicated content (SHA256) │ │ │ └── autosave_state ← Autosave status │ │ └── config/ ← Configuration files │ └─────────────────────────────────────────────────────────────┘
Características clave: • 🔑 Deduplicación SHA256 → ~70% de ahorro de espacio • 🗜️ Compresión zstd → ~3x de reducción de tamaño • 📊 SQLite indexado → Consultas rápidas • 🔄 Observador watchdog → Monitoreo de archivos en tiempo real Estructura del Proyecto text
gencodedoc/ ├── gencodedoc/ # Código fuente │ ├── cli/ # Comandos CLI (Typer) │ │ ├── main.py # Punto de entrada │ │ ├── snapshot_cmd.py │ │ ├── doc_cmd.py │ │ ├── config_cmd.py │ │ └── mcp_cmd.py │ ├── core/ # Lógica de negocio │ │ ├── config.py # Gestión de configuración │ │ ├── scanner.py # Escaneo y filtrado de archivos │ │ ├── versioning.py # Gestión de instantáneas │ │ ├── documentation.py │ │ ├── differ.py # Comparación de versiones │ │ └── autosave.py # Autoguardado inteligente │ ├── mcp/ # Servidores MCP │ │ ├── server_stdio.py # Transporte stdio │ │ ├── server_sse.py # Transporte SSE │ │ ├── server.py # Transporte REST │ │ └── tools.py # Definiciones de herramientas │ ├── models/ # Modelos de datos (Pydantic) │ │ ├── config.py │ │ └── snapshot.py │ ├── storage/ # Almacenamiento y compresión │ │ ├── database.py # Gestor SQLite │ │ ├── snapshot_store.py │ │ └── compression.py # Compresión zstd │ └── utils/ # Utilidades │ ├── filters.py │ ├── formatters.py │ └── tree.py ├── config/ # Ajustes predefinidos de configuración │ └── presets/ │ ├── python.yaml │ ├── nodejs.yaml │ ├── go.yaml │ └── web.yaml ├── tests/ # Pruebas unitarias ├── pyproject.toml # Configuración de Poetry ├── Makefile # Comandos de desarrollo └── README.md 🔬 Características Avanzadas 🎯 Deduplicación Inteligente (~70% de ahorro) GenCodeDoc utiliza deduplicación basada en SHA256:
✅ Los archivos idénticos entre instantáneas se almacenan una sola vez ✅ Ahorro masivo de espacio (~70% en proyectos reales) ✅ Compresión zstd para ~3x de reducción adicional ✅ SQLite optimizado con índices
Ejemplo: 10 instantáneas de un proyecto de 100 MB
Sin deduplicación: 1 GB Con GenCodeDoc: ~300 MB (dedup + compresión) 🔄 Modos de Autoguardado Modo Cómo funciona Mejor para temporizador Guardar cada X segundos Desarrollo continuo diff Guardar cuando X% cambió Proyectos críticos híbrido ⭐ Intervalo mín/máx + umbral Uso general (recomendado) Ejemplo de modo híbrido:
YAML
hybrid: min_interval: 300 # No guardar más seguido que cada 5 min max_interval: 1800 # Forzar guardado después de 30 min threshold: 0.03 # O si el 3% de los archivos cambió 📊 Formatos de Diff Formato Descripción Caso de uso unified Diff estilo Git Lectura humana json Datos estructurados Automatización ast Diff semántico Análisis de código (experimental) Bash
Diff unificado (predeterminado)
gencodedoc snapshot diff v1.0 v2.0
JSON para scripts
gencodedoc snapshot diff v1.0 v2.0 --format json > changes.json
AST (semántico)
gencodedoc snapshot diff v1.0 v2.0 --format ast 🐛 Solución de Problemas Problemas Comunes 1️⃣ Error MCP: notifications/initialized Síntoma: Error al iniciar MCP:
text
MCP ERROR: Unknown method: notifications/initialized Causa: El protocolo MCP envía notificaciones que las versiones anteriores no manejaban.
Solución: ✅ Ya corregido en la versión actual. El servidor ahora ignora silenciosamente las notificaciones MCP.
2️⃣ Instantáneas creadas en la ubicación incorrecta Síntoma: Todas las instantáneas van al directorio propio de gencodedoc en lugar del proyecto objetivo.
Causa: project_path no se extraía correctamente de los parámetros de MCP tools/call.
Solución: ✅ Ya corregido. El servidor ahora extrae correctamente project_path de los argumentos.
Verificar la corrección:
Bash
Esto debería crear la instantánea en /path/to/project, no en gencodedoc
/gencodedoc create_snapshot project_path=/path/to/project tag=test 3️⃣ Errores de validación Zod (id=null) Síntoma:
text
Error: Expected string or number, received null (path: ["id"]) Causa: Respuestas JSON-RPC con "id": null en lugar de "id": 0.
Solución: ✅ Ya corregido. Todas las respuestas de error ahora usan request_id o 0.
4️⃣ Archivos no escaneados correctamente Síntoma: La instantánea muestra un número incorrecto de archivos o archivos de un directorio equivocado.
Causa: snapshot_store.py usaba rutas relativas en lugar de absolutas.
Solución: ✅ Ya corregido. SnapshotStore ahora recibe y usa project_path para rutas de archivos absolutas.
5️⃣ Base de datos no inicializada Síntoma:
text
Error: no such table: snapshots Causa: El proyecto no se inicializó antes de crear la instantánea.
Solución:
Bash
Siempre inicializar primero (crea las tablas)
gencodedoc init --preset python
O mediante MCP
/gencodedoc init_project project_path=/path/to/project preset=python 6️⃣ Autoguardado no se inicia Síntoma: La herramienta start_autosave no funciona.
Causa: El autoguardado requiere que el servidor MCP permanezca en ejecución (es un proceso en segundo plano).
Solución:
Modo stdio: El servidor se ejecuta por solicitud → el autoguardado se detiene cuando termina la solicitud Modo SSE/REST: ✅ El servidor es persistente → ¡el autoguardado funciona! Recomendado: Usar SSE/REST para autoguardado, stdio para comandos puntuales.
Modo de Depuración Bash
Habilitar registro detallado (si está implementado)
export GENCODEDOC_DEBUG=1 poetry run gencodedoc snapshot create --message "test"
Consultar la base de datos SQLite directamente
sqlite3 /path/to/project/.gencodedoc/gencodedoc.db ".tables" sqlite3 /path/to/project/.gencodedoc/gencodedoc.db "SELECT * FROM snapshots;" 🧪 Pruebas Bash
Ejecutar todas las pruebas
poetry run pytest
Con cobertura
poetry run pytest --cov=gencodedoc --cov-report=html
Pruebas específicas
poetry run pytest tests/test_scanner.py -v poetry run pytest tests/test_versioning.py -v poetry run pytest tests/test_mcp.py -v
Modo de observación (requiere pytest-watch)
poetry run ptw 🛠️ Desarrollo Configurar el Entorno de Desarrollo Bash
Instalar con dependencias de desarrollo
poetry install
Activar el entorno virtual
poetry shell
Instalar ganchos de pre-commit (si están configurados)
pre-commit install Comandos de Makefile Bash
make help # Mostrar todos los comandos make install # Instalar dependencias make test # Ejecutar pruebas make test-cov # Pruebas con cobertura make lint # Verificar calidad del código make format # Formatear código (Black) make clean # Eliminar archivos temporales make docs # Generar documentación make serve-mcp-sse # Iniciar servidor SSE make serve-mcp-stdio # Iniciar servidor stdio make all # Lint + test + build Estilo de Código Formateador: Black (longitud de línea 100) Linter: Ruff Anotaciones de tipo: Aplicadas con Pydantic Docstrings: Estilo Google 🎯 Casos de Uso 1️⃣ Documentación Continua Bash
Inicializar con autoguardado
gencodedoc init --preset python gencodedoc config set autosave.enabled true gencodedoc config set autosave.mode hybrid
La documentación está siempre actualizada
gencodedoc doc generate --output docs/API.md 2️⃣ Refactorización Segura Bash
Instantánea antes de cambios críticos
gencodedoc snapshot create
--message "Before refactoring authentication system"
--tag before-refactor
... hacer cambios ...
Instantánea después
gencodedoc snapshot create
--message "After refactoring - tests passing"
--tag after-refactor
Comparar
gencodedoc snapshot diff before-refactor after-refactor
Revertir si es necesario
gencodedoc snapshot restore before-refactor --force 3️⃣ Documentación Selectiva de API Bash
Documentar solo módulos específicos
gencodedoc doc generate
--include src/api/
--include src/models/
--include README.md
--output docs/API_Reference.md
4️⃣ Flujo de Trabajo Asistido por IA (Gemini/Claude)
Bash
1. Configurar MCP (una vez)
Añadir gencodedoc a la configuración de tu asistente de IA
2. Usar lenguaje natural
"Create a snapshot with tag v2.0" "Compare v1.0 and v2.0" "Show me project statistics" "Start autosave in hybrid mode" "Generate complete documentation"
¡La IA llama automáticamente a las herramientas MCP correctas! 🎉
🌟 Hoja de Ruta Integración con Git (instantánea automática al hacer commit) Copia de seguridad en la nube (S3, GCS) Panel de control web Diff semántico basado en AST (implementación completa) Ajustes predefinidos multilingües (Rust, Java, C++) Cifrado de instantáneas Funciones colaborativas (instantáneas compartidas) 📄 Licencia Licencia MIT - Ver archivo LICENSE
🤝 Contribuciones ¡Las contribuciones son bienvenidas! 🎉
🐛 Reportar errores a través de GitHub Issues 💡 Sugerir funciones a través de Discussions 🔧 Enviar Pull Requests Flujo de trabajo de desarrollo:
Hacer fork del repositorio Crear una rama de función (git checkout -b feature/amazing) Hacer tus cambios Ejecutar pruebas (make test) Enviar PR 📞 Soporte 🐛 Problemas: GitHub Issues 💬 Discusiones: GitHub Discussions 🌐 Sitio web: esprit-artificiel.com 📧 Correo electrónico: support@esprit-artificiel.com 🙏 Agradecimientos Construido con estas increíbles herramientas:
FastAPI - Marco de trabajo para servidores MCP Pydantic - Validación de datos Typer - Marco de trabajo CLI Rich - Formato de terminal zstandard - Compresión Watchdog - Monitoreo de archivos SQLite - Base de datos embebida
💡 Consejo profesional: ¡Usa GenCodeDoc con Gemini CLI o Claude Desktop para control de versiones impulsado por IA!
⭐ ¡Dale una estrella a este repositorio si te resulta útil!