Actualización docs: sync automático y nuevos proyectos en cloud
This commit is contained in:
@@ -15,6 +15,6 @@
|
|||||||
## Proyectos
|
## Proyectos
|
||||||
|
|
||||||
- `gestion-talleres-2000` → GitHub
|
- `gestion-talleres-2000` → GitHub
|
||||||
- `engram-wiki` → Gitea
|
- `engram-wiki` → Gitea + Engram Cloud
|
||||||
- `planificacion_proyectos` → Engram Cloud
|
- `planificacion_proyectos` → Engram Cloud
|
||||||
- `gestion-talleres-2000` → Engram Cloud
|
- `gestion-talleres-2000` → Engram Cloud
|
||||||
@@ -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
|
- Cada proyecto tiene su propia memoria aislada en el cloud
|
||||||
- El dashboard muestra todos los proyectos en `https://engram.v-encore-lab.com/dashboard/`
|
- 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
|
## 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
|
```powershell
|
||||||
C:\Users\juanm\Downloads\sqlite3.exe C:\Users\juanm\.engram\engram.db "DELETE FROM sync_mutations WHERE entity = 'relation' AND project = 'NOMBRE_PROYECTO';"
|
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"
|
|
||||||
```
|
```
|
||||||
@@ -10,7 +10,7 @@ Guía completa para securizar Engram Cloud en el VPS.
|
|||||||
- **Dashboard:** `https://engram.v-encore-lab.com/dashboard/`
|
- **Dashboard:** `https://engram.v-encore-lab.com/dashboard/`
|
||||||
- **Token:** `e5ace1caed605543642c1032ef9e24f803f092b4ef9863cc068a8eceaa01445b`
|
- **Token:** `e5ace1caed605543642c1032ef9e24f803f092b4ef9863cc068a8eceaa01445b`
|
||||||
- **Modo:** enterprise con autenticación JWT activa
|
- **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`
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -30,6 +30,7 @@
|
|||||||
|
|
||||||
- `planificacion_proyectos` → Engram Cloud
|
- `planificacion_proyectos` → Engram Cloud
|
||||||
- `gestion-talleres-2000` → Engram Cloud
|
- `gestion-talleres-2000` → Engram Cloud
|
||||||
|
- `engram-wiki` → Engram Cloud
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
26
engram-sync.bat
Normal file
26
engram-sync.bat
Normal file
@@ -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.
|
||||||
137
obsidian/01-configuracion-completa.md
Normal file
137
obsidian/01-configuracion-completa.md
Normal file
@@ -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
|
||||||
123
obsidian/02-instalacion-y-setup.md
Normal file
123
obsidian/02-instalacion-y-setup.md
Normal file
@@ -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 |
|
||||||
Reference in New Issue
Block a user