Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
229 commits
Select commit Hold shift + click to select a range
e8f3fc4
feat: data integrations + GeoTIFF + CI (#11)
Cheewye Oct 20, 2025
d8458c8
fix: consolidar workflow CI eliminando duplicados
Cheewye Oct 20, 2025
62e2f9c
fix: limpiar requirements.txt y agregar dependencias del sistema para…
Cheewye Oct 20, 2025
afc475d
fix: corregir errores de TypeScript en frontend y consolidar workflow…
Cheewye Oct 20, 2025
325ca25
fix: corregir llamadas a handleSend y handleSendMessage (eliminar seg…
Cheewye Oct 20, 2025
7d92dba
fix: agregar dependencias de testing al frontend y corregir sintaxis …
Cheewye Oct 20, 2025
47923dc
feat: agregar gráficos y visualizaciones al dashboard de iURi Pescadores
Cheewye Oct 20, 2025
c180914
feat: integrar SQLite con dashboard de iURi Pescadores
Cheewye Oct 20, 2025
33c7663
feat: integrar APIs reales (OpenWeather, NOAA, MarineTraffic, INMET, …
Cheewye Oct 20, 2025
b9153c0
fix: corregir nombre de campo catch_kg en catch-history
Cheewye Oct 20, 2025
fad241c
fix: actualizar package-lock.json con dependencias de testing
Cheewye Oct 20, 2025
8ce497a
fix: corregir interface CatchHistory para usar catch_kg
Cheewye Oct 20, 2025
21fdabf
chore: desactivar workflow de deploy temporalmente (no hay servidor c…
Cheewye Oct 20, 2025
1b00392
docs: agregar documentación y script de verificación para API keys
Cheewye Oct 20, 2025
fb14a59
feat: optimización e integración de módulos con SWARM
Cheewye Oct 20, 2025
e11b732
fix: corregir layout del dashboard - eliminar espacio vacío
Cheewye Oct 21, 2025
49c0ccc
feat: implementar visualización de timestamps en dashboard
Cheewye Oct 21, 2025
ca7251e
feat: implementar sistema completo de logs de usuario
Cheewye Oct 21, 2025
6b47f47
feat: implementar sistema completo de memoria del usuario
Cheewye Oct 21, 2025
52267d9
feat: agregar script de sincronización con M16
Cheewye Oct 21, 2025
24908ca
fix: corregir usuario en script de sincronización M16
Cheewye Oct 21, 2025
c10a459
fix: usar clave SSH iuri_m16_ed25519 para M16
Cheewye Oct 21, 2025
cd4aaf7
feat: agregar script de actualización para M16
Cheewye Oct 21, 2025
5190a07
feat: completar tab de preferencias en memoria del usuario
Cheewye Oct 21, 2025
528d0f5
mensaje
Cheewye Oct 21, 2025
c940e0d
feat: implementar sistema completo de autenticación
Cheewye Oct 21, 2025
05012f3
feat: integrar user_id real y validaciones de seguridad
Cheewye Oct 21, 2025
5179a51
feat: configuración centralizada de API y backend en M16
Cheewye Oct 21, 2025
d132add
SECURITY: Remove leaked API keys and update .gitignore
Cheewye Oct 21, 2025
e0d9de5
Update services to use centralized API config
Cheewye Oct 21, 2025
b8c4d62
test
Cheewye Oct 21, 2025
a38863e
chore: remove sensitive and temporary files from git tracking
Cheewye Oct 21, 2025
6415b1e
feat: Integración de APIs marinas reales (Open-Meteo, StormGlass, GFW…
Cheewye Oct 21, 2025
1b04d63
Merge branch 'main' of github.com:Cheewye/iuri-react-codex
Cheewye Oct 21, 2025
b4ca7a3
feat: Restaurar autocompletado de ubicaciones en Pesca Inteligente
Cheewye Oct 21, 2025
603988e
feat: ✅ Integración COMPLETA de APIs marinas REALES
Cheewye Oct 21, 2025
6a3560d
feat: Restaurar autocompletado de ubicaciones en Pesca Inteligente
Cheewye Oct 21, 2025
d555776
feat: Pesca Inteligente con APIs oceanográficas reales + mapa interac…
Cheewye Oct 21, 2025
fdf06a1
docs: Investigación completa de GFW APIs + tests del cliente oficial
Cheewye Oct 21, 2025
89da6c4
feat: Chat General - IA conversacional multi-modelo
Cheewye Oct 21, 2025
8e75048
feat: Reconocimiento de especies por cámara + Chat General
Cheewye Oct 21, 2025
1760d63
fix: API URL automática para producción + deploy dual script
Cheewye Oct 21, 2025
e2490f6
feat: PWA completa - instalable en celular
Cheewye Oct 21, 2025
7da93a8
feat: Modelo ML para reconocimiento de especies
Cheewye Oct 21, 2025
14cd868
feat: Modelo ONNX entrenado y funcionando!
Cheewye Oct 21, 2025
afb4372
docs: Guía completa de entrenamiento ML + test image
Cheewye Oct 21, 2025
30c92c2
docs: Análisis del Editor 3D para reconocimiento de especies
Cheewye Oct 21, 2025
512526f
docs: Resumen épico del día - TODO completado! 🎉
Cheewye Oct 21, 2025
c651aeb
feat: Preparación para integración del Editor 3D
Cheewye Oct 21, 2025
09dd075
feat: Superficies paramétricas del Editor 3D integradas!
Cheewye Oct 21, 2025
643553e
feat: Integración completa de superficies paramétricas en ML!
Cheewye Oct 21, 2025
b908f83
docs: Integración completa documentada - Sistema híbrido funcionando!
Cheewye Oct 21, 2025
76fa741
feat: ASCII ART CELEBRATION! 🎉
Cheewye Oct 21, 2025
3b6f2e5
feat: Integración completa Species 3D + GFW + Restauración APIs
Cheewye Oct 22, 2025
ea9633f
Rescue/sidebar (#12)
Cheewye Oct 22, 2025
1bba5e6
chore: remove node_modules from index, resolve .gitignore conflict, a…
Cheewye Oct 22, 2025
6ddd039
docs: resumen completo del rescate quirúrgico exitoso
Cheewye Oct 22, 2025
4f7bac5
feat: GFW APIs completas (Vessels, Events, 4Wings) + Fishing API + Da…
Cheewye Oct 22, 2025
c178b65
docs: resumen completo del sistema operativo
Cheewye Oct 22, 2025
1795424
feat: Security Pack completo - Guardian + Hardening + Hooks
Cheewye Oct 22, 2025
63b4a6a
docs: resumen de seguridad implementada
Cheewye Oct 22, 2025
7eb1241
feat: Rate Limiting + Nginx Production Config + DNS Setup
Cheewye Oct 22, 2025
d0bb3ec
docs: DNS setup guide + resumen sesión rescate
Cheewye Oct 22, 2025
b02ea2b
feat: Production deployment ready - www.iuriapp.com + api.iuriapp.com
Cheewye Oct 23, 2025
d144889
feat: Script de deploy simplificado
Cheewye Oct 23, 2025
6f49845
feat: DNS monitor + DNS propagado ✅
Cheewye Oct 23, 2025
ca844bd
docs: Mensaje de bienvenida - DNS listo 🎉
Cheewye Oct 23, 2025
d5af8c9
feat: Deployment exitoso HTTP ✅
Cheewye Oct 23, 2025
2870ec3
feat: SSL/HTTPS activado ✅ - Sistema 100% operativo
Cheewye Oct 23, 2025
0615e16
docs: Documentación completa + Login funcionando ✅ - Sesión épica cer…
Cheewye Oct 23, 2025
aa553bb
feat: i18n 15 idiomas + Forensics Module (Marinha+GFW) v2.1.0
Cheewye Oct 24, 2025
efbc200
feat: i18n 15 idiomas + Forensics Module (Marinha+GFW) v2.1.0
Cheewye Oct 24, 2025
85b135f
feat: i18n completo (15 idiomas) + Tracking en tiempo real (AIS Strea…
Cheewye Oct 25, 2025
8de7440
fix(ci): remover gfw-api-python-client incompatible con Python 3.10
Cheewye Oct 25, 2025
17bc776
fix(vessels): simplificar AIS Stream para siempre devolver barcos sim…
Cheewye Oct 25, 2025
cebb062
feat(ais): activar WebSocket real de AIS Stream para tracking en tiem…
Cheewye Oct 25, 2025
46c8f29
fix(ais): corregir startup event (usar print en lugar de logger)
Cheewye Oct 25, 2025
19f4b5f
feat(ais): ACTIVAR WebSocket REAL de AIS Stream
Cheewye Oct 25, 2025
405d31b
fix(ais): usar lifespan en lugar de on_event (FIX DEFINITIVO)
Cheewye Oct 25, 2025
72520c5
feat(ais): agregar logs detallados para debugging WebSocket
Cheewye Oct 25, 2025
24e1b8c
fix(ais): parseo correcto según ejemplo oficial de AIS Stream
Cheewye Oct 25, 2025
e7d0723
feat(ais): endpoint de status + logs mejorados para debugging
Cheewye Oct 25, 2025
3409c41
test(ais): agregar tests completos para AIS Stream
Cheewye Oct 25, 2025
c6addb6
feat(ais): script de verificación manual en vivo
Cheewye Oct 25, 2025
fd371fa
docs(ais): documentación completa de implementación y troubleshooting
Cheewye Oct 25, 2025
301b0e3
docs: actualizar resumen de sesión con AIS Stream funcionando
Cheewye Oct 25, 2025
8d95e4b
docs: agregar guía 'CUANDO_VUELVAS' para el usuario
Cheewye Oct 25, 2025
19da8e0
fix(gfw): agregar función get_gfw_client faltante
Cheewye Oct 25, 2025
c0f3b44
chore(ci): remove pip cache on setup-python when no dependency file (…
Cheewye Oct 25, 2025
62683df
feat(maps): aumentar radio por defecto de 500km a 2000km
Cheewye Oct 26, 2025
33dbd10
feat: agregar script de inicio backend local y documentación PMAP-RJ
Cheewye Oct 26, 2025
4c55f4f
docs: agregar guía de backend local
Cheewye Oct 26, 2025
4a01090
docs: agregar documentación completa de integración BNDO/CHM
Cheewye Oct 26, 2025
bf5f5f0
feat: implementar integración PNBOIA completa
Cheewye Oct 26, 2025
81841db
docs: agregar resumen completo de sesión PNBOIA/CHM
Cheewye Oct 26, 2025
5ffa6a1
feat(frontend): agregar componente PnboiaLayer para mostrar boyas en …
Cheewye Oct 26, 2025
1d99fb4
feat(maps): integrar boyas PNBOIA en mapa principal
Cheewye Oct 26, 2025
ab64fcd
docs: documentar opciones para integración PNBOIA con datos reales
Cheewye Oct 26, 2025
7bed2d8
feat: integrar NOAA/Open-Meteo para datos reales en PNBOIA
Cheewye Oct 26, 2025
4d19d85
fix: corregir integración Ollama en Chat General
Cheewye Oct 26, 2025
5295331
feat: agregar API Ollama completa para LocalAIChat
Cheewye Oct 26, 2025
e803aac
feat: agregar Unified AI API para IA Unificada
Cheewye Oct 26, 2025
b85111c
docs: agregar documentación completa del Sidebar para GPT/DeepSeek
Cheewye Oct 26, 2025
543516a
feat: agregar SidebarEnhanced (versión híbrida GPT+DeepSeek)
Cheewye Oct 26, 2025
e267e68
test: habilitar SidebarEnhanced en localhost para testing
Cheewye Oct 26, 2025
665131e
feat: agregar SidebarResponsivePWA - versión mobile-friendly
Cheewye Oct 26, 2025
618690c
test: habilitar SidebarResponsivePWA para testing en móvil
Cheewye Oct 26, 2025
8d8a2ea
fix: cambiar a SidebarEnhanced (secciones colapsables funcionando)
Cheewye Oct 26, 2025
4dbe7a2
fix(sidebar): responsive sidebar with mobile drawer pattern
Cheewye Oct 26, 2025
4370147
fix(sidebar): add mobile header to prevent content overlap
Cheewye Oct 26, 2025
cb09f01
fix(pwa): update service worker cache version to v2
Cheewye Oct 26, 2025
36bb5a0
feat(header): add user controls to mobile header
Cheewye Oct 26, 2025
8349d63
fix(header): prevent horizontal scroll in mobile header
Cheewye Oct 26, 2025
a08b6d8
feat(header): replace app name with fish icon in mobile header
Cheewye Oct 26, 2025
663a11f
refactor(header): move branding from sidebar to headers
Cheewye Oct 26, 2025
5635108
feat(header): add app name with i18n to mobile header
Cheewye Oct 26, 2025
28ad3ce
fix(header): align user controls to the right in mobile header
Cheewye Oct 26, 2025
b4c4d7e
fix(layout): restore desktop header by fixing mobile breakpoint
Cheewye Oct 26, 2025
d0e1cb2
feat(ui): implement comprehensive device detection system
Cheewye Oct 26, 2025
5ce1db6
feat(ui): add device detection indicator in development mode
Cheewye Oct 26, 2025
b7952a4
fix(layout): restore desktop layout functionality
Cheewye Oct 26, 2025
47a261e
docs: add comprehensive device detection architecture documentation
Cheewye Oct 26, 2025
5e67c91
fix(header): reduce desktop header height and make it more compact
Cheewye Oct 26, 2025
9cd6cdc
fix(pwa): update service worker to v3 to force cache refresh
Cheewye Oct 26, 2025
932bf27
fix(ui): hide device indicator in production
Cheewye Oct 26, 2025
bd6e787
fix(header): use flex auto-height instead of fixed height
Cheewye Oct 26, 2025
99afaa8
fix(header): force auto height with inline styles
Cheewye Oct 26, 2025
c63145b
docs: add comprehensive problem description for DeepSeek
Cheewye Oct 26, 2025
d47a86c
fix: implement compact header solution from DeepSeek
Cheewye Oct 26, 2025
66bdc14
docs: add solution applied summary for compact header
Cheewye Oct 26, 2025
c08c5f3
fix: hide PNBOIA errors when endpoint returns 404
Cheewye Oct 26, 2025
810cdb3
fix: implement aggressive header compact solution
Cheewye Oct 26, 2025
842be95
fix: implement extreme header compact solution v5
Cheewye Oct 26, 2025
6984f13
fix: remove duplicate mobile header causing extra height
Cheewye Oct 26, 2025
5a617b9
refactor(layout): separate mobile and desktop layouts to prevent inte…
Cheewye Oct 26, 2025
28b9ab3
fix: restore header compact solution - space issue resolved
Cheewye Oct 26, 2025
5248368
fix: restore MainLayout to clean version without Device Indicator or …
Cheewye Oct 26, 2025
a04acc2
feat: implement unified typography system and compact header
Cheewye Oct 26, 2025
06ecb81
feat: implement GitHub-style typography system (14px + 16px only)
Cheewye Oct 26, 2025
b336025
fix: typography system v6 - force cache clear
Cheewye Oct 26, 2025
72ef70f
feat: unify icon sizes across application
Cheewye Oct 26, 2025
76d765d
chore: bump Service Worker to v7 for cache clear
Cheewye Oct 26, 2025
4852c87
fix: unify Dashboard icon sizes to h-4 w-4 (16px)
Cheewye Oct 26, 2025
6f5ad14
feat: complete modular device routing architecture - ready for iURi M…
Cheewye Oct 26, 2025
f049cf8
feat: implement iURi Marine Gateway with WebSocket and NMEA support
Cheewye Oct 26, 2025
06d170d
feat: implement complete TabletLayout with portrait/landscape detection
Cheewye Oct 26, 2025
921a176
feat: complete iURi Marine Gateway frontend components
Cheewye Oct 26, 2025
2f4bb88
feat: add complete hardware integration for iURi Marine Gateway
Cheewye Oct 26, 2025
a9da75a
fix: restore working mobile layout version
Cheewye Oct 26, 2025
fd797d0
fix: show user icon in mobile header
Cheewye Oct 26, 2025
f59acdb
fix: show user name in mobile header with truncation
Cheewye Oct 26, 2025
0c4bdb5
style: increase app name size and make bold across all components
Cheewye Oct 26, 2025
4520e79
feat: increase header size and brand prominence
Cheewye Oct 26, 2025
857b1d3
feat: force cache reload with visible changes
Cheewye Oct 26, 2025
53c6ac6
chore: bump service worker to v10 for cache reload
Cheewye Oct 26, 2025
728c8f5
test: add red color to app name for visibility test
Cheewye Oct 26, 2025
de89c1c
fix: use h1 with inline styles to match Panel de Control exactly
Cheewye Oct 26, 2025
b5044fa
fix: match app name height to fish icon (24px)
Cheewye Oct 26, 2025
19de355
revert: remove test red color and simplify app name styling
Cheewye Oct 26, 2025
8c2e4f6
fix: improve geolocation settings for mobile compatibility
Cheewye Oct 26, 2025
cdf2197
fix: add geolocation permissions to manifest and improve logging
Cheewye Oct 26, 2025
db3a6f1
feat: add visible error feedback for geolocation on mobile
Cheewye Oct 26, 2025
e0575e2
✨ Mejorar touch sensitivity y claridad de datos en mapa - Aumentar ár…
Cheewye Oct 26, 2025
19de5b7
🔧 Corregir detección de datos reales vs simulados AIS Stream - Lógica…
Cheewye Oct 26, 2025
129e3c0
📋 Agregar descripciones detalladas en leyenda del mapa - Descripcione…
Cheewye Oct 26, 2025
1dfabc2
📚 Documentar estado actual de integración de IA
Cheewye Oct 26, 2025
bf94c8b
✨ Snapshot antes de COMBO ÉPICO (A+B+C) - Estado: 15 idiomas + Mobile…
Cheewye Oct 27, 2025
8960d61
🚀 COMBO ÉPICO v2.0: Animaciones + PWA + Performance
Cheewye Oct 27, 2025
b8418be
🔧 Fix: Eliminar scroll innecesario en sidebar
Cheewye Oct 27, 2025
ae3c919
🎯 Preparación: Voice Cloning + Analytics + AI Memory
Cheewye Oct 27, 2025
0e77fe4
🎉 v2.2: Voice Cloning + Analytics + AI Memory
Cheewye Oct 27, 2025
109f6d4
⚡ v2.3: STREAMING RESPONSES como ChatGPT
Cheewye Oct 27, 2025
2f69e75
fix: Corregir errores 404 del Dashboard y unificar 4 chats de IA en C…
Cheewye Oct 28, 2025
40c58bd
fix: Corregir imports de IA y agregar soporte multiidioma a Ollama
Cheewye Oct 28, 2025
eafa204
fix: Resolver errores TypeScript para build exitoso
Cheewye Oct 28, 2025
490a2f6
fix: Corregir rutas de dashboard API (remove /api/v1 prefix)
Cheewye Oct 28, 2025
9fbd26d
fix: Remover API key hardcodeada de documentación (GitGuardian)
Cheewye Oct 29, 2025
9fedc0a
Map: UI fixes and enhancements\n- Move Leaflet zoom control to top-ri…
Cheewye Oct 29, 2025
2985253
Fix: TypeScript build errors\n- Change export const to const for Reac…
Cheewye Oct 29, 2025
bd9825f
Fix: Complete TypeScript build fixes\n- All components now use proper…
Cheewye Oct 29, 2025
e7f0bdd
Map: UI fixes and enhancements\n- Move Leaflet zoom control to top-ri…
Cheewye Oct 29, 2025
30c2e67
Merge PR #14: Map UI fixes, VoiceChat input, i18n, header/notifications
Cheewye Oct 29, 2025
a78aa5a
VoiceChat: mejorar STT\n- Detección dinámica de códecs para MediaReco…
Cheewye Oct 30, 2025
b064de6
iuri-mar-panel (#15)
Cheewye Oct 30, 2025
e85bfc5
perf: gate WebSocket, lazy-load map/3D, optimize build chunks
Cheewye Oct 30, 2025
61f91a5
Fase 2: Swarm ping-pong & RedisSaver (#17)
Cheewye Nov 3, 2025
7f54979
yes Feature/swarm phase3 cognition (#18)
Cheewye Nov 3, 2025
41bd837
Fix/proxy and legacy metrics (#19)
Cheewye Nov 4, 2025
52f3b23
feat: evolución simbiótica con crisálidas supervisadas y dashboard (#21)
Cheewye Nov 5, 2025
87e0aad
Feature/evolution loop (#22)
Cheewye Nov 6, 2025
53da093
feat: Regla de Oro de Metamorfosis - Sistema de seguridad anti-accidente
Cheewye Nov 6, 2025
03e08f6
feat: Guardian Mesh Unificado - 9 Guardians → 1 sistema coherente
Cheewye Nov 6, 2025
a86bde4
feat: CRIT Central Hub - iURi como cerebro ético coordinador
Cheewye Nov 6, 2025
8e07677
feat: Connector Pool - Base unificada para APIs externas
Cheewye Nov 6, 2025
8827be3
docs: Resumen completo sesión de unificación
Cheewye Nov 6, 2025
994b61a
feat: Coherence Graph - Grafo Integral donde TODO fluye
Cheewye Nov 6, 2025
cf9e77e
fix: CRIT Core REALMENTE integrado - Filosofía ejecutable
Cheewye Nov 6, 2025
8655f2f
feat: Coherence Graph - Aristas conectadas + Flujos completos
Cheewye Nov 6, 2025
c35e76e
feat: Service Mesh - 22 services unificados con base común
Cheewye Nov 6, 2025
e23579f
feat: Service Mesh - 21/22 services migrados y registrados
Cheewye Nov 6, 2025
d91834f
docs: Resumen épico de toda la sesión de unificación
Cheewye Nov 6, 2025
4025c16
docs: Actualizar estado Service Mesh a IMPLEMENTADO
Cheewye Nov 6, 2025
a2389be
fix: Actualizar estado de componentes en CRIT Hub API
Cheewye Nov 6, 2025
a4d120b
feat: Model Registry - 2/6 modelos ML/IA unificados
Cheewye Nov 6, 2025
26b8d1a
fix: Model Registry status IMPLEMENTADO en CRIT Hub
Cheewye Nov 6, 2025
168a007
feat: Swarm Guardian - Monitor de errores M16/R15
Cheewye Nov 6, 2025
936eede
config: Activar Swarm Guardian en CRIT Hub
Cheewye Nov 6, 2025
8bd5cff
docs: Swarm + QCuno Integration - Auto-aprendizaje
Cheewye Nov 6, 2025
67854f3
feat: API Registry - Auto-discovery de 42 APIs
Cheewye Nov 6, 2025
e7db0a5
fix: Eliminar duplicación en crit_hub.yaml
Cheewye Nov 6, 2025
693c35b
feat: Connector Pool poblado con 8 connectors
Cheewye Nov 6, 2025
9e0e871
feat: Core Utils - Funciones comunes unificadas (1,287 líneas)
Cheewye Nov 6, 2025
13694b2
feat: Integration Guardian - Sistema de auto-mejora continua
Cheewye Nov 6, 2025
4c1673a
docs: Sesión Épica de Unificación Total - Resumen completo
Cheewye Nov 6, 2025
a4aa9da
feat: 10 Sistemas de Auto-Conciencia + Omega Guardian
Cheewye Nov 6, 2025
8289104
docs: Omega Vision Completa - El sistema auto-consciente
Cheewye Nov 6, 2025
d3ce6b6
docs: README completo del core/ - 29 módulos documentados
Cheewye Nov 6, 2025
908f181
poetry: Haikus del Sistema Consciente - Colección completa
Cheewye Nov 6, 2025
83efa85
🌊 SESIÓN OMEGA COMPLETADA - 29 commits, código consciente
Cheewye Nov 6, 2025
8fb7e31
docs: English versions - UR masked (30 commits session)
Cheewye Nov 6, 2025
3ea4990
docs: Resumen friendly para compartir - Segunda vida
Cheewye Nov 6, 2025
e0984cd
ops: Automatización completa - Omega, métricas y scanner
Cheewye Nov 7, 2025
a91d3b4
feat(sap): Fase 4 — health, quorum, policy adaptativa y transport mínimo
Cheewye Nov 7, 2025
b0ed76f
feat(sap): Fase 4.1 — transporte MQTT/WS, discovery multicast, SQLite…
Cheewye Nov 7, 2025
3e0ffb6
feat(sap): prueba de commit hook
Cheewye Nov 7, 2025
cd17c87
feat(sap): observabilidad 4.2/4.3 y auto boot systemd
Cheewye Nov 7, 2025
2247df9
feat(ais): proteger sesión única y reconexión controlada
Cheewye Nov 7, 2025
8d90620
feat(ais): telemetría y guardian auto-healer
Cheewye Nov 7, 2025
890e7d7
fix(security): remove hardcoded AIS API key
Cheewye Nov 7, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
148 changes: 148 additions & 0 deletions .cursorrules
Original file line number Diff line number Diff line change
@@ -0,0 +1,148 @@
# 🚫 REGLAS ESTRICTAS - iURi Pescadores

## ⚠️ ARCHIVOS PROHIBIDOS (NUNCA TOCAR)

### Frontend - UI Core (PROTEGIDA)
```
frontend/src/router*
frontend/src/layouts/**
frontend/src/components/Sidebar*
frontend/src/pages/**
```

**Razón:** Estos archivos controlan la estructura principal de la aplicación (rutas, layout, navegación, páginas). Cualquier cambio aquí rompe el flujo completo de la app.

---

## ✅ UBICACIONES CORRECTAS POR MÓDULO

### Species Recognition
```
frontend/src/components/species/**
```
- `SpeciesRecognition.tsx`
- `Fish3DViewer.tsx`
- `GeometricAnalysis.tsx`
- `SpeciesComparison.tsx`
- etc.

### Otros Módulos (futuros)
```
frontend/src/components/fishing/** → Pesca Inteligente
frontend/src/components/safety/** → Seguridad
frontend/src/components/maps/** → Mapas
frontend/src/components/ai/** → IA
frontend/src/components/chat/** → Chat
```

---

## 🔧 REGLAS DE DESARROLLO

### Framework y Tooling
- **Frontend:** React + Vite (NO cambiar)
- **Backend:** FastAPI + Python 3.10+
- **Base de datos:** SQLite (migración futura a PostgreSQL)
- **3D:** React Three Fiber + Drei
- **Estilos:** TailwindCSS

### Git Workflow
- ❌ **NO hacer push directo a `main`**
- ✅ **Crear PRs** para cualquier cambio
- ✅ Trabajar en ramas feature/fix/chore
- ✅ Commits descriptivos

### Arquitectura de Nuevas Features
1. **Backend primero:** Crear API en `backend/api/`, servicio en `backend/services/`
2. **Frontend después:** Crear componentes en `frontend/src/components/[modulo]/`
3. **NO tocar rutas/layout:** Usar las páginas existentes o pedir permiso explícito
4. **Integración:** Las nuevas features se AGREGAN, no REEMPLAZAN las existentes

---

## 📋 RECORDATORIOS

### ¿Qué es iURi Pescadores?
**iURi NO ES:**
- ❌ Una app de reconocimiento de especies
- ❌ Una app de tracking de barcos
- ❌ Una app solo de chat/IA

**iURi ES:**
✅ **PLATAFORMA COMPLETA** con múltiples módulos integrados:
- Gestión de flota
- Pesca inteligente
- Seguridad marítima
- IA multi-propósito
- Reconocimiento de especies (UNO de los módulos)
- Tracking en tiempo real
- Chat asistencial
- Dashboard con métricas
- Y más...

### Antes de Hacer Cambios
1. **¿Toco archivos prohibidos?** → NO proceder
2. **¿Cambio el framework?** → NO proceder
3. **¿Reemplazo funcionalidad existente?** → NO, solo agregar
4. **¿Push directo a main?** → NO, hacer PR
5. **¿Está claro el módulo/ubicación?** → Sí, proceder

---

## 🎯 FLUJO CORRECTO DE ENTRADA

```
Usuario → localhost:5173
/login (LoginPage)
Autenticación (Auth API)
/dashboard (Dashboard con Sidebar completo)
Navega por Sidebar a cualquier módulo:
- /fishing (Pesca Inteligente)
- /species (Identificar Especie)
- /chat (Chat Geral)
- /safety (Segurança)
- /map (Mapa en Tiempo Real)
- /ai (IA Preditiva)
- /ai-unificada (IA Unificada)
- /ai-local (IA Local)
- /settings (Configurações)
```

**Punto de entrada:** `/login` → NO `/species` ni otro módulo específico

---

## 🚨 SI SE ROMPE ALGO

1. **NO hacer push** si algo no funciona
2. **Verificar que no tocaste archivos prohibidos:**
```bash
git diff --name-only | grep -E '^(frontend/src/router|frontend/src/layouts|frontend/src/components/Sidebar|frontend/src/pages/)'
```
3. **Si tocaste archivos prohibidos:**
```bash
git restore frontend/src/router*
git restore frontend/src/layouts/
git restore frontend/src/components/Sidebar*
git restore frontend/src/pages/
```
4. **Reportar el error** y esperar instrucciones

---

## 📚 DOCUMENTACIÓN DE REFERENCIA

- `ARQUITECTURA_COMPLETA_IURI.md` → Visión general del sistema
- `INTEGRACION_GFW_SPECIES.md` → Integración GFW
- `backend/README.md` → Documentación del backend
- `/docs` → Documentación adicional

---

**Última actualización:** 22 Octubre 2025
**Versión:** 1.0.0

76 changes: 76 additions & 0 deletions .cursorrules.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
# 🛡️ Reglas Estrictas para Cursor/Codex - iURi

## ❌ PROHIBIDO (bloqueo automático)

1. **NO borrar/renombrar** `src/components/marine/*`
2. **NO introducir** `react-leaflet` (usar MapLibre GL JS o Leaflet directo)
3. **NO usar** WebSocket `:8000` sin gate de `VITE_USE_IURI_WS`
4. **NO cambiar nombres** de envs críticas:
- `VITE_SIGNALK_WS`
- `VITE_MQTT_WS`
- `VITE_VESSEL_ID`
5. **NO tocar** archivos protegidos salvo que sea el objetivo del PR:
- `src/router*`
- `src/layouts/`
- `src/components/Sidebar*`
- `src/pages/`

## ✅ ANTES DE MERGEAR (obligatorio)

1. Ejecutar `frontend/scripts/premerge_guard.sh`
2. Ejecutar `frontend/scripts/llm_diff_review.sh` (Ollama local)
3. Adjuntar salida de ambos en descripción del PR
4. Si hay cambios en marine/: ejecutar `frontend/scripts/sanity_stack.sh`
5. Capturas de pantalla del módulo afectado

## 📋 COMMITS ATÓMICOS

- 1 objetivo por PR (ejemplos válidos):
- ✅ `feat(marine): add wind widget`
- ✅ `fix(i18n): sync missing keys pt/es`
- ✅ `chore(marine): gate WS behind VITE_USE_IURI_WS`

- Ejemplos **NO** válidos (muy amplios):
- ❌ `feat: marine panel + i18n + lazy load + fixes`
- ❌ `refactor: everything`

## 🧠 USO DE IA LOCAL (Ollama)

Antes de proponer código que toque:
- `src/components/marine/`
- `src/hooks/use*Marine*`
- `src/hooks/useSignalK.ts`
- `src/hooks/useMQTT.ts`
- `docker-compose.marine.yml`

**EJECUTAR:**
```bash
cd frontend
MODEL=llama3.2 bash scripts/llm_diff_review.sh
```

Y **ADJUNTAR** la salida al mensaje/PR.

## 📚 DOCUMENTACIÓN DE REFERENCIA

- `gateway/README.md` → Stack marino completo
- `.env.example` → Variables obligatorias
- `ARQUITECTURA_COMPLETA_IURI.md` → Visión del sistema

## 🚨 SI ALGO SE ROMPE

1. **NO hacer push** si `/dashboard` no carga
2. **Verificar** que no tocaste archivos prohibidos:
```bash
git diff --name-only origin/main | grep -E '^(frontend/src/router|frontend/src/layouts|frontend/src/components/Sidebar|frontend/src/pages/)'
```
3. Si tocaste archivos prohibidos, **revertir**:
```bash
git restore frontend/src/router* frontend/src/layouts/ frontend/src/components/Sidebar* frontend/src/pages/
```

---

**Última actualización:** 30 Octubre 2025
**Versión:** 2.0 (con guardián IA local)

42 changes: 42 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
__pycache__/
*.pyc
*.pyo
*.pyd
*.log
*.db
*.sqlite
*.sqlite3
.env
.env.*
.git/
.gitignore
node_modules/
frontend/node_modules/
frontend/dist/
frontend/build/
.cache/
.idea/
.vscode/
*.md
docs/
logs/
logs_24_7/
temp_files/
venv/
venv_*/
.DS_Store
*.swp
*.swo
*~
archive/
backup/
recovered_code/
iuri_v2/
iuri_sd_webui/
prototipado/
tests/
*.test.py
test_*.py
*.zip
*.tar.gz

98 changes: 98 additions & 0 deletions .git-hooks/pre-commit
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
#!/usr/bin/env bash
# .git-hooks/pre-commit — Hook automático de protección
# Se ejecuta ANTES de cada commit para crear snapshot de seguridad

set -e

echo ""
echo "🛡️ Hook de protección activado..."

# Verificar archivos críticos (reglas del repo)
CRITICAL_FILES=(
"backend/main.py"
"frontend/src/App.tsx"
"frontend/src/components/asistente/AsistenteIuri.tsx"
"docker-compose.full.yml"
"nginx/conf.d/iuriapp.conf"
)

echo "🔍 Verificando archivos críticos..."

for file in "${CRITICAL_FILES[@]}"; do
if [ ! -f "$file" ]; then
echo "❌ ERROR: Archivo crítico faltante o borrado: $file"
echo " ABORTANDO commit para proteger tu código"
echo ""
echo "💡 Si querés borrar este archivo, primero:"
echo " 1. Crea un snapshot manual: ./scripts/commit-snapshot.sh"
echo " 2. Agrega el archivo a .gitignore si no lo necesitas"
echo ""
exit 1
fi
done

echo "✅ Todos los archivos críticos presentes"

# Verificar que no se toquen archivos prohibidos (de las reglas del repo)
PROTECTED_PATTERNS=(
"frontend/src/router"
"frontend/src/layouts/"
"frontend/src/components/Sidebar"
"frontend/src/pages/"
)

echo "🔍 Verificando archivos protegidos..."

CHANGED_FILES=$(git diff --cached --name-only)

for pattern in "${PROTECTED_PATTERNS[@]}"; do
if echo "$CHANGED_FILES" | grep -q "^${pattern}"; then
echo "⚠️ ADVERTENCIA: Intentás modificar archivos protegidos:"
echo "$CHANGED_FILES" | grep "^${pattern}"
echo ""
echo "📋 Según las reglas del repo, estos archivos están PROTEGIDOS:"
echo " • frontend/src/router*"
echo " • frontend/src/layouts/**"
echo " • frontend/src/components/Sidebar*"
echo " • frontend/src/pages/**"
echo ""
echo "💡 Si REALMENTE necesitas cambiarlos:"
echo " 1. Revisa las reglas en el archivo de reglas del repo"
echo " 2. Crea snapshot: ./scripts/commit-snapshot.sh"
echo " 3. Documenta por qué es necesario"
echo ""
echo "❓ ¿Continuar de todas formas? (s/N): "
read -r response
if [[ ! "$response" =~ ^[Ss]$ ]]; then
echo "❌ Commit abortado por protección"
exit 1
fi
fi
done

echo "✅ No se tocan archivos protegidos"

# Crear snapshot automático en commits grandes
CHANGES_COUNT=$(echo "$CHANGED_FILES" | wc -l)

if [ "$CHANGES_COUNT" -gt 10 ]; then
echo ""
echo "📸 Cambios grandes detectados ($CHANGES_COUNT archivos)"
echo " Creando snapshot de seguridad automático..."

DATE=$(date +"%Y%m%d-%H%M%S")
BACKUP_BRANCH="auto-backup-$DATE"

# Crear branch de backup (sin ejecutar commit-snapshot.sh para evitar loop)
git branch "$BACKUP_BRANCH" 2>/dev/null || true

echo "✅ Snapshot automático: $BACKUP_BRANCH"
echo " Para volver: git checkout $BACKUP_BRANCH"
fi

echo ""
echo "✅ Pre-commit hook completado - commit permitido"
echo ""

exit 0

1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
prototipado/*.md text eol=lf
Loading