Hopp til innhold
Verbumia

CLI

v0.2.1 · npm · MIT

@verbumia/cli

En liten, scriptbar CLI for alt du ellers ville klikket gjennom dashbordet: bootstrap et prosjekt, push og pull oversettelser, gate CI på remote-drift, kikk på missing-key-køen. MIT-lisensiert, distribuert via npm og Homebrew.

Breaking · 0.1 → 0.2

The whole CLI now runs on the MCP surface, so it needs an API key with the mcp:* scope — project-scoped keys return 403. Generate one in the dashboard under Org Settings → API Keys and re-issue any key you used with 0.1.

Installer

Krever Node 20 LTS eller nyere. To binærer installeres: verbumia og det kortere aliaset vrb — utbyttbare.

terminal
1# installer én gang globalt — bin "verbumia" pluss kortere alias "vrb"2npm i -g @verbumia/cli 4# eller bruk uten installasjon5npx @verbumia/cli <command>

Autentiser

Hent en API-nøkkel fra Org Settings → API Keys → Create i dashbordet (hemmeligheten vises én gang; kopier hele vrb_live_<prefix>.<secret>). Bruk scope project:read for status / pull / missing / projects, project:write for push.

terminal
1# interactive — stores the key per host in ~/.verbumia/credentials (0600)2verbumia login --host https://api.verbumia.dev3API key: vrb_live_••••••••.••••••••••••••••4✓ saved for https://api.verbumia.dev 6# CI — no prompt, key read from the environment7export VERBUMIA_TOKEN=vrb_live_<prefix>.<secret>8verbumia push

Resolution order, first wins: the VERBUMIA_TOKEN environment variable, then ~/.verbumia/credentials for the active host. Mint the key under Org Settings → API Keys with the mcp:* scope.

Konfigurer prosjektet

Kjør verbumia init i repoet for å scaffolde verbumia.config.json i roten, eller skriv den for hånd. CLI-en oppdager også verbumia.config.{ts,js,toml,yml} automatisk hvis du foretrekker ett av de formatene.

verbumia.config.json
1# committed to your repo — no secrets here2{3  "host": "https://api.verbumia.dev",4  "project_uuid": "<project_uuid>",5  "version_slug": "main"6}
~/.verbumia/credentials
1# ~/.verbumia/credentials — mode 0600, per user, never commit2{ "default": "https://api.verbumia.dev",3  "hosts": {4    "https://api.verbumia.dev": { "api_key": "vrb_live_..." }5  } }

version_slug defaults to main. Keep the API key out of verbumia.config.json — it belongs in the credentials file or VERBUMIA_TOKEN only.

Kommandoer

Hver kommando tar --config <path> for å peke på en ikke-default config-fil, --token <vrb_live_…> for å overstyre den oppløste auth, og --json for maskinlesbar output.

Auth & setup

verbumia login Interaktiv API-nøkkelprompt. CLI-en validerer nøkkelen via GET /v1/auth/me, så skriver den til ~/.verbumia/credentials med mode 600.

Flagg

  • --host <url> API host to authenticate against.
  • --token <key> send nøkkelen inline (hopper over prompten; nyttig for skript)

Eksempel

verbumia login --host https://api.verbumia.dev
verbumia logout Sletter ~/.verbumia/credentials. Tilbakekaller ikke nøkkelen serversiden — bruk dashbordet for det.

Flagg

Ingen kommandospesifikke flagg. Bruk de globale flaggene over.

Eksempel

verbumia logout
verbumia whoami Skriver ut den aktive nøkkelens org, prosjektbinding og innvilgede scopes. Rask måte å debugge "feil konto"-overraskelser.

Flagg

Ingen kommandospesifikke flagg. Bruk de globale flaggene over.

Eksempel

verbumia whoami
verbumia init Scaffolder verbumia.config.json i gjeldende katalog ved å føre deg gjennom project_uuid, kildespråk og format.

Flagg

  • --project <uuid> forhåndsfyll project_uuid
  • --version <slug> Version slug to target (defaults to main).
  • --force Overwrite an existing config file.

Eksempel

verbumia init --project <uuid> --version main

Inspect

verbumia projects list Lister opp prosjektene den aktive nøkkelen har tilgang til.

Flagg

Ingen kommandospesifikke flagg. Bruk de globale flaggene over.

Eksempel

verbumia projects list
verbumia keys list List keys as namespace_slug/key_name.

Flagg

  • --namespace <slug> Restrict to one namespace.

Eksempel

verbumia keys list --namespace common
verbumia status Read-only diff mellom lokale filer og remote-prosjektet — added / removed / changed per locale og namespace. Ingen skrivinger.

Flagg

  • --language <code> Limit the diff to one language.
  • --namespace <slug> Limit the diff to one namespace.
  • --src <dir> Source directory (defaults to locales).

Eksempel

verbumia status
verbumia missing Lister pending missing-key-events fanget av runtime-SDK-en. Read-only — nyttig for triage fra terminalen uten å åpne dashbordet.

Flagg

  • --language <code> Filter by language.
  • --namespace <slug> Filter by namespace.
  • --limit <n> maks rader (default 20)

Eksempel

verbumia missing --limit 50

Import & sync

verbumia import <files...> One-shot i18next import — nested or flat; creates keys, upserts translations, idempotent.

Flagg

  • --dry-run Preview only; sends nothing.
  • --status <draft|translated> Incoming status (default translated).
  • --language <code> Force the language instead of inferring it from the path.
  • --namespace <slug> Force the namespace (required for a bare <lang>.json).
  • --version <slug> Target a non-default version.

Eksempel

verbumia import locales/fr/common.json
verbumia push Laster opp lokale i18n-filer til Verbumia: oppretter nye nøkler, oppdaterer endrede verdier og bestemmer ifølge on-missing-key-policyen når en nøkkel refereres men mangler.

Flagg

  • --src <dir> Source directory (defaults to locales).
  • --dry-run Preview only; sends nothing.
  • --status <state> Incoming status (default translated).

Eksempel

verbumia push --dry-run
verbumia pull Laster ned remote-oversettelser til konfigurert pull.dest_dir — atomært per fil. Fungerer også som "export"-sti: send --format for å konvertere på vei ut.

Flagg

  • --language <code> Limit to one language.
  • --namespace <slug> Limit to one namespace.
  • --dest <dir> Destination directory (defaults to locales).

Eksempel

verbumia pull --language fr
verbumia export Export as i18next JSON — flat by default, --nested for trees.

Flagg

  • --nested Emit nested trees instead of flat keys.
  • --out <dir> Write files to a directory instead of stdout.

Eksempel

verbumia export --nested --out ./dump
verbumia releases publish Trigger a CDN release; subscribed SDKs refresh live.

Flagg

  • --version <slug> Version to publish (defaults to main).
  • --dry-run Preview only; publishes nothing.

Eksempel

verbumia releases publish
verbumia snapshot Fetch the public CDN bundles into a build-time module for offline-first SDK fallback.

Flagg

  • --format <ts|json> Output format: ts (default) or json.
  • --out <file> Write to a file instead of stdout.
  • --cdn <base> CDN base (defaults to https://cdn.verbumia.ca).

Eksempel

verbumia snapshot --out src/verbumia-bundles.ts

Every command also accepts --host <url> to override the configured API host for a single run.

Kjente kommende breaking changes

Pinnet for transparens. Hver lander i en minor release med et one-release deprecation-vindu — kjør på siste @verbumia/cli, så ser du advarselen før bruddet.

Neste