2a3d780347
Adds `fn doctor` read-only diagnostic command with subcommands artefacts, services, sync, uses-functions, unused, and --json flag for agents. Each subcommand wraps a registry function in functions/infra/. New functions: - artefact_doctor, services_status, pc_locations_drift, audit_uses_functions, find_unused_functions (Go diagnostics) - backup_sqlite_db, rotate_backups, wait_for_http, wait_for_port, port_kill, tail_journal, pre_commit_hook_install (bash utilities) - notify_telegram (Go HTTP) - backup_all pipeline (tag launcher) Plus prior session leftovers (scan_secrets_in_dirty, append_diary_entry, git utilities, http_session_cookie_middleware, compile/full-git pipelines). Fixes pc_locations_drift filepath.Join bug with absolute dir_path. Documents fn doctor in CLAUDE.md, .claude/rules/fn_doctor.md (rule 23), docs/architecture.md, CHANGELOG.md (2026-05-07), and diary entry. First fn doctor uses-functions run found drift in 7/12 apps (deuda para sincronizar app.md con imports reales). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2.2 KiB
2.2 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_cpp_app | pipeline | bash | pipelines | 1.0.0 | impure | compile_cpp_app(app_name?: string) -> void | Pipeline que resuelve la app C++ desde el nombre o CWD, la cross-compila para Windows con mingw-w64, y despliega el .exe al escritorio de Windows. Composicion de resolve_cpp_app_dir + build_cpp_windows + deploy_cpp_exe_to_windows. |
|
|
false | error_go_core | false | bash/functions/pipelines/compile_cpp_app.sh |
|
Compila el .exe y lo despliega al escritorio de Windows. Imprime progreso por steps a stderr y resumen final con ls -lh del .exe resultante. |
Ejemplo
# Desde dentro del directorio de la app (sin arg)
cd /home/lucas/fn_registry/cpp/apps/chart_demo
fn run compile_cpp_app
# Con nombre explicito desde cualquier directorio
fn run compile_cpp_app registry_dashboard
# Directo
bash bash/functions/pipelines/compile_cpp_app.sh graph_explorer
Flujo
resolve_cpp_app_dir— deduce nombre y directorio absoluto de la app (desde CWD o arg)- Verifica que existe
CMakeLists.txten el directorio de la app build_cpp_windows— cross-compila con mingw-w64 solo el target de la appdeploy_cpp_exe_to_windows— copia exe, DLLs, assets, enrichers y runtime al escritorio de Windows- Imprime
ls -lhdel exe final en Desktop/apps//
Variables de entorno
FN_REGISTRY_ROOT— raiz del registry; default/home/lucas/fn_registryBUILD_WIN— directorio de build Windows; default$FN_REGISTRY_ROOT/cpp/build/windowsWIN_DESKTOP_APPS— directorio destino; default/mnt/c/Users/lucas/Desktop/apps
Notas
Reemplaza la logica del slash command /compile. No lleva tag launcher porque no es un pipeline TUI-lanzable (tarda minutos en compilar).