Zum Inhalt
Verbumia

CLI

v0.2.1 · npm · MIT

@verbumia/cli

Eine kleine, scriptbare CLI für alles, was du sonst im Dashboard anklicken würdest: Projekt bootstrappen, Übersetzungen pushen und pullen, CI auf Remote-Drift gaten, einen Blick in die Missing-Key-Queue werfen. MIT-lizenziert, verteilt über npm und 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.

Installieren

Erfordert Node 20 LTS oder neuer. Zwei Binaries werden installiert: verbumia und der kürzere Alias vrb — austauschbar.

terminal
1# einmal global installieren — bin "verbumia" plus kürzerer Alias "vrb"2npm i -g @verbumia/cli 4# oder ohne Installation nutzen5npx @verbumia/cli <command>

Anmelden

Hol dir einen API-Key aus Org Settings → API Keys → Create im Dashboard (das Secret wird einmal angezeigt; kopiere den vollständigen vrb_live_<prefix>.<secret>). Nutze Scope project:read für status / pull / missing / projects, project:write für 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.

Projekt konfigurieren

Führe verbumia init in deinem Repo aus, um verbumia.config.json im Root zu scaffolden, oder schreib es von Hand. Die CLI erkennt auch verbumia.config.{ts,js,toml,yml} automatisch, falls du eines dieser Formate bevorzugst.

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.

Befehle

Jeder Befehl akzeptiert --config <path>, um auf eine Nicht-Default-Config-Datei zu zeigen, --token <vrb_live_…>, um die aufgelöste Auth zu überschreiben, und --json, um maschinenlesbare Ausgabe zu erzeugen.

Auth & setup

verbumia login Interaktiver API-Key-Prompt. Die CLI validiert den Key via GET /v1/auth/me und schreibt ihn dann mit Mode 600 nach ~/.verbumia/credentials.

Flags

  • --host <url> API host to authenticate against.
  • --token <key> Key inline übergeben (überspringt den Prompt; nützlich für Scripts)

Beispiel

verbumia login --host https://api.verbumia.dev
verbumia logout Löscht ~/.verbumia/credentials. Widerruft den Key serverseitig nicht — dafür das Dashboard nutzen.

Flags

Keine befehlsspezifischen Flags. Nutze die oben beschriebenen globalen Flags.

Beispiel

verbumia logout
verbumia whoami Gibt Org, Projekt-Bindung und gewährte Scopes des aktiven Keys aus. Schneller Weg, „falscher Account"-Überraschungen zu debuggen.

Flags

Keine befehlsspezifischen Flags. Nutze die oben beschriebenen globalen Flags.

Beispiel

verbumia whoami
verbumia init Scaffoldet verbumia.config.json im aktuellen Verzeichnis und führt dich durch project_uuid, Quellsprache und Format.

Flags

  • --project <uuid> project_uuid vorausfüllen
  • --version <slug> Version slug to target (defaults to main).
  • --force Overwrite an existing config file.

Beispiel

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

Inspect

verbumia projects list Listet die Projekte auf, auf die der aktive Key zugreifen kann.

Flags

Keine befehlsspezifischen Flags. Nutze die oben beschriebenen globalen Flags.

Beispiel

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

Flags

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

Beispiel

verbumia keys list --namespace common
verbumia status Read-only Diff zwischen lokalen Dateien und dem Remote-Projekt — added / removed / changed pro Locale und Namespace. Keine Schreibvorgänge.

Flags

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

Beispiel

verbumia status
verbumia missing Listet ausstehende Missing-Key-Events auf, die vom Runtime-SDK erfasst wurden. Read-only — praktisch zum Triagieren aus dem Terminal, ohne das Dashboard zu öffnen.

Flags

  • --language <code> Filter by language.
  • --namespace <slug> Filter by namespace.
  • --limit <n> max. Zeilen (Default 20)

Beispiel

verbumia missing --limit 50

Import & sync

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

Flags

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

Beispiel

verbumia import locales/fr/common.json
verbumia push Lädt lokale i18n-Dateien zu Verbumia hoch: legt neue Keys an, aktualisiert geänderte Werte und entscheidet gemäß On-Missing-Key-Policy, wenn ein Key referenziert, aber nicht vorhanden ist.

Flags

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

Beispiel

verbumia push --dry-run
verbumia pull Lädt Remote-Übersetzungen ins konfigurierte pull.dest_dir — atomar pro Datei. Doubelt auch als „Export"-Pfad: --format zum Konvertieren beim Rausgehen übergeben.

Flags

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

Beispiel

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

Flags

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

Beispiel

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

Flags

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

Beispiel

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

Flags

  • --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).

Beispiel

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

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

Bekannte kommende Breaking Changes

Aus Transparenzgründen festgepinnt. Jede Änderung kommt in einem Minor-Release mit einem One-Release-Deprecation-Window — bleib auf der neuesten @verbumia/cli und du siehst die Warnung vor dem Bruch.

Weiter