# README - Entorno de Desarrollo Enrique Instrucciones generales para agentes AI (Claude Code) sobre el entorno de trabajo. --- ## Credenciales Consultar `/Users/enrique/credentials.md` para todas las credenciales de bases de datos, SSH, APIs y GitHub. --- ## WaykeeAPI - Gestión de Tareas y Documentación ### Identidad para Agentes AI - **UserId:** 43 (claude_code_enrique) - **NO usar** userId 1 (admin) para crear tareas/mensajes - Al crear tareas, agregar a admin (userId=1) como suscriptor ### URLs - **Producción:** `https://apidev.waykee.com` - **Local:** `http://localhost:5011` - **Token:** `Authorization: Bearer 5554371720AALE` ### Crear tarea ```bash curl -X POST https://apidev.waykee.com/api/waykee/tasks/create \ -H "Authorization: Bearer 5554371720AALE" \ -H "Content-Type: application/json" \ -d '{ "Subject": "Descripción de la tarea", "CreatedById": 43, "AssignedToId": 43, "ResponsibleId": 43, "WaykeeTypeId": 2, "StatusId": 1, "PriorityId": 1, "TaskSummary": "Resumen del trabajo" }' ``` ### Buscar tareas ```bash curl -X GET "https://apidev.waykee.com/api/waykee/tasks/search?userId=43&searchText=texto&statusId=1" \ -H "Authorization: Bearer 5554371720AALE" ``` ### Reglas importantes - **PriorityId** debe ser 1 (Alta). El valor 2 no existe en la BD - **WaykeeTypeId:** 2=Task, 5=Documentation, 12=Change of Functionality - **StatusId:** 1=Activo, 3=Finalizado, 101=Finalizado por Aprobar - Para actualizar: `PUT /api/waykee/tasks/{taskId}?userId=43` con `{"StatusId":101,"UserId":43}` - El UserId debe ir en AMBOS: query param Y body ### Documentación completa Ver `/Users/enrique/waykeeAPI/README.md` --- ## Servidores Linux ### wk2.waykee.com (Waykee + API) - **SSH:** `ssh -i ~/.ssh/id_claude_automation earaiza@wk2.waykee.com` - **Servicios:** - WaykeeAPI: puerto 5000 interno, URL pública `https://apidev.waykee.com` - Waykee Portal: URL pública `https://wk2.waykee.com` - **Deploy path API:** `/var/www/waykee2API/publish/` ### ws-todini.powerera.com (Apps .NET, Atlas FUEGO) - **SSH:** `ssh -i ~/.ssh/id_claude_automation earaiza@ws-todini.powerera.com` - **IP:** 20.46.235.38 (alias: ubuntu2.powerera.com) - **OS:** Ubuntu 22.04.5 LTS, Nginx - **Servicios:** - Atlas FUEGO Micrositio: `/var/www/atlasfuego/` → `https://fuego.powerera.com` - Atlas FUEGO Admin: `/var/www/atlasfuego-admin/` → `https://fuegoadmin.powerera.com` - RSB2: puerto 5080 → `https://rsb.powerera.com` - **Instrucciones detalladas:** `/Users/enrique/instrucciones-conexion-ws-todini.md` ### dbdev.powerera.com (Base de datos) - **SSH:** `ssh -i ~/.ssh/id_claude_automation earaiza@dbdev.powerera.com` - **BD principales:** waykee2, actif_web_cima_dev, Actif_RMF, ServerAdmin_dev ### helppo.com.mx - **SSH:** `ssh earaiza@helppo.com.mx` - **BD:** Helppo (uhelppo/H3lpp0) ### mdv.skysoft.com.mx - **SSH:** `ssh -i ~/.ssh/id_claude_automation earaiza@mdv.skysoft.com.mx` ### Llave SSH compartida Todos los servidores PowerEra usan `~/.ssh/id_claude_automation` con usuario `earaiza`. --- ## Proyectos Principales ### Helppo (Contabilidad) - **HelppoReportes** - `/Users/enrique/helppo/HelppoReportes/` - Puerto 5078 - App activa - **PESqlConnect** - `/Users/enrique/ConsoleSQLConnection` - Herramienta para consultas SQL (requiere TOP en SELECTs) ### Waykee - **WaykeeAPI** - `/Users/enrique/waykeeAPI/` - API .NET, puerto local 5011 - **WaykeeWebSite** - `/Users/enrique/WaykeeWebSite2/` - Flask, puerto 5001 - **WaykeeMauiApp** - `/Users/enrique/WaykeeMauiApp/` - App móvil .NET MAUI - **WaykeeCRM** - `/Users/enrique/WaykeeCRM/` - Puerto 5093 - **WaykeePortal** - `/Users/enrique/WaykeePortal/` ### Atlas FUEGO - **Admin Panel** - `/Users/enrique/AtlasFuegoAdmin/` - GitHub: `earaizapowerera/AtlasFuego` - **Micrositio (registro)** - GitHub: `earaizapowerera/micrositio-atlasfuego` - **DB:** dbdev.powerera.com/Atlas2026, tabla PreRegistros - **Waykee sistema:** waykeeId 110264 ### Actif - **ActifCapturaInventario** - `/Users/enrique/ActifCapturaInventario/` - **ActifRMF** - `/Users/enrique/ActifRMF/` - **ActifWebCRUD** - `/Users/enrique/ActifWebCRUD/` ### Otros - **RSB/RSB2** - `/Users/enrique/RSB2/` - Sistema de becarios - **WebERPTodini** - `/Users/enrique/WebERPTodini/` - ERP Todini - **AmexExpenseManager** - `/Users/enrique/AmexExpenseManager/` --- ## PESqlConnect - Herramienta de Base de Datos Ubicación: `/Users/enrique/ConsoleSQLConnection/bin/Debug/net9.0/ConsoleSQLConnection` **IMPORTANTE:** Usar SIEMPRE esta herramienta para conexiones a bases de datos SQL Server. NO usar Python ni otros métodos. ### Reglas - Los SELECT **deben** incluir `TOP` (máximo 50 registros) - Los `ALTER` requieren versionado con `--repo` - Las credenciales están en `/Users/enrique/credentials.md` ### Consultas SQL ```bash # Sintaxis básica PESqlConnect "SELECT TOP 10 * FROM tabla" # Ejemplo Helppo /Users/enrique/ConsoleSQLConnection/bin/Debug/net9.0/ConsoleSQLConnection \ helppo.com.mx uhelppo H3lpp0 Helppo \ "SELECT TOP 10 * FROM tabla" # Ejemplo Waykee2 /Users/enrique/ConsoleSQLConnection/bin/Debug/net9.0/ConsoleSQLConnection \ dbdev.powerera.com uwaykee2 'Evolucionando11$' waykee2 \ "SELECT TOP 10 * FROM wk2_waykees" # INSERT/UPDATE/DELETE (no requieren TOP) /Users/enrique/ConsoleSQLConnection/bin/Debug/net9.0/ConsoleSQLConnection \ dbdev.powerera.com uwaykee2 'Evolucionando11$' waykee2 \ "UPDATE tabla SET campo='valor' WHERE id=1" ``` ### Operaciones GitHub (versionado de objetos de BD) ```bash # Extraer stored procedure de la BD y guardar en repo GitHub PESqlConnect server user pass db "" --repo DB_sistema --pull "procedure:usp_nombre" # Publicar cambios desde GitHub a la BD PESqlConnect server user pass db "" --repo DB_sistema --publish "procedure:usp_nombre" --message "Descripción" # Probar objeto (ejecuta y hace rollback) PESqlConnect server user pass db "" --repo DB_sistema --test "procedure:usp_nombre" # Comparar repo vs BD PESqlConnect server user pass db "" --repo DB_sistema --diff "procedure:usp_nombre" ``` Tipos de objetos soportados: `table`, `view`, `procedure`, `function` --- ## GitHub - **Cuenta:** earaizapowerera - **CLI:** `gh` configurado y funcionando --- ## Workflow por cada solicitud del usuario Clasificar cada pedido en uno de estos 3 escenarios: ### a) Parte del ticket activo (WIP) Si el cambio pertenece al ticket en el que estoy trabajando (aunque sea un cambio vs la doc original, si el ticket aún no se finaliza se incluye como revisión WIP): 1. Ejecutar el cambio de código 2. Postear mensaje de progreso en el ticket (`POST /api/waykee/messages`) 3. Actualizar documentación de la pantalla/programa (`PUT /api/waykee/documentation/{waykeeId}`) 4. Actualizar status del ticket si aplica (`PUT /api/waykee/tasks/{taskId}`) ### b) Cambio de funcionalidad sobre ticket ya Finalizado Si el ticket original ya está completamente finalizado (status 3): 1. Crear ticket tipo "Cambio de Funcionalidad" (WaykeeTypeId=12) como hijo de la doc de pantalla/programa 2. Documentar el cambio en la documentación del nuevo ticket 3. Ejecutar el desarrollo 4. Actualizar status del nuevo ticket ### c) Pantalla/programa nuevo 1. Crear documentación primero (WaykeeTypeId=7, hija del módulo adecuado) 2. Crear ticket de desarrollo (tipo 10=Screen Creation) vinculado a la doc 3. Ejecutar el desarrollo 4. Actualizar documentación y status ### Reglas generales del workflow - **Documentación** va en la extensión de documentación (`/api/waykee/documentation`), NO en mensajes - **Mensajes** son para preguntas o progreso (`/api/waykee/messages`) - Si tengo una pregunta sobre el ticket, insertarla como mensaje en el ticket - Siempre suscribir admin (userId=1) en todo lo creado --- *Ultima actualizacion: 8 Feb 2026*