Sistema completo de auditoría automatizada para validar la integración entre Backend (DGuardAPI), Frontend (DGuard) y Design System.
Este bot analiza automáticamente tu stack completo y detecta:
- ✅ Endpoints faltantes - Llamadas del frontend que no existen en el backend
- ✅ Problemas de seguridad - Endpoints sensibles sin autenticación
- ✅ Parámetros incorrectos - Mismatch entre lo que envía el frontend y espera el backend
- ✅ Componentes sin uso - Elementos del Design System que no se utilizan
- ✅ APIs obsoletas - Endpoints del backend que nadie llama
- ✅ Validaciones de tipos - Inconsistencias en estructura de datos
# Clonar el repositorio
git clone https://github.com/santiagogarcia/dguard-audit-bot.git
cd dguard-audit-bot
# Configuración automática
npm run setupEl script de setup verificará dependencias, creará directorios y te guiará en la configuración.
// config/projects.config.js
export default {
projects: {
backend: {
name: 'DGuardAPI',
path: '/ruta/a/tu/DGuardAPI',
type: 'nodejs-express'
},
frontend: {
name: 'DGuard',
path: '/ruta/a/tu/DGuard',
type: 'react'
},
designSystem: {
name: 'Design System',
path: '/ruta/a/tu/design-system',
type: 'react-components'
}
}
}// En projects.config.js
rules: {
failOnCritical: true, // Fallar CI con issues críticos
failOnHighCount: 10, // Fallar CI con más de X issues altos
requireAuthPatterns: [ // Endpoints que requieren autenticación
/delete/i,
/admin/i,
/create/i
]
}# 🔍 Auditoría completa
npm run audit
# 🔄 Modo watch (re-ejecuta al detectar cambios)
npm run audit:watch
# 🤖 Modo CI (falla si hay críticos)
npm run audit:ci
# 📊 Dashboard interactivo
npm run dashboard
# 📄 Abrir reporte HTML
npm run audit:report# Rutas específicas
npm run audit -- --backend /ruta/backend --frontend /ruta/frontend
# Solo críticos y altos
npm run audit -- --only-critical
# Formato específico
npm run audit -- --format json
# Modo silencioso
npm run audit -- --quiet╔════════════════════════════════════════════════════════════════╗
║ 📊 RESUMEN DE AUDITORÍA ║
╚════════════════════════════════════════════════════════════════╝
📦 BACKEND │ 45 endpoints, 23 archivos
🎨 FRONTEND │ 803 componentes, 360 llamadas API
🧩 DESIGN SYSTEM │ 28 componentes
🚨 ISSUES │ 🔴 0 críticos, 🟠 3 altos, 🟡 8 medios
- Dashboard visual con gráficos
- Navegación por pestañas
- Filtros por severidad
- Detalles expandibles
{
"summary": {
"backend": { "endpoints": 45, "files": 23 },
"frontend": { "apiCalls": 360, "components": 803 },
"issues": { "critical": 0, "high": 3, "total": 11 }
},
"issues": [...],
"coverage": { "endpoints": "89.2%", "components": "71.4%" }
}Ideal para documentación y PRs con resumen ejecutivo y recomendaciones.
| Severidad | Tipo | Descripción |
|---|---|---|
| 🔴 Crítico | MISSING_BACKEND_ENDPOINT |
Frontend llama endpoint que no existe |
| 🔴 Crítico | SENSITIVE_ENDPOINT_NO_AUTH |
Endpoint sensible sin autenticación |
| 🟠 Alto | MISSING_AUTH_HEADER |
Falta header de autenticación |
| 🟠 Alto | MISSING_URL_PARAM |
Parámetro requerido faltante |
| 🟡 Medio | MISSING_BODY_FIELD |
Campo esperado en body faltante |
| 🟡 Medio | DUPLICATE_COMPONENT |
Componente duplicado frontend/DS |
| ⚪ Bajo | UNUSED_ENDPOINT |
Endpoint backend sin uso |
| ⚪ Bajo | UNUSED_DS_COMPONENT |
Componente DS sin uso |
El bot incluye workflows listos para usar:
# .github/workflows/audit.yml
- name: 🔍 DGuard Audit
uses: ./
with:
backend_repo: 'tu-usuario/DGuardAPI'
frontend_repo: 'tu-usuario/DGuard'
fail_on_critical: trueCaracterísticas:
- ✅ Ejecución automática en PRs
- ✅ Comentarios en PRs con resumen
- ✅ Artifacts con reportes completos
- ✅ Notificaciones Slack/Email opcionales
- ✅ Auditorías programadas diarias
# GitHub Secrets necesarios (opcionales)
GH_PAT=ghp_xxxxxxxxxxxx # Para repos privados
SLACK_WEBHOOK_URL=https://hooks.slack.com/... # Notificaciones Slack
EMAIL_USERNAME=audit@empresa.com # Reportes por email
EMAIL_PASSWORD=app_password_herenpm run dashboardFunciones:
- 📊 Vista general de métricas
- 🔍 Búsqueda de endpoints específicos
- 📋 Navegación por issues por severidad
- 🧩 Explorador de componentes del DS
- 📈 Métricas de rendimiento
- 🔄 Ejecutar nueva auditoría desde el dashboard
dguard-audit-bot/
├── src/
│ ├── analyzers/ # Análisis de código
│ │ ├── BackendAnalyzer.js # Detecta endpoints Express/Node
│ │ ├── FrontendAnalyzer.js # Detecta llamadas API React
│ │ └── DesignSystemAnalyzer.js # Detecta componentes DS
│ ├── validators/ # Validaciones cruzadas
│ │ ├── EndpointValidator.js # Valida endpoints vs llamadas
│ │ ├── SecurityValidator.js # Valida autenticación/seguridad
│ │ └── ComponentValidator.js # Valida uso de componentes
│ ├── reporters/ # Generación de reportes
│ │ ├── JSONReporter.js # Datos estructurados
│ │ ├── HTMLReporter.js # Reporte visual
│ │ ├── MarkdownReporter.js # Documentación
│ │ └── ConsoleReporter.js # Salida terminal
│ └── utils/ # Utilidades
│ ├── fileUtils.js # Manejo de archivos
│ └── astUtils.js # Parsing de código
├── config/ # Configuración
│ ├── projects.config.js # Configuración principal
│ └── default.config.js # Valores por defecto
├── scripts/ # Scripts auxiliares
│ ├── setup.sh # Configuración inicial
│ └── dashboard.js # Dashboard interactivo
└── .github/workflows/ # CI/CD
├── audit.yml # Auditoría en PRs
└── scheduled-audit.yml # Auditorías programadas
❌ 15 endpoints del frontend sin correspondencia en backend
❌ 8 endpoints sensibles sin autenticación
❌ 23 componentes del DS sin utilizar
❌ 45 minutos investigando issues manualmente
✅ Issues detectados automáticamente en 3.2s
✅ Reportes visuales listos para compartir
✅ Integración en CI/CD previene regresiones
✅ Dashboard para exploración interactiva
✅ 95% reducción en tiempo de debugging
# Auditoría solo de endpoints críticos
npm run audit -- --only-critical --ci
# Watch con debounce personalizado
npm run audit:watch -- --debounce 5000
# Auditoría con configuración custom
npm run audit -- --config ./mi-config.js
# Limpiar reportes antiguos
npm run clean
# Validar configuración
npm run validate-config
# Generar reporte de ejemplo
npm run audit -- --mock-datagit clone https://github.com/santiagogarcia/dguard-audit-bot.git
cd dguard-audit-bot
npm install
npm run audit -- --help # Verificar que funcionafeat: nueva funcionalidad
fix: corrección de bug
docs: documentación
test: tests
refactor: refactoring
perf: mejora de rendimiento- Fork del repositorio
- Crear branch:
git checkout -b feature/nueva-funcionalidad - Commits descriptivos
- Tests que pasen:
npm test - PR con descripción clara
❌ "Cannot find module"
npm install
npm run audit -- --version❌ "Path not found"
# Verificar rutas en config/projects.config.js
npm run validate-config❌ "Parse errors"
# Algunos archivos TypeScript con sintaxis avanzada
# Se muestran warnings pero no afectan el análisis❌ "Permission denied"
chmod +x scripts/setup.sh
chmod +x scripts/dashboard.js# Más información de debugging
npm run audit -- --verbose
# Solo logs de errores
npm run audit -- --quiet
# Salvar logs a archivo
npm run audit 2>&1 | tee audit.log- ✅ Validar cambios antes de commit
- ✅ Detectar breaking changes
- ✅ Optimizar uso del Design System
- ✅ Auditorías de arquitectura
- ✅ Reportes de cobertura de APIs
- ✅ Métricas de calidad del código
- ✅ Gates de calidad en CI/CD
- ✅ Monitoreo continuo
- ✅ Reportes automatizados
- ✅ Detección temprana de bugs
- ✅ Validación de integración
- ✅ Coverage de testing de APIs
- v1.1: Soporte para Vue.js y Angular
- v1.2: Análisis de performance de APIs
- v1.3: Integración con herramientas de monitoring (Sentry, DataDog)
- v1.4: Plugin para VS Code
- v1.5: Machine Learning para predicción de issues
- v1.6: Soporte para GraphQL
- v2.0: Dashboard web completo
MIT © Santiago García
- DGuard Team - Por el proyecto original
- Babel Team - Por las herramientas de parsing
- Community - Por feedback y contribuciones
- 🐛 Issues: GitHub Issues
- 💬 Discussions: GitHub Discussions
- 📧 Email: santiago@dguard.com
⭐ Si DGuard Ultra Audit Bot te resulta útil, ¡dale una estrella en GitHub!
Generado con ❤️ para el ecosistema DGuard