7913116a8e
- .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>
2.4 KiB
2.4 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 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| resolve_cpp_app_dir | function | bash | infra | 1.1.0 | impure | resolve_cpp_app_dir(app_name?: string) -> stdout: app_name app_dir | Resuelve el nombre y directorio absoluto de una app C++ del registry. Sin arg deduce desde CWD si esta dentro de apps/<X>/, cpp/apps/<X>/ o projects/*/apps/<X>/. Con arg busca en las tres ubicaciones (apps/ canonical issue 0096 primero, luego cpp/apps/ legacy, luego projects/*/apps/). Imprime '<app_name>TAB<absolute_dir>' en stdout, exit 0; si no resuelve, lista apps disponibles en stderr y sale con exit 1. |
|
false | error_go_core | false | bash/functions/infra/resolve_cpp_app_dir.sh |
|
Una linea TAB-separada '<app_name>\t<absolute_dir_path>' en stdout. En caso de error imprime ayuda a stderr y sale con exit 1. |
Ejemplo
# Desde dentro de cpp/apps/chart_demo/
cd $HOME/fn_registry/cpp/apps/chart_demo
resolve_cpp_app_dir
# -> chart_demo\t$HOME/fn_registry/cpp/apps/chart_demo
# Con argumento explicito
resolve_cpp_app_dir registry_dashboard
# -> registry_dashboard\t$HOME/fn_registry/cpp/apps/registry_dashboard
# Capturar los dos campos
resolved=$(resolve_cpp_app_dir graph_explorer)
APP="$(echo "$resolved" | cut -f1)"
APP_DIR="$(echo "$resolved" | cut -f2)"
Notas
Busca en orden:
$ROOT/apps/<X>conCMakeLists.txt— layout canonical post-issue 0096.$ROOT/cpp/apps/<X>— legacy pre-issue 0096.$ROOT/projects/*/apps/<X>— apps de un proyecto (primer match gana).
Si ninguna ruta existe, imprime lista de apps disponibles (con prefijo de ubicacion) en stderr y sale con exit 1. Sourceable o ejecutable directamente. Helper interno _list_cpp_apps evita duplicar codigo en los paths de error.
Growth log
- v1.1.0 (2026-05-16) — busca tambien en
apps/<X>/(canonical issue 0096). Antes solo cubriacpp/apps/<X>/yprojects/*/apps/<X>/, lo que hacia que./fn run compile_cpp_app <name>fallara para apps movidas al layout canonical (ej.dag_engine_ui).