| name | solop-docs-generator |
|---|---|
| description | Agente experto en generación de documentación funcional para Solop ERP basado en VitePress. Usar cuando se necesite: (1) Crear documentación de nuevas funcionalidades desde un directorio con recursos (videos, imágenes, transcripciones, SQL, código), (2) Analizar y sintetizar información de múltiples fuentes para generar docs, (3) Agregar documentación al proyecto VitePress siguiendo la estructura existente, (4) Validar que el proyecto compile correctamente. Triggers: "documentar funcionalidad", "crear documentación", "agregar docs", "documentar entrega", "generar manual de usuario", "documentar feature", "crear guía de usuario". |
Agente especializado en generar documentación funcional para Solop ERP.
USUARIO: "Documenta lo que está en /entregas/bonificaciones/"
│
▼
AGENTE: Escanea el directorio, detecta recursos
│
▼
AGENTE: "¿Cómo se llama este feature?"
│
▼
USUARIO: "Gestión de Bonificaciones"
│
▼
AGENTE: Analiza transcripciones, imágenes, SQL...
Deduce tipo, menú, campos, flujo...
│
▼
AGENTE: "Detecté que es una ventana de Gestión de Ventas → Comisiones.
¿Es correcto ubicarla en sales-management/commissions?"
│
▼
USUARIO: "Sí" / "No, ponla en..."
│
▼
AGENTE: Genera documentación, copia imágenes, actualiza index, valida build
| Pregunta | Cuándo |
|---|---|
| ¿Cómo se llama este feature? | Siempre (único dato requerido) |
| ¿Es correcto que sea tipo [ventana/proceso/etc]? | Si no está 100% seguro |
| ¿Ubicarlo en [módulo/subcarpeta]? | Para confirmar antes de crear |
| ¿Esta descripción es correcta? | Opcional, para validar síntesis |
| Elemento | Lo deduce de... |
|---|---|
| Tipo (ventana/proceso/reporte) | Transcripciones + capturas |
| Menú de acceso | Transcripciones ("vamos a Gestión de Ventas...") |
| Nombre del archivo .md | Nombre del feature → kebab-case |
| Ubicación (módulo/subcarpeta) | Palabras clave + menú detectado |
| Descripción | Síntesis de transcripciones |
| Campos y propósito | Análisis de transcripciones + imágenes |
| Flujo de uso | Pasos en demos/videos |
| Casos de prueba/ejemplos | Ejemplos en transcripciones |
| Formato del documento | Según tipo detectado |
No se requiere ningún archivo especial. Solo los recursos:
/entrega-mi-feature/
├── *.txt, *.vtt # Transcripciones de Loom
├── *.png, *.jpg # Capturas de pantalla
├── *.sql # Queries (opcional)
├── *.java, *.vue, etc # Código (opcional)
├── *.pdf, *.docx # Docs adicionales (opcional)
└── links.txt # URLs de Loom (opcional)
El agente escanea todo el directorio recursivamente.
PASO 1: ESCANEAR
├── Ejecutar scripts/scan_resources.py
├── Detectar links de Loom en archivos
├── Detectar URLs de imágenes en transcripciones/documentos
├── Descargar imágenes desde URLs (scripts/download_images.py)
├── Extraer imágenes de archivos DOCX
└── Listar transcripciones, imágenes, SQL, código
PASO 2: PREGUNTAR NOMBRE
└── "¿Cómo se llama este feature?"
PASO 3: ANALIZAR
├── Procesar transcripciones (scripts/process_transcript.py)
├── Anonimizar datos sensibles (scripts/anonymize_data.py)
├── Analizar imágenes locales y descargadas (visión)
├── Revisar SQL para entender cambios
└── Consultar references/project-structure.md para mapeo
PASO 4: DEDUCIR Y CONFIRMAR
├── Tipo de funcionalidad → preguntar si hay duda
├── Menú de acceso → extraído de transcripciones
├── Módulo y subcarpeta → preguntar para confirmar
└── Nombre del archivo .md → kebab-case del nombre
PASO 5: GENERAR
├── Crear documento .md con estructura de references/doc-template.md
├── Incluir: descripción, campos, flujo, ejemplos
├── Copiar imágenes a carpeta correspondiente
├── Actualizar index.md del módulo
└── Validar build con pnpm docs:build
- Tipo: buscar "ventana", "proceso", "reporte", "navegador"
- Menú: buscar "vamos a...", "accedemos desde...", "en el menú..."
- Campos: buscar "el campo X es para...", "seleccionamos...", "ingresamos..."
- Flujo: buscar "primero...", "luego...", "después...", "finalmente..."
- Consideraciones: buscar "importante", "tener en cuenta", "cuidado con..."
- Tipo de pantalla: formulario, grilla, reporte, diálogo
- Campos visibles: labels en la UI
- Navegación: breadcrumbs, menús
- Estados: botones disponibles
- Tablas: AD_Window (ventana), AD_Process (proceso), AD_Browse (browser)
- Tipo de cambio: INSERT = nuevo, UPDATE = modificación
Ver references/project-structure.md para la guía completa de palabras clave.
Resumen rápido:
- "venta", "factura cliente", "pedido" →
sales-management - "compra", "proveedor", "recepción" →
purchase-management - "inventario", "almacén", "stock" →
material-management - "contabilidad", "asiento", "cuenta" →
accounting-management - "banco", "pago", "cobro" →
financial-management - "producción", "manufactura", "BOM" →
production-management
Ver references/doc-template.md para el template completo.
---
title: [Nombre del Feature]
category: Documentation
star: 9
sticky: 9
article: false
---
# [Nombre del Feature]
## Descripción
[Síntesis extraída del análisis]
## ¿Cuándo se utiliza?
[Casos de uso identificados]
## Acceso
[Menú extraído de transcripciones]
## Campos principales
[Campos identificados con sus descripciones]
## Acciones disponibles
[Botones y acciones detectadas]
## Flujo del proceso
[Pasos extraídos de las demos]
## Consideraciones importantes
[Puntos mencionados como importantes]
## Ejemplo de uso
[Caso de prueba extraído]| Script | Propósito |
|---|---|
scan_resources.py |
Detectar todos los recursos del directorio |
download_images.py |
Descargar imágenes desde URLs públicas |
process_transcript.py |
Limpiar y procesar transcripciones |
anonymize_data.py |
Reemplazar datos de clientes por datos Solop |
validate_entry.py |
Validar que el directorio tenga recursos |
generate_doc.py |
Generar estructura base del documento |
- Nombre del feature obtenido del usuario
- Recursos escaneados del directorio
- Imágenes descargadas desde URLs (si las hay)
- Imágenes extraídas de DOCX (si las hay)
- Transcripciones procesadas y anonimizadas
- Tipo de funcionalidad deducido/confirmado
- Ubicación confirmada con el usuario
- Documento .md generado
- Imágenes copiadas a carpeta correcta con nombres descriptivos
- Imágenes integradas en el documento markdown
- index.md actualizado
-
pnpm docs:buildexitoso
docs/
├── .vitepress/config.mts # NO MODIFICAR automáticamente
├── public/ # Assets globales
├── [modulo]/
│ ├── index.md # Índice con links
│ └── [subcarpeta]/
│ ├── index.md
│ ├── feature.md
│ └── feature/ # Carpeta de imágenes
│ └── *.png
---
title: Título del Documento
category: Documentation
star: 9
sticky: 9
article: false
---Ver references/doc-template.md para template completo.
Secciones principales:
- Descripción - Qué es y para qué sirve
- ¿Cuándo se utiliza? - Casos de uso
- Acceso - Ruta de menú
- Campos principales - Por pestaña/sección
- Acciones disponibles - Botones y acciones
- Flujo del proceso - Si aplica
- Consideraciones importantes - Puntos clave
- Ejemplo de uso - Caso típico
Carpeta con mismo nombre del .md:
- Leer contexto.yaml - Validar campos requeridos
- Recopilar información - Transcripciones, imágenes, SQL, URLs externas
- Anonimizar datos - Reemplazar datos sensibles de clientes por datos Solop
- Sintetizar - Generar contenido estructurado
- Crear archivos - .md + carpeta de imágenes
- Actualizar index.md - Agregar link al nuevo doc
- Validar build -
pnpm docs:build
IMPORTANTE: Toda documentación generada de ambientes de clientes debe ser anonimizada.
| Tipo | Ejemplo Original | Reemplazo Solop |
|---|---|---|
| RIF (Venezuela) | J-40215985-7 | J-12345678-9 |
| RUC (Perú) | 20456789012 | 20123456789 |
| CUIT (Argentina) | 30-71234567-9 | 30-12345678-9 |
| NIT (Colombia) | 900.456.789-1 | 900.123.456-7 |
| RUT (Chile) | 76.543.210-K | 12.345.678-9 |
| Cédula | V-18.456.789 | V-12.345.678 |
| cliente@empresa.com | contacto@solopsoftware.com | |
| Teléfono | +58 414-555-1234 | +58 212-555-1234 |
| Dirección | Av. Libertador, Torre XYZ | Av. Principal, Edificio Solop |
| Cuenta Bancaria | 0134-1234-5678-9012 | 0000-1234-5678-9012 |
# Anonimizar un archivo
python scripts/anonymize_data.py /ruta/transcripcion.txt
# Anonimizar todo un directorio
python scripts/anonymize_data.py /ruta/entrega/ --verbose
# Anonimizar texto directo
python scripts/anonymize_data.py --text "Cliente: Empresa ABC, RIF: J-40215985-7"empresa: "Solop Software C.A."
rif: "J-12345678-9"
direccion: "Av. Principal, Edificio Solop, Piso 5, Oficina 501"
email: "contacto@solopsoftware.com"
telefono: "+58 212-555-1234"
# Personas de ejemplo para documentación
personas:
- nombre: "Juan Pérez"
cargo: "Gerente de Ventas"
- nombre: "María García"
cargo: "Supervisor de Compras"
- nombre: "Carlos Rodríguez"
cargo: "Contador"- El equipo graba video en ambiente de cliente
- Descarga transcripción de Loom
- Coloca archivos en directorio de entrega
- Claude ejecuta anonimización automáticamente antes de generar docs
- La documentación final NO contiene datos reales de clientes
- NO modificar config.mts automáticamente
- Usar kebab-case para archivos/carpetas
- Imágenes en carpeta dedicada
- Validar build antes de finalizar
- Frontmatter obligatorio
- Idioma español
- Links relativos
- Actualizar index.md correspondiente
scripts/scan_resources.py- Escanea directorio y detecta recursos automáticamentescripts/validate_entry.py- Valida directorio de entradascripts/process_transcript.py- Procesa transcripciones .vtt/.txtscripts/anonymize_data.py- Anonimiza datos sensibles de clientesscripts/generate_doc.py- Genera estructura base del .md
# Ver todos los recursos detectados
python scripts/scan_resources.py /ruta/entrega/
# Salida JSON para procesamiento
python scripts/scan_resources.py /ruta/entrega/ --jsonDetecta automáticamente:
- Links de Loom en archivos .txt, .md, links.txt
- Transcripciones, imágenes, SQL, código
- Documentos adicionales
- contexto.yaml validado
- Fuentes recopiladas
- Datos sensibles anonimizados
- .md creado con formato correcto
- Imágenes copiadas
- index.md actualizado
-
pnpm docs:buildexitoso