b9716a7cd6
Snapshot de WIP acumulado de sesiones previas antes de merge wave 1 del flow 0008 (kanban_cpp + agent_runner_api + DoD schema). Incluye: - dev/flows/0008-kanban-cpp-and-agent-workflows.md - dev/issues/0112-0119*.md (7 sub-issues) - WIP previo en cmd/fn/doctor.go, registry/*, modules/, cpp/, etc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4.5 KiB
4.5 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 | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| refresh_app_hub | pipeline | bash | pipelines | 1.1.0 | impure | refresh_app_hub([--hub-dir <path>] [--size <px>] [--no-restart] [--style <s>]) -> void | Pipeline orquestador que regenera los iconos PNG y el manifest TSV del App Hub desde registry.db y reinicia el proceso app_hub_launcher en Windows. Cubre el ciclo completo: export icons → export manifest → taskkill → relaunch. Default style=white_duotone (duotone Phosphor blanco sobre bg accent). Override con --style fill_white | adaptive_duotone. |
|
|
false | error_go_core | false | bash/functions/pipelines/refresh_app_hub.sh |
|
Imprime resumen de 4 pasos (icons exported, manifest rows, hub killed/skipped, hub launched) y finaliza con 'OK: app_hub refreshed'. Exit 1 si falla cualquier paso, con mensaje indicando cuál. |
Ejemplo
# Caso habitual: regenerar todo y reiniciar el hub
./fn run refresh_app_hub
# Solo regenerar iconos y manifest, sin tocar el proceso
./fn run refresh_app_hub --no-restart
# Iconos a 128px para pantalla HiDPI o hub-dir personalizado
./fn run refresh_app_hub --size 128
./fn run refresh_app_hub --hub-dir /mnt/d/MiDesktop/apps/app_hub_launcher/local_files
# Combinado
./fn run refresh_app_hub --size 128 --hub-dir /mnt/d/MiDesktop/apps/app_hub_launcher/local_files
Salida esperada:
[1/4] Exporting PNG icons (size=64px) → /mnt/c/Users/lucas/Desktop/apps/app_hub_launcher/local_files/icons ...
[1/4] PNG icons exported: 12
[2/4] Exporting manifest → .../hub_manifest.tsv ...
[2/4] Manifest exported: 12 rows
[3/4] Hub running → killing app_hub_launcher.exe ...
[3/4] Hub running → killed
[4/4] Launching app_hub_launcher ...
[4/4] Hub launched
OK: app_hub refreshed
Cuando usarla
Ejecutar este pipeline después de:
- Cambiar el bloque
icon:(phosphor,accent) en cualquierapp.mdC++. - Modificar la
descriptionde una app C++ (se refleja en el manifest TSV). - Añadir una app nueva con
lang: cppyframework: imguial registry. - Cambiar el
namede una app imgui (el PNG y la fila TSV usan elname).
En todos esos casos el hub cachea los archivos al arrancar, así que el reinicio es obligatorio para ver los cambios.
Gotchas
- Cache al arrancar:
app_hub_launchercargalocal_files/icons/*.pngylocal_files/hub_manifest.tsvuna sola vez al inicio. Sin el reinicio los cambios no se ven aunque los archivos estén actualizados. Usar--no-restartsolo si el hub está cerrado o si quieres preparar los archivos antes de lanzarlo a mano. - Paths Windows requieren WSL
/mnt/c/: el--hub-dirdebe ser una ruta accesible desde WSL2. Las rutasC:\...nativas no funcionan en Bash — convertirlas conwslpath -u 'C:\...'antes de pasar el flag. taskkillsolo funciona en WSL con acceso a Windows tools: sitasklist.exeytaskkill.exeno están en$PATH(instalación WSL sin interop habilitado), el paso 3 fallará. Verificar concommand -v tasklist.exe.powershell.exenecesario para el lanzamiento:launch_cpp_app_windowsusaStart-Processde PowerShell. Si PowerShell no está en$PATH, el paso 4 fallará.export_hub_iconsrequiere Phosphor SVGs: los SVGs deben existir ensources/phosphor-core/assets/fill/. Si no están clonados, las apps sin SVG se omiten (skip) sin abortar; el count final puede ser menor al esperado. Clonar con:git clone https://github.com/phosphor-icons/core.git sources/phosphor-core.- Idempotente: lanzable N veces. Si el hub no está corriendo, el paso 3 se salta y el paso 4 lo lanza igualmente. Si ya está corriendo, lo mata y lo relanza.