create-onairos-app
v0.1.3
Published
Create a Next.js Persona starter app with Onairos SDK 6.0.7.
Downloads
382
Maintainers
Readme
create-onairos-app
Scaffold a Next.js Persona starter with [email protected] and a validated developer API key.
Usage
npx create-onairos-app@latest my-onairos-appThe CLI will:
- ask for a project name if you do not pass one
- ask for an existing Onairos developer API key
- open the Onairos developer dashboard if you press Enter without a key
- validate the key against
https://api2.onairos.uk/dev/validate-apikey - generate a Next.js App Router starter
- install dependencies with
npm install - optionally initialize a Git repository
Flags
npx create-onairos-app@latest my-onairos-app \
--api-key ona_your_key_here \
--webpage-name "My App" \
--yes \
--skip-install \
--skip-gitSupported flags:
--api-key <key>--webpage-name <name>--yes--skip-install--skip-git
Missing API key flow
If you do not pass --api-key, the CLI prompts for one.
- Paste an existing key to continue immediately.
- Press Enter on the API key prompt and the CLI will open:
https://developer.onairos.uk/dashboard?tab=applications - Create your application, generate an API key, then paste it back into the CLI.
For non-interactive usage, pass the key up front:
npx create-onairos-app@latest my-app --api-key YOUR_KEY --webpage-name "My App"Generated app
The generated starter:
- uses Next.js App Router with TypeScript
- installs
[email protected] - writes
.env.localwithNEXT_PUBLIC_ONAIROS_API_KEY - initializes the Onairos SDK on the client
- renders an
OnairosButtonwithrequestData={['preferences', 'personality']} - shows the returned token, API URL, approved scopes, and API response
Local development
Run the CLI locally from this package:
node ./bin/create-onairos-app.jsOr pack it and test the published flow shape locally:
npm pack
npx ./create-onairos-app-0.1.0.tgz my-onairos-appTests
npm testSmoke test with a real dependency install:
npm run test:smokeThe smoke test hits the real npm registry and the real Onairos validation endpoint unless you override them in your environment.
