Create A Nimi App
Create a third-party App project with the public App Tools CLI. The commands on this page target @nimiplatform/app-tools@0.2.7.
Before You Start
- Use Node.js 24 or newer and pnpm. The generated project declares its package-manager version.
- Choose an empty project directory and an App ID for your project.
- To run the App through Nimi, have a compatible Nimi Home development instance with Developer Mode and its Runtime available. Check development setup and availability first. Project creation does not install Nimi Home; the public Windows Runtime bootstrap is not a Home installer.
Create And Initialize
This example includes text generation so you can continue to the first AI call. studio-create adds the Create feature, its AI Studio dependency, and the generated runtime.consume declaration. It includes feature code and UI; it is not a permission-only switch.
pnpm dlx --package @nimiplatform/app-tools@0.2.7 nimi-app create --dir my-nimi-app --profile standalone --features studio-create --app-id example.app --version 0.1.0 --title "My Nimi App" --package-name my-nimi-app
cd my-nimi-app
pnpm install
pnpm run initReplace the directory, identity, and title with your project's values. The standalone project uses public dependencies. init explicitly synchronizes the bundled nimicoding projections and initializes the App's managed configuration. You do not need to study or run Nimi's repository governance workflow separately before using this generated entry point.
For an empty base App, omit --features studio-create. That produces app_access: [], which does not provide the declaration needed by this text-generation example. In a managed scaffold, nimi.app.yaml is generated from the selected features: hand-editing its permissions fails check, and sync restores the generated declaration. App Tools 0.2.7 does not accept --features on sync. If you already created an empty base and want to follow this example, use the command above with a different empty directory, preserving your existing project.
Check And Run
pnpm run check
pnpm run test
pnpm devcheck validates the project without changing it. test runs the App-declared tests. dev requests the Desktop-supervised Electron development host. The generated dev:shell command also enters nimi-app dev; it does not launch an independent Tauri development shell.
Register and authorize the local project through Nimi Home's Developer Mode as required by the development host. A running window and Nimi Access are separate states: if access is unavailable, use the reported reason to correct registration, authorization, Runtime, or capability configuration. Do not bypass the host to make a request appear successful.
Tauri remains an explicitly configured production-build alternative, not the default development host.
Project Commands
| Command or file | Purpose |
|---|---|
nimi.app.yaml | Generated App identity and submitted configuration, not a Registry-approved descriptor; App Access declarations come from selected features, not manual edits to this managed file |
pnpm run init | Initialize the generated project after dependency installation, including nimicoding integration |
pnpm run sync | Refresh scaffold-managed configuration and dependencies while preserving App-owned code |
pnpm run check | Check the project, managed files, and dependency alignment without writing |
pnpm run test | Run the App-declared test command |
pnpm run app:build -- --target windows-x86_64 | Run the configured App production build for that target |
pnpm run pack --target windows-x86_64 | Package the App locally; this does not upload or grant Registry admission |
Use the scripts generated by the version you installed. The former local-audit, doctor, and update scripts are absent; use the current check and sync commands for their documented responsibilities.
Connect A Capability
Keep the generated SDK/Kit host integration when adding App code. First AI Call explains request inputs, capability intent, and typed errors; Use Kit in an App covers the host and shared UI. Run one actual App-owned request with the configured App identity and required access before treating the integration as working.
If a step fails, use Troubleshooting. Nimi Lab provides capability examples; only explicitly admitted feature slices are scaffoldable, not the entire Lab App.
Before Distribution
Creating, checking, or running this project does not publish it or grant Registry admission. Review the development and distribution paths and the App Tools release guidance before publishing.