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>
54 lines
1.9 KiB
Markdown
54 lines
1.9 KiB
Markdown
# /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`.
|
|
|
|
```bash
|
|
cd $HOME/fn_registry
|
|
./fn run init_cpp_app $ARGUMENTS
|
|
```
|
|
|
|
## Uso
|
|
|
|
```
|
|
/new-cpp-app <name> [--project <p>] [--domain <d>] [--desc "..."] [--tags "a,b"]
|
|
```
|
|
|
|
## Ejemplos
|
|
|
|
```bash
|
|
# 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.).
|