Skip to content

Latest commit

 

History

History
68 lines (45 loc) · 5.34 KB

File metadata and controls

68 lines (45 loc) · 5.34 KB

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.7.5.

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, and no Nimi Home download is published yet.

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.7.5 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.7.5 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 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. A Tauri Host carries only part of the standard shell; operations it does not carry fail with capability-unavailable (see Tauri Hosts).

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.

Source Basis