Skip to content

CLI reference

Generated from the nona command help output.

Regenerate this page with:

Terminal window
npm run generate:cli

The command help below omits repeated common options from individual option lists.

  • -?, -h, --help is accepted by every command and subcommand.
  • --verbose includes the full exception and stack trace when a command fails. Without it, stack traces are suppressed.
  • Commands that connect to the Nona API may also accept --api-url, --base-url <base-url> and --bearer-token, --token <bearer-token>.
  • Connection values can come from flags, NONA_CLI_* environment variables, saved defaults, or a matching nona auth login session.

HTTP/API failures are written to standard error as one human-readable line, including the HTTP status and the server’s error code when available:

Error: value is not a valid number (400, INVALID_VALUE)
Exit code HTTP/API failure
2 Validation or other client request error (400, 422, or another 4xx)
3 Authentication or authorization error (401 or 403)
4 Resource not found (404)
5 Conflict (409)
6 Server error (5xx)

Other command-specific failures may use different non-zero exit codes.

Administer Nona configuration through a command-line interface.

Usage

nona [command] [options]

Commands

  • users Invite users to Nona.
  • releases Manage immutable configuration releases. Management commands use exact major.minor.patch versions; major.minor.x is only a client-read selector.
  • projects List, create, and delete projects.
  • migrate Run migration commands.
  • keys List, create, and delete project API keys.
  • init Bootstrap a Nona instance from first container start to first flag read. Exit codes: 0 success; 1 unexpected/API error; 2 invalid args; 3 auth failed; 4 cannot reach base-url.
  • environments List, create, and delete project environments.
  • entries Read, write, and share config entries.
  • config Show or save default CLI values.
  • auth Sign in and manage saved sessions.

Options

--version Show version information

Invite users to Nona.

Usage

nona users [command] [options]

Commands

  • create Invite a user and print the invitation token.

Invite a user and print the invitation token.

Usage

nona users create [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--name <name> (REQUIRED) Full name of the new user.
--user-email <user-email> (REQUIRED) Email address of the new user.
--role <role> User role: admin or member.
--scope <scope> User scope: client, server, or all.

Manage immutable configuration releases. Management commands use exact major.minor.patch versions; major.minor.x is only a client-read selector.

Usage

nona releases [command] [options]

Commands

  • list List releases in an environment.
  • view <version> Show one exact release and its entries.
  • create <version> Snapshot the working configuration as a new release. Supply major.minor; the stored release starts at patch .0.
  • amend <source-version> Edit a client-side copy of an exact release and publish it as the next patch.
  • activate <version> Make an exact release active.
  • clear-active Clear the active release for an environment.
  • delete <version> Delete a non-active exact release.

List releases in an environment.

Usage

nona releases list [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Environment containing the release.
--json Write one JSON array to standard output.

Show one exact release and its entries.

Usage

nona releases view <version> [options]

Arguments

<version> Exact release version in major.minor.patch format.

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Environment containing the release.
--json Write one JSON object to standard output.

Snapshot the working configuration as a new release. Supply major.minor; the stored release starts at patch .0.

Usage

nona releases create <version> [options]

Arguments

<version> New release line in major.minor format; stored as major.minor.0.

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Environment containing the release.
--activate Make the new release active immediately.

Edit a client-side copy of an exact release and publish it as the next patch.

Usage

nona releases amend <source-version> [options]

Arguments

<source-version> Exact existing release version to amend.

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Environment containing the release.
--set <set> Set key=value in the copied entries. Repeat for multiple keys.
--delete <delete> Delete a key from the copied entries. Repeat for multiple keys.
--from-file <from-file> Replace the copied entries with a UTF-8 JSON entries array.

Make an exact release active.

Usage

nona releases activate <version> [options]

Arguments

<version> Exact release version in major.minor.patch format.

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Environment containing the release.

Clear the active release for an environment.

Usage

nona releases clear-active [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Environment containing the release.

Delete a non-active exact release.

Usage

nona releases delete <version> [options]

Arguments

<version> Exact release version in major.minor.patch format.

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Environment containing the release.

List, create, and delete projects.

Usage

nona projects [command] [options]

Commands

  • list List projects.
  • create Create a project.
  • delete Delete a project.

List projects.

Usage

nona projects list [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.

Create a project.

Usage

nona projects create [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--name <name> Project name. Letters, numbers, and hyphens only.

Delete a project.

Usage

nona projects delete [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.

Run migration commands.

Usage

nona migrate [command] [options]

Commands

  • firebase Import Firebase Remote Config into Nona.

Import Firebase Remote Config into Nona.

Usage

nona migrate firebase [options]

Options

--config <config> Migration config file path.
--dry-run Preview changes without applying them.
--api-url, --base-url <base-url> Nona base URL.
--project, --project-name <project-name> Nona project name.
--bearer-token, --token <bearer-token> Admin bearer token.
--email <email> Admin email used by the migrator when no token is supplied.
--password <password> Admin password used by the migrator when no token is supplied.

List, create, and delete project API keys.

Usage

nona keys [command] [options]

Commands

  • list, show List API keys for a project.
  • create Create an API key for a project.
  • delete Delete an API key.

List API keys for a project.

Usage

nona keys list [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--project, --project-name <project-name> Nona project name.
--bearer-token, --token <bearer-token> Admin bearer token.

Create an API key for a project.

Usage

nona keys create [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--project, --project-name <project-name> Nona project name.
--name <name> API key name.
--env, --environment <environment> Limit the key to one environment.
--scope <scope> Read scope for the key: client, server, or all.
--bearer-token, --token <bearer-token> Admin bearer token.

Delete an API key.

Usage

nona keys delete [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--project, --project-name <project-name> Nona project name.
--id <id> API key id to delete.
--bearer-token, --token <bearer-token> Admin bearer token.

Bootstrap a Nona instance from first container start to first flag read. Exit codes: 0 success; 1 unexpected/API error; 2 invalid args; 3 auth failed; 4 cannot reach base-url.

Usage

nona init [options]

Options

--api-url, --base-url <base-url> Nona base URL. Env: NONA_CLI_BASE_URL. Default: http://localhost:18080.
--email <email> Admin email. Env: NONA_INIT_EMAIL.
--password <password> Admin password. Env: NONA_INIT_PASSWORD. Use '-' to read one line from stdin.
--project, --project-name <project-name> Project name. Env: NONA_CLI_PROJECT_NAME. Letters, numbers, and hyphens only.
--env <env> Environment to create or reuse. Default: production.
--seed-flag <seed-flag> Starter flag as key=value. Default: Features:Example=true.
--no-seed-flag Skip starter flag creation.
--scope <scope> API key and entry scope: client, server, or all. Default: client.
--format <format> Output format: dotenv, json, or env-export. Default: dotenv.
--print-key Print the full API key. By default only the last four characters are shown.
--yes Non-interactive mode; never prompt.

List, create, and delete project environments.

Usage

nona environments [command] [options]

Commands

  • list List environments for a project.
  • create Create or reuse an environment.
  • delete Delete an environment.

List environments for a project.

Usage

nona environments list [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--project, --project-name <project-name> Nona project name.
--bearer-token, --token <bearer-token> Admin bearer token.

Create or reuse an environment.

Usage

nona environments create [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--project, --project-name <project-name> Nona project name.
--bearer-token, --token <bearer-token> Admin bearer token.
--name <name> (REQUIRED) Environment name. Letters, numbers, and hyphens only.

Delete an environment.

Usage

nona environments delete [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--project, --project-name <project-name> Nona project name.
--bearer-token, --token <bearer-token> Admin bearer token.
--name <name> (REQUIRED) Environment name. Letters, numbers, and hyphens only.

Read, write, and share config entries.

Usage

nona entries [command] [options]

Commands

  • list List entries in an environment.
  • get Show one config entry.
  • history Show version history for an entry.
  • set Create or update an entry.
  • rollback Restore a previous entry version.
  • delete Delete an entry.
  • share Create, list, and revoke entry share links.

List entries in an environment.

Usage

nona entries list [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.

Show one config entry.

Usage

nona entries get [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.

Show version history for an entry.

Usage

nona entries history [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.

Create or update an entry.

Usage

nona entries set [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.
--value <value> Value to store.
--scope <scope> Read scope: client, server, or all.
--content-type <content-type> Stored value type: json, text, number, or boolean.

Restore a previous entry version.

Usage

nona entries rollback [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.
--version <version> Entry version to restore.

Delete an entry.

Usage

nona entries delete [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.

Create, list, and revoke entry share links.

Usage

nona entries share [command] [options]

Commands

  • list List share links for an entry.
  • create Create a temporary share link.
  • revoke Revoke a share link.

List share links for an entry.

Usage

nona entries share list [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.

Create a temporary share link.

Usage

nona entries share create [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.
--expiration <expiration> Link lifetime: 1h, 1d, 3d, 30d, or 12m.
--view-only Create a view-only link.
--share-base-url <share-base-url> Browser base URL for the printed /share link. Defaults to the API base URL.

Revoke a share link.

Usage

nona entries share revoke [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--bearer-token, --token <bearer-token> Admin bearer token.
--project, --project-name <project-name> Nona project name.
--environment <environment> Nona environment name, for example production.
--key <key> Config entry key, for example Features:Checkout.
--id <id> Share link id to revoke.

Show or save default CLI values.

Usage

nona config [command] [options]

Commands

  • show Show saved default values.
  • set <setting> <value> Save a default base URL or project.

Show saved default values.

Usage

nona config show [options]

Save a default base URL or project.

Usage

nona config set <setting> <value> [options]

Arguments

<setting> Setting name: base-url or project.
<value> Value to save as the default.

Sign in and manage saved sessions.

Usage

nona auth [command] [options]

Commands

  • register Create the first admin account and save a session.
  • login Open a browser sign-in flow and save a session.
  • logout Delete the saved session.
  • whoami Show the saved session user.

Create the first admin account and save a session.

Usage

nona auth register [options]

Options

--api-url, --base-url <base-url> Nona base URL.
--email <email> Email address for the first admin.
--password <password> Password for the first admin.
--no-save-session Do not save the returned session token.

Open a browser sign-in flow and save a session.

Usage

nona auth login [options]

Options

--api-url, --base-url <base-url> Nona base URL.

Delete the saved session.

Usage

nona auth logout [options]

Show the saved session user.

Usage

nona auth whoami [options]