Actualización y migraciones
このコンテンツはまだ日本語訳がありません。
Qué cubre esta página
- Cómo funciona
upgrade.py - Qué rutas de migración soporta el framework actual
- Cómo usar
--plan,--dry-runy--json - Qué cambios aplica realmente y cuáles no
Cuándo usar esta página
Úsala cuando:
- un Puruto antiguo falla validación o tiene artefactos incompletos,
- quieres normalizar repos antes de trabajar con ellos,
- o necesitas confirmar qué cambios aplicará una migración sin escribir ficheros.
Comando base
python3 .claude/skills/upgrade/scripts/upgrade.py [ruta] [opciones]Flags importantes (código actual)
Según /Users/pepetox/Documents/01-code/puruto/.claude/skills/upgrade/scripts/upgrade.py:
| Flag | Para qué sirve |
|---|---|
ruta | Repo Puruto a migrar (por defecto: directorio actual) |
--target-version | Versión objetivo (por defecto: última soportada por el script) |
--plan | Muestra el plan sin aplicar cambios |
--dry-run | Simula la migración sin escribir ficheros |
--json | Devuelve salida estructurada para scripting/CI |
Regla operativa recomendada
Ejecuta siempre en este orden:
--plan--dry-run --json(si quieres automatizar revisión)- migración real
validate.pypara confirmar resultado
Rutas de migración soportadas (actuales)
El script actual soporta:
0.0.0→0.1.00.1.0→0.2.00.0.0→0.2.0(encadenando dos pasos)
Si el repo tiene una versión fuera de esas rutas, upgrade.py devolverá error indicando que no hay ruta soportada.
Flujo recomendado (paso a paso)
1. Inspecciona el plan
python3 .claude/skills/upgrade/scripts/upgrade.py ~/purutos/puruto-demo --planQué esperar:
- versión actual detectada
- versión objetivo
- lista de pasos
from -> to - mensaje de que no se aplicaron cambios
2. Simula con salida JSON (opcional, muy útil)
python3 .claude/skills/upgrade/scripts/upgrade.py ~/purutos/puruto-demo --dry-run --jsonCampos útiles:
current_versiontarget_versiondry_runplanapplied(acciones previstas por paso)final_version(en dry-run no cambia)
3. Aplica la migración real
python3 .claude/skills/upgrade/scripts/upgrade.py ~/purutos/puruto-demo4. Valida después de migrar
python3 .claude/skills/validate/scripts/validate.py ~/purutos/puruto-demo --jsonQué cambios aplica upgrade.py (ejemplos reales)
0.0.0 → 0.1.0
Ejemplos de acciones del script:
- Renombrar referencia legacy
PURUTO_BOT_TOKEN→PURUTO_TELEGRAM_BOT_TOKENen.env.example(si aplica) - Añadir
.enva.gitignore(si falta y existe.gitignore) - Crear/escribir
.puruto-standard-version = 0.1.0
0.1.0 → 0.2.0
Ejemplos de acciones del script:
- Añadir
invoker.py/ipc.pysi el repo usa.puruto-ipc.json - Añadir
invoker.pyparapuruto-cronypuruto-gateway - Añadir
inbox.py,inbox/.gitkeepy skill/drain-inboxenpuruto-telegram - Actualizar
.puruto-standard-version = 0.2.0
Qué NO hace (importante)
upgrade.py migra estructura y artefactos, no lógica runtime ni datos de negocio.
Ejemplos de cosas que no debes asumir:
- migración de bases de datos aplicativas
- compatibilidad total con customizaciones locales
- reparación de código runtime personalizado
Troubleshooting rápido
“No hay ruta de migración soportada”
- Revisa
.puruto-standard-version - Ejecuta
--plan --json - Si la versión es custom/no soportada, prepara migración manual o normaliza primero
El repo sigue fallando tras migrar
- Ejecuta
validate.py --json - Revisa findings y artefactos faltantes
- Comprueba si el fallo es runtime (no estructural)
Siguientes pasos
Última verificación
Contenido contrastado con /Users/pepetox/Documents/01-code/puruto/.claude/skills/upgrade/scripts/upgrade.py y /Users/pepetox/Documents/01-code/puruto/tests/test_upgrade.py el 25 de febrero de 2026.