Files
egutierrez 7913116a8e chore: auto-commit (129 archivos)
- .claude/agents/fn-analizador/SKILL.md
- .claude/agents/fn-constructor/SKILL.md
- .claude/agents/fn-executor/SKILL.md
- .claude/agents/fn-mejorador/SKILL.md
- .claude/agents/fn-orquestador/SKILL.md
- .claude/agents/fn-recopilador/SKILL.md
- .claude/commands/app.md
- .claude/commands/compile.md
- .claude/commands/cpp-app.md
- .claude/commands/create_functions.md
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-06-01 22:23:12 +02:00

3.6 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, tested, tests, test_file_path, file_path, params, output
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports tested tests test_file_path file_path params output
compile_wails_app pipeline bash pipelines 0.1.0 impure compile_wails_app(app_name_or_empty: string) -> void Pipeline que resuelve la app Wails desde el nombre o CWD, la compila para Windows con wails build -platform windows/amd64 (detectando -tags goolm automaticamente si la app usa E2EE Matrix), y despliega el .exe al escritorio de Windows + relanza el proceso. Equivalente a compile_cpp_app pero para apps Wails (Go + WebView2).
wails
windows
compile
pipelines
launch
matrix-mas
resolve_cpp_app_dir_bash_infra
deploy_wails_exe_to_windows_bash_infra
false error_go_core
false
bash/functions/pipelines/compile_wails_app.sh
name desc
app_name_or_empty Nombre de la app Wails a compilar (opcional). Sin arg se deduce desde el directorio actual si estamos dentro de projects/*/apps/<X>/ o apps/<X>/. Lista apps disponibles si no puede deducirlo.
Compila el .exe con wails build, lo despliega al escritorio de Windows y relanza el proceso. Imprime progreso por steps a stderr y resumen final con ls -lh del .exe resultante.

Ejemplo

# Desde el directorio de la app (deduce nombre automaticamente)
cd projects/element_agents/apps/matrix_client_pc
./fn run compile_wails_app

# Desde la raiz del registry, con nombre explicito
cd $HOME/fn_registry
./fn run compile_wails_app matrix_admin_panel

# Directo sin fn run
bash bash/functions/pipelines/compile_wails_app.sh matrix_client_pc

Cuando usarla

Usar cuando quieras rebuild + redeploy + relanzar una app Wails con un solo comando durante iteracion activa de desarrollo. Equivale al slash command /compile aplicado a targets Wails. El pipeline detecta automaticamente si la app necesita -tags goolm (apps Matrix con E2EE).

Gotchas

  • Requiere wails CLI instalado en PATH y mingw-w64 configurado para cross-compile (GOARCH=amd64 GOOS=windows via toolchain Wails).
  • Si la app usa -tags goolm (E2EE Matrix), esta pipeline lo detecta automaticamente: busca matrix_crypto_init en app.md o "build:tags": "goolm" en wails.json. Si la deteccion falla, pasar la variable TAGS o editar el wails.json.
  • El relanzar despues del deploy es la diferencia clave con compile_cpp_app: las apps Wails son single-binary (no DLLs adicionales) y arrancan en <1s, lo que hace iteracion muy rapida.
  • Si el build falla con no required module provides package, ejecutar go mod tidy en el directorio de la app antes de volver a compilar.
  • matrix_client_pc tiene helpers en internal/infra/ que son copias vendored de functions/infra/ del registry padre. Si actualizas un helper en el registry padre, debes copiarlo manualmente a la app antes de compilar — el build de Wails no ve el modulo padre.
  • El deploy mata el proceso anterior con taskkill.exe /F (pre-autorizado) antes de copiar el .exe, para evitar "Permission denied" de Windows al sobreescribir un binario en uso.
  • Variable de entorno WIN_DESKTOP_APPS controla el destino; default /mnt/c/Users/lucas/Desktop/apps.

Flujo

  1. resolve_cpp_app_dir — deduce nombre y directorio absoluto de la app (desde CWD o arg)
  2. Verifica wails.json y go.mod en el directorio de la app
  3. Detecta si necesita -tags goolm (app.md referencia matrix_crypto_init o wails.json lo declara)
  4. wails build -platform windows/amd64 [tags] desde el directorio de la app
  5. deploy_wails_exe_to_windows — mata proceso, copia .exe, relanza y verifica PID
  6. Imprime ls -lh del exe final en Desktop/apps/<APP>/