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>
3.0 KiB
3.0 KiB
name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
| name | kind | lang | domain | version | purity | signature | description | tags | uses_functions | uses_types | returns | returns_optional | error_type | imports | params | output | tested | tests | test_file_path | file_path | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| regenerate_app_icons | pipeline | py | pipelines | 1.2.0 | impure | def regenerate_app_icons(only: list[str] | None = None, style: str = 'fill_white') -> dict | Escanea todas las apps C++ del registry, lee el bloque `icon: {phosphor, accent}` de cada app.md y regenera el appicon.ico via generate_app_icon. Soporta param `style` ('fill_white' default | 'adaptive_duotone' | 'white_duotone' bg accent + glyph duotone Phosphor con fill blanco). CLI flags: `--adaptive`, `--white`, o `--style=<valor>`. Reemplaza el script ad-hoc dev/gen_app_icons.py. |
|
|
false | error_go_core |
|
|
dict {ok: [name], skipped: [{name, reason}], failed: [{name, error}]} | false | python/functions/pipelines/regenerate_app_icons.py |
Ejemplo
# Regenerar todas las apps C++ con icon: declarado (estilo clasico)
./fn run regenerate_app_icons
# Estilo adaptive_duotone (dark/light glyph segun luminancia del accent)
python/.venv/bin/python3 python/functions/pipelines/regenerate_app_icons.py --adaptive
# Solo una app
./fn run regenerate_app_icons chart_demo
import sys
sys.path.insert(0, "python/functions")
from pipelines.regenerate_app_icons import regenerate_app_icons
result = regenerate_app_icons()
print(f"OK: {len(result['ok'])}, FAIL: {len(result['failed'])}")
Bloque icon: esperado en app.md:
icon:
phosphor: "chart-bar"
accent: "#0ea5e9"
Cuando usarla
Cuando anades una app C++ nueva (anades icon: a su app.md y corres el pipeline), cambias el color/glyph de una app existente, o pulleas cambios de iconos desde otra rama. Antes de redeploy_cpp_app_windows para que el .exe lleve el icono actualizado.
Gotchas
- Sobreescribe
appicon.icosin warning — igual quegenerate_app_icon. Hacer backup si necesitas preservar version anterior. - Requiere
sources/phosphor-core/: clonar congit clone --depth=1 https://github.com/phosphor-icons/core.git sources/phosphor-coresi no existe. - Solo procesa apps con
lang: cppen frontmatter — apps Go/Python se ignoran aunque tenganicon:. - Apps sin
icon:se reportan enskipped, no son error. Util para detectar apps C++ a las que falta declarar el icono. - No invalida el cache de iconos de Windows — si Explorer no muestra el icono nuevo tras redeploy:
ie4uinit.exe -showo reiniciar Explorer.