Files
INFRAESTRUCTURA/AGENTS.md

4.6 KiB

AGENTS.md — Repo INFRAESTRUCTURA (infraestructura compartida Prolongo)

Repo hermano de biblioteca_negocio_prolongo. Aquí vive todo lo que hace funcionar los equipos (sobremesa, portátil, VPS): watchers, automatizaciones, plugins, configuración de servicios y el changelog global.

Regla 31: si algo sirve para "hacer funcionar" o automatizar la infraestructura → este repo. Si es "conocer el negocio" o memoria → biblioteca.

Estructura

Ruta Qué es
changelog_infra.json Fuente de verdad del changelog global (por equipo)
CHANGELOG_INFRA.md Versión legible (generada; no editar a mano)
AGENTS.md Este fichero: reglas del repo de infraestructura
estado/ Estado y memoria de infraestructura (ver abajo)
estado/ESTADO_DIARIO.md Diario de cambios de infraestructura
estado/pendientes_infra.json Pendientes propios de infraestructura
estado/telegram_mensajes.log Log del watcher de Telegram (runtime, gitignored)
estado/recordatorios_msgbox.json Recordatorios locales del message box
estado/telegram_tracked_users.json Config del watcher (contactos vigilados, etc.)
scripts/infra_changelog.py Añadir / consultar / marcar cambios del changelog
scripts/infra_paths.py Resolución de rutas compartidas (INFRAESTRUCTURA ↔ biblioteca)
scripts/instalar_global.ps1 Instalador global del equipo (OmniRoute + OpenCode + watchers)
scripts/instalar_watchers.ps1 Registra las tareas programadas de los watchers
scripts/telegram_watcher.py Watcher de Telegram (chats → estado/telegram_mensajes.log)
scripts/recordatorios_msgbox.py Recordatorios con message box de Windows
scripts/recordatorio.cmd Comando corto recordatorio (listar/done/add/test/sync)
omniroute/ Vigilante y autostart de OmniRoute
opencode/ Plugin global de OpenCode
vps/ Configuración de servicios del VPS (Gitea, etc.)

Reglas del repo

  1. Solo se versiona infraestructura. Nada de conocimiento de negocio.
  2. Todo cambio de infraestructura se anota en el changelog (abajo) con transferible: si|no para que el otro equipo sepa si debe replicarlo.
  3. Nunca guardar secretos/tokens en el repo (van a .env o variables de usuario; .gitignore ya cubre lo típico).
  4. Los watchers se ejecutan como tareas programadas al iniciar sesión; si se caen, relanzarlos a mano y, si hace falta, reinstalar con scripts/instalar_watchers.ps1.
  5. Este repo está registrado en Engram (proyecto INFRAESTRUCTURA), Gitea (jjminguez/INFRAESTRUCTURA) y Obsidian (03-IT/).

Watchers

Los watchers viven en scripts/ y su estado en estado/:

# Instalar/reinstalar tareas programadas (AtLogOn + reinicio si falla)
powershell -ExecutionPolicy Bypass -File scripts\instalar_watchers.ps1

# Verificar que corren
Get-CimInstance Win32_Process -Filter "Name='python.exe'" |
  Where-Object { $_.CommandLine -match 'telegram_watcher|recordatorios_msgbox' }

telegram_watcher.py y recordatorios_msgbox.py resuelven las rutas con scripts/infra_paths.py:

  • Estado → INFRAESTRUCTURA/estado/
  • Datos de negocio (pendientes.json) y módulos aún compartidos (idd_channel, netatmo_tool, alarma_twilio) → repo biblioteca_negocio_prolongo (hermano; override con BIBLIOTECA_REPO).

Changelog global (sobremesa ↔ portátil ↔ VPS)

# Añadir un cambio (detecta el equipo automáticamente)
python scripts\infra_changelog.py add --titulo "..." --categoria watchers --transferible si --detalle "..."

# Ver qué falta replicar en ESTE equipo
python scripts\infra_changelog.py pendientes

# Marcar como aplicado aquí
python scripts\infra_changelog.py aplicado <id>

# Resumen
python scripts\infra_changelog.py estado

El protocolo re de cada equipo lee este fichero (paso 4b), avisa de lo pendiente y lo aplica automáticamente con instalar_global.ps1 antes de continuar.

Instalación en un equipo nuevo (p. ej. el portátil)

git clone https://git.v-encore-lab.com/jjminguez/INFRAESTRUCTURA.git
cd INFRAESTRUCTURA
powershell -ExecutionPolicy Bypass -File scripts\instalar_global.ps1

Prerrequisitos: Python en el PATH; Node.js + npm i -g omniroute para OmniRoute. Copiar además ~/.omniroute (credenciales), ~/.config/opencode/opencode.jsonc y ~/.telegram-agent (sesión de Telegram) desde el otro equipo.

Al arrancar el portátil, el re detectará automáticamente los cambios transferibles pendientes y los aplicará de inmediato ejecutando instalar_global.ps1 y marcándolos como aplicados antes de continuar con la sesión.