Skip to content

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.

bash
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 init

Replace 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

bash
pnpm run check
pnpm run test
pnpm dev

check 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 filePurpose
nimi.app.yamlGenerated 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 initInitialize the generated project after dependency installation, including nimicoding integration
pnpm run syncRefresh scaffold-managed configuration and dependencies while preserving App-owned code
pnpm run checkCheck the project, managed files, and dependency alignment without writing
pnpm run testRun the App-declared test command
pnpm run app:build -- --target windows-x86_64Run the configured App production build for that target
pnpm run pack --target windows-x86_64Package 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.

Source Basis

Documentation for Nimi — the installable, open-source, local-first personal AI product.