20-sep: migracion watchers (Telegram+recordatorios) a INFRAESTRUCTURA + estado/agentes/changelog
This commit is contained in:
99
AGENTS.md
Normal file
99
AGENTS.md
Normal file
@@ -0,0 +1,99 @@
|
||||
# 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/`:
|
||||
|
||||
```powershell
|
||||
# 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)
|
||||
|
||||
```powershell
|
||||
# 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) y avisa de lo pendiente.
|
||||
|
||||
## Instalación en un equipo nuevo (p. ej. el portátil)
|
||||
|
||||
```powershell
|
||||
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 por primera vez, el `re` avisará de los cambios
|
||||
> transferibles pendientes (incluida esta migración de watchers) y se aplican con
|
||||
> `instalar_global.ps1`.
|
||||
Reference in New Issue
Block a user