diff --git a/00-tokens.md b/00-tokens.md index 5db5646..f54d6d4 100644 --- a/00-tokens.md +++ b/00-tokens.md @@ -15,6 +15,6 @@ ## Proyectos - `gestion-talleres-2000` → GitHub -- `engram-wiki` → Gitea +- `engram-wiki` → Gitea + Engram Cloud - `planificacion_proyectos` → Engram Cloud - `gestion-talleres-2000` → Engram Cloud \ No newline at end of file diff --git a/02-nuevo-proyecto-cloud.md b/02-nuevo-proyecto-cloud.md index 40dc1f7..3997abd 100644 --- a/02-nuevo-proyecto-cloud.md +++ b/02-nuevo-proyecto-cloud.md @@ -41,13 +41,47 @@ cmd /c "set ENGRAM_CLOUD_TOKEN=TOKEN && engram sync --cloud --project NOMBRE_NUE - Cada proyecto tiene su propia memoria aislada en el cloud - El dashboard muestra todos los proyectos en `https://engram.v-encore-lab.com/dashboard/` +## Script automático (recomendado) + +Usa el script `engram-sync.bat` que automátiza el proceso: + +```powershell +C:\Users\juanm\Documents\engram-wiki\engram-sync.bat [proyecto] [token] +``` + +Por defecto usa `engram-wiki` y el token guardado. + +```powershell +C:\Users\juanm\Documents\engram-wiki\engram-sync.bat +``` + +--- + ## Si el sync falla por mutaciones legacy +### Solución:清洁ar cloud_upgrade_state (más efectivo) + +```powershell +C:\Users\juanm\Downloads\sqlite3.exe C:\Users\juanm\.engram\engram.db "DELETE FROM cloud_upgrade_state WHERE project = 'NOMBRE_PROYECTO';" +``` + +### Luego re-sync + +```powershell +cmd /c "set ENGRAM_CLOUD_TOKEN=TOKEN && engram sync --cloud --project NOMBRE_PROYECTO" +``` + +--- + +### Alternativa: Upgrade doctor + repair + +```powershell +cmd /c "set ENGRAM_CLOUD_TOKEN=TOKEN && engram cloud upgrade doctor --project NOMBRE_PROYECTO" +cmd /c "set ENGRAM_CLOUD_TOKEN=TOKEN && engram cloud upgrade repair --project NOMBRE_PROYECTO --apply" +``` + +### SQLite directa (si repair no funciona) + ```powershell C:\Users\juanm\Downloads\sqlite3.exe C:\Users\juanm\.engram\engram.db "DELETE FROM sync_mutations WHERE entity = 'relation' AND project = 'NOMBRE_PROYECTO';" -``` - -Luego vuelve a hacer sync: -```powershell -cmd /c "set ENGRAM_CLOUD_TOKEN=TOKEN && engram sync --cloud --project NOMBRE_NUEVO_PROYECTO" ``` \ No newline at end of file diff --git a/03-seguridad-cloud.md b/03-seguridad-cloud.md index b6cc108..2cb8e9c 100644 --- a/03-seguridad-cloud.md +++ b/03-seguridad-cloud.md @@ -10,7 +10,7 @@ Guía completa para securizar Engram Cloud en el VPS. - **Dashboard:** `https://engram.v-encore-lab.com/dashboard/` - **Token:** `e5ace1caed605543642c1032ef9e24f803f092b4ef9863cc068a8eceaa01445b` - **Modo:** enterprise con autenticación JWT activa -- **Proyectos permitidos:** `smoke-project`, `planificacion_proyectos`, `gestion-talleres-2000` +- **Proyectos permitidos:** `smoke-project`, `planificacion_proyectos`, `gestion-talleres-2000`, `engram-wiki` --- diff --git a/ESTADO.md b/ESTADO.md index 05c2bb9..50eb332 100644 --- a/ESTADO.md +++ b/ESTADO.md @@ -30,6 +30,7 @@ - `planificacion_proyectos` → Engram Cloud - `gestion-talleres-2000` → Engram Cloud +- `engram-wiki` → Engram Cloud --- diff --git a/engram-sync.bat b/engram-sync.bat new file mode 100644 index 0000000..73906e6 --- /dev/null +++ b/engram-sync.bat @@ -0,0 +1,26 @@ +@echo off +setlocal enabledelayedexpansion + +set "PROJECT=%~1" +set "TOKEN=%~2" + +if "%PROJECT%"=="" set "PROJECT=engram-wiki" +if "%TOKEN%"=="" set "TOKEN=e5ace1caed605543642c1032ef9e24f803f092b4ef9863cc068a8eceaa01445b" + +echo Sincronizando %PROJECT% con Engram Cloud... +echo. + +cmd /c "set ENGRAM_CLOUD_TOKEN=%TOKEN% && engram sync --cloud --project %PROJECT%" +set SYNC_RESULT=%ERRORLEVEL% + +if %SYNC_RESULT% NEQ 0 ( + echo. + echo Sync bloqueado. Limpiando mutations... + C:\Users\juanm\Downloads\sqlite3.exe C:\Users\juanm\.engram\engram.db "DELETE FROM sync_mutations WHERE entity = 'relation' AND project = '%PROJECT%';" + echo. + echo Reintentando... + cmd /c "set ENGRAM_CLOUD_TOKEN=%TOKEN% && engram sync --cloud --project %PROJECT%" +) + +echo. +echo Listo. \ No newline at end of file diff --git a/obsidian/01-configuracion-completa.md b/obsidian/01-configuracion-completa.md new file mode 100644 index 0000000..df30dd6 --- /dev/null +++ b/obsidian/01-configuracion-completa.md @@ -0,0 +1,137 @@ +# Obsidian — Configuración completa del sistema + +Resumen de toda la configuración de Obsidian integrada con Engram, OpenCode y Gitea. + +--- + +## Vault + +- **Ruta local:** `C:\Users\juanm\Documents\GitHub\PLANIFICACION_PROYECTOS` +- **Nombre:** PLANIFICACION PROYECTOS +- **Repositorio Gitea:** `https://git.v-encore-lab.com/jjminguez/PLANIFICACION_PROYECTOS` + +--- + +## Estructura de carpetas + +``` +PLANIFICACION_PROYECTOS/ +├── docs/ +│ ├── arquitectura/ → Diagramas y documentación técnica +│ ├── decisiones/ → DEC-001, DEC-002... decisiones técnicas +│ └── reuniones/ → Actas con formato YYYY-MM-DD-tema.md +├── ejemplos/ +├── kanban/ → Tableros Kanban del proyecto +├── templates/ +│ ├── decision.md → Plantilla para decisiones técnicas +│ └── reunion.md → Plantilla para actas de reuniones +├── AGENTS.md +├── opencode.json +└── README.md +``` + +--- + +## Plugins instalados + +| Plugin | Uso | Configuración | +|--------|-----|---------------| +| **Templater** | Plantillas automáticas | Template folder: `templates` | +| **Git** | Sync automático con Gitea | Auto commit cada 10 min | +| **Kanban** | Tablero visual de la migración | — | +| **Dataview** | Consultar notas como BD | — | +| **Calendar** | Vista de reuniones por fecha | — | + +--- + +## Configuración del plugin Git + +| Campo | Valor | +|-------|-------| +| Auto commit-and-sync interval | `10` minutos | +| Auto pull interval | `10` minutos | +| Commit message | `vault: {{date}} {{numFiles}} files` | +| Pull updates on startup | ✅ | + +--- + +## Configuración del plugin Templater + +| Campo | Valor | +|-------|-------| +| Template folder location | `templates` | + +--- + +## Cómo crear una reunión + +1. `Ctrl+P` → `Templater: Create new note from template` +2. Selecciona `reunion` +3. Guarda en `docs/reuniones/YYYY-MM-DD-tema` +4. Rellena los campos y guarda +5. Se sube automáticamente a Gitea en 10 minutos +6. O fuerza el push con `Ctrl+P` → `Git: Commit-and-sync` + +--- + +## Cómo crear una decisión técnica + +1. `Ctrl+P` → `Templater: Create new note from template` +2. Selecciona `decision` +3. Guarda en `docs/decisiones/DEC-XXX-titulo` +4. Rellena el contexto, la decisión y las alternativas +5. Sincroniza con Engram: + +```powershell +engram sync --cloud --project planificacion_proyectos +``` + +--- + +## Flujo de trabajo completo + +``` +Tú escribes en Obsidian + ↓ +Plugin Git sube a Gitea (cada 10 min o manual) + ↓ +OpenCode lee docs/*.md automáticamente en cada sesión + ↓ +Agente actúa con ese contexto + ↓ +Engram guarda las decisiones técnicas del agente + ↓ +Próxima sesión: el agente recuerda todo +``` + +--- + +## Forzar sync manual en cualquier momento + +Desde Obsidian: +``` +Ctrl+P → Git: Commit-and-sync +``` + +Desde PowerShell: +```powershell +engram sync --cloud --project planificacion_proyectos +``` + +--- + +## Integración con OpenCode + +El archivo `opencode.json` tiene configurado: +```json +"instructions": ["docs/*.md"] +``` + +Esto hace que OpenCode lea automáticamente todo lo que escribas en `docs/` al iniciar cada sesión. + +--- + +## Dashboard de Engram + +- URL: `https://engram.v-encore-lab.com/dashboard/` +- Login: usar el `ENGRAM_CLOUD_TOKEN` configurado en Windows \ No newline at end of file diff --git a/obsidian/02-instalacion-y-setup.md b/obsidian/02-instalacion-y-setup.md new file mode 100644 index 0000000..266c16d --- /dev/null +++ b/obsidian/02-instalacion-y-setup.md @@ -0,0 +1,123 @@ +# Obsidian — Configuración del proyecto + +Guía completa de la vault de Obsidian para el proyecto de migración SourceSafe → GitHub. + +--- + +## Instalación + +Descarga desde `https://obsidian.md/download` e instala en Windows. + +Al abrir Obsidian selecciona **"Open folder as vault"** y apunta a: +``` +C:\Users\juanm\Documents\GitHub\PLANIFICACION_PROYECTOS +``` + +--- + +## Estructura de la vault + +``` +PLANIFICACION_PROYECTOS/ +├── docs/ +│ ├── decisiones/ → DEC-001, DEC-002... decisiones técnicas +│ ├── reuniones/ → Actas con fecha YYYY-MM-DD-tema.md +│ └── arquitectura/ → Diagramas y docs técnicas +├── kanban/ +│ └── migracion-sourcesafe-github.md +├── templates/ +│ ├── reunion.md → Plantilla para actas +│ └── decision.md → Plantilla para decisiones +└── README.md +``` + +--- + +## Plugins a instalar + +En **Settings → Community Plugins → Browse:** + +| Plugin | Uso | +|--------|-----| +| **Kanban** | Tablero visual de la migración | +| **Templater** | Plantillas para reuniones y decisiones | +| **Git** | Sincronización automática con Gitea | +| **Dataview** | Consultar notas como base de datos | +| **Calendar** | Vista de reuniones por fecha | + +--- + +## Configuración del plugin Git + +En **Settings → Community Plugins → Git:** + +``` +Repository URL: http://git.v-encore-lab.com/jjminguez/PLANIFICACION_PROYECTOS +Auto-pull interval: 10 minutos +Auto-push interval: 10 minutos +Auto-push on file change: ✅ +Commit message: vault: {{date}} {{numFiles}} files +``` + +--- + +## Configuración del plugin Templater + +En **Settings → Templater:** + +``` +Template folder: templates/ +Trigger Templater on new file creation: ✅ +``` + +Atajos de teclado recomendados: +- `Ctrl+Shift+R` → Nueva reunión +- `Ctrl+Shift+D` → Nueva decisión + +--- + +## Convenciones de nomenclatura + +``` +Reuniones: docs/reuniones/YYYY-MM-DD-tema.md +Decisiones: docs/decisiones/DEC-001-titulo.md +Arquitectura: docs/arquitectura/tema.md +``` + +--- + +## Integración con OpenCode y Engram + +OpenCode lee automáticamente todo lo que está en `docs/` gracias a: +```json +"instructions": ["docs/*.md"] +``` + +**Flujo de trabajo:** + +1. Escribes una reunión o decisión en Obsidian +2. El plugin Git la sube a Gitea automáticamente +3. En la próxima sesión de OpenCode el agente la lee +4. Engram guarda las decisiones técnicas que toma el agente +5. Todo queda sincronizado en el cloud de Engram + +--- + +## Sincronización con Engram + +Después de añadir documentos importantes a Obsidian, fuerza el sync: + +```powershell +engram sync --cloud --project planificacion_proyectos +``` + +--- + +## Archivos ya creados + +| Archivo | Descripción | +|---------|-------------| +| `docs/decisiones/DEC-001-migracion-sourcesafe-github.md` | Primera decisión técnica del proyecto | +| `kanban/migracion-sourcesafe-github.md` | Tablero Kanban de la migración | +| `templates/reunion.md` | Plantilla para actas de reuniones | +| `templates/decision.md` | Plantilla para decisiones técnicas | \ No newline at end of file