Skip to content

Use Tester As A Reference App

apps/tester/ is Nimi Lab: a developer reference app for generated Nimi App repositories. Use it to understand how a real app wires Runtime auth, SDK calls, Kit surfaces, app-tools scaffold checks, AIConfig bindings, capability lanes, and local acceptance tests.

Do not treat Tester as platform admission truth. It is an app-owned reference surface, not the source of Runtime, SDK, Kit, Realm, release, registry, or permission authority.

Run It

From the source checkout:

bash
pnpm dev:tester

Inside apps/tester/ the relevant scripts are:

bash
pnpm run init
pnpm dev:shell
pnpm run validate
pnpm run local-audit
pnpm run doctor
pnpm run update
pnpm run test

dev:shell launches the Tauri shell. The app authenticates through the in-app Runtime account login, like a shipped app. A local not-yet-admitted app uses Developer Mode plus Runtime developer registration; Tester does not create a standalone developer session or grant app admission.

What To Study

NeedWhere to look
App scaffold scripts and local checksapps/tester/package.json
Runtime-authenticated shell behaviorapps/tester/README.md and shell routes
AIConfig storage and app scopeapps/tester/src/tester/tester-ai-config-store.ts
Runtime AI dispatch with AIConfig bindingapps/tester/src/tester/tester-runtime-invokers-core.ts
Fail-closed capability statesapps/tester/src/tester/tester-unavailable.ts
Kit model-config integrationapps/tester/src/shell/ai/ and apps/tester/src/shell/routes/settings/
Contract checksapps/tester/test/tester-contract/

What Not To Copy Blindly

  • Tester app identity (nimi.tester) is Tester-specific.
  • Tester local fixtures and demo data are not production data contracts.
  • Tester acceptance tests are examples of app-owned checks, not a substitute for your app's requirements.
  • Runtime route ids, AIConfig target refs, and provider connector ids must come from your app's Runtime/model-config flow.
  • Developer Mode is local development material, not public app listing admission.

Common Failure States

StateMeaning
runtime-not-readyRuntime is not reachable or ready for the lane.
ai-config-binding-missingNo AIConfig target is selected for that capability.
auth-context-missingThe route needs a signed-in Runtime account subject.
principal-unauthorizedThe Runtime account session is expired or unauthorized.
sdk-method-unavailableThe current app build does not expose the required SDK method.
runtime-call-failedRuntime returned a typed contract/provider failure.

The app should surface these states directly. Do not collapse them into a single "SDK missing" or "model unavailable" message.

Source Basis

Nimi AI open world platform documentation.