--- id: 0033e title: Skill `/compile` orquesta freeze + vendor + go builds status: pending priority: medium created: 2026-05-02 depends_on: [0033, 0033b, 0033d] --- ## Objetivo Tras compilar el `.exe` Windows de un app, el skill `/compile` debe preparar todo lo necesario para que el zip distribuible sea self-contained. ## Pasos del skill (post-build) ``` 1. Compilar .exe Windows (ya lo hace). 2. Si app.python_runtime == 1: a. tools/freeze_python_runtime.sh windows b. para cada enricher con lang: python: tools/vendor_enricher_python.sh $(pwd) 3. Para cada enricher con lang: go: bash /build.sh (cross-compile linux+windows) 4. Copiar arbol final a /mnt/c/Users/lucas/Desktop/apps// incluyendo: .exe, runtime/, enrichers/ con run.exe + _vendored/. 5. Verificar layout: smoke check que .exe + runtime/python/python.exe + enrichers/*/run.exe existen. ``` ## Cambios Editar el skill `~/.claude/plugins//compile/skill.md` (o donde viva el `/compile`) para anadir los pasos 2-5. Si el skill ya copia archivos, extender la lista; si no, anadir el bloque entero. ## Test manual Tras un `/compile` limpio: ```bash ls /mnt/c/Users/lucas/Desktop/apps/graph_explorer/ # Esperado: # graph_explorer.exe # runtime/python/python.exe # enrichers/extract_domain/run.exe (Go) # enrichers/web_search/run.py + _vendored/ (Python custom, ej.) # ... ``` Y desde Windows (no WSL): doble click en `graph_explorer.exe`, arrancar Echo, ejecutar `web_search` sobre un nodo text. Debe funcionar sin que WSL este corriendo. ## Definicion de hecho - `/compile` (o equivalente) ejecuta los 5 pasos sin intervencion manual. - Un PC Windows limpio (sin WSL) corre la app desde el zip copiado a Desktop.