Files
fn_registry/.claude/commands/new-cpp-app.md
T
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

1.9 KiB

/new-cpp-app — Crear app C++ nueva con scaffolder estandar

Wrapper sobre el pipeline init_cpp_app_bash_pipelines. Genera la estructura canonica que cumple cpp/PATTERNS.md y .claude/rules/cpp_apps.md (main.cpp con cfg.about/log/panels, sin app_menubar manual, dockspace via framework), registra la app en cpp/CMakeLists.txt, crea repo Gitea dataforge/<name> y ejecuta fn index.

cd $HOME/fn_registry
./fn run init_cpp_app $ARGUMENTS

Uso

/new-cpp-app <name> [--project <p>] [--domain <d>] [--desc "..."] [--tags "a,b"]

Ejemplos

# App suelta en cpp/apps/<name>/
/new-cpp-app my_tool --desc "Herramienta para X"

# App dentro de un proyecto
/new-cpp-app finance_panel --project budget --desc "Panel de finanzas" --tags "finance,dashboard"

Que genera

<dir>/
  main.cpp        # Plantilla canonica: panels[] + cfg.about + cfg.log + run_app(cfg, render)
  CMakeLists.txt  # add_imgui_app(<name> main.cpp)
  app.md          # Frontmatter completo (lang:cpp, framework:imgui, dir_path, repo_url)

Mas registro en cpp/CMakeLists.txt, repo Gitea con commit inicial, y fn index para que aparezca en registry.db.

Despues de crear

  1. Editar app.md y completar uses_functions cuando la app consuma funciones del registry.
  2. Anadir las funciones al CMakeLists.txt como paths absolutos: ${CMAKE_SOURCE_DIR}/functions/<dom>/<func>.cpp.
  3. Build: /compile <name> o cd cpp && cmake --build build --target <name> -j.

Cuando NO usar

NUNCA — esta es la unica via para crear apps C++ nuevas. Si el scaffolder no cubre un caso, modificar la plantilla en bash/functions/pipelines/init_cpp_app.sh. Escribir main.cpp + CMakeLists.txt + app.md a mano esta prohibido por .claude/rules/cpp_apps.md.

Auditoria post-creacion

fn doctor cpp-apps

Lista apps que se desvian del estandar (sin cfg.about, con app_menubar manual, dockspace duplicado, etc.).