ワンクリックで
create-full-app
Create a Logos full app — a combined module + UI app project in a single root directory
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
メニュー
Create a Logos full app — a combined module + UI app project in a single root directory
Codex または Claude でインストール この Prompt をコピーして Codex、Claude、または他のアシスタントに貼り付けると、Skill ページを確認してインストールできます。
SOC 職業分類に基づく
Activate when creating a new Logos module with the universal C++ interface. Covers scaffolding, metadata.json, flake.nix with code generator, CMakeLists.txt, and the pure C++ impl header.
Activate when configuring Nix flake.nix for a Logos module. Covers flake inputs, follows declarations, preConfigure for code generation, mkLogosModule, overrides for local development, and workspace integration.
Activate when packaging a Logos module or UI app for distribution as an LGX package. Covers lgx create, adding platform variants, verification, portable builds, and installation via lgpm.
Activate when writing tests for Logos modules. Covers the logos-test-framework (LOGOS_TEST macros, LogosTestContext, module mocking, C library mocking, event testing), logos_test() CMake integration, logoscore integration tests, and Nix check configuration.
Activate when wrapping an external C or C++ library as a Logos universal module. Covers external_libraries in metadata.json, flake input configuration, extern C includes, and the Go library special case.
Activate when registering a new module in the logos-workspace. Covers adding git submodules, flake.nix inputs with follows declarations, scripts/ws REPOS array, repo groups, and dep-graph.nix regeneration.
| name | create-full-app |
| description | Create a Logos full app — a combined module + UI app project in a single root directory |
Use this skill when the user wants to scaffold a project that has both a C++ backend module and a Basecamp UI frontend.
logos-dev-boost init <name> --type full-app
This creates logos-<name>/ containing:
<name>-module/ — universal C++ module (the backend, "type": "core")<name>-ui/ — Basecamp UI app (the frontend, "type": "ui")project.json identifying the full-app layoutAGENTS.md, CLAUDE.md, .mcp.json, .claude/skills/ at the rootEach sub-project is a standalone flake that builds independently. Build them one at a time:
cd logos-<name>
# 1. Init and build the module
cd <name>-module
git init && git add -A
nix build
lm ./result/lib/<name>_plugin.so
logoscore -D -m ./result/lib &
logoscore load-module <name>
logoscore call <name> echo hello
logoscore stop
cd ..
# 2. Build the UI app (module must be git-tracked for the path: flake input)
cd <name>-ui
git init && git add -A
nix build
cd ..
The <name>-ui/flake.nix declares the module as a flake input:
<name>.url = "path:../<name>-module";
And <name>-ui/metadata.json declares it as a runtime dependency:
"dependencies": ["<name>"]
Basecamp will auto-load the module when the UI plugin is activated.
In <Pascal>UiBackend.cpp:
#include <LogosAPI.h>
void MyBackend::doSomething(const QString& input) {
if (!m_api) return;
auto* client = m_api->getClient("myapp");
QVariant result = client->invokeRemoteMethod("myapp", "echo", input);
setStatusMessage(result.toString());
}
logos-myapp/
myapp-module/
metadata.json "type": "core", "interface": "universal"
flake.nix standalone — cd myapp-module && nix build
src/myapp_impl.h Pure C++ API
src/myapp_impl.cpp
tests/test_myapp.cpp
myapp-ui/
metadata.json "type": "ui", "dependencies": ["myapp"]
flake.nix includes myapp.url = "path:../myapp-module"
src/myapp_ui_plugin.h/cpp
src/MyappUiBackend.h/cpp
src/qml/Main.qml
project.json { "type": "full-app", "name": "myapp", "module": "myapp-module", "ui": "myapp-ui" }
AGENTS.md / CLAUDE.md / .mcp.json
# After building both sub-projects:
cp -r myapp-module/result/lib/* ~/.local/share/Logos/LogosBasecampDev/modules/
cp -r myapp-ui/result/* ~/.local/share/Logos/LogosBasecampDev/plugins/myapp_ui/
# Launch Basecamp