Hoppa till innehåll
Verbumia

CLI

v0.2.1 · npm · MIT

@verbumia/cli

En liten, scriptbar CLI för allt du annars skulle klicka dig genom i dashboarden: bootstrappa ett projekt, pusha och pulla översättningar, gate:a CI på remote-drift, kika i missing-key-kön. MIT-licensierad, distribuerad via npm och 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.

Installera

Kräver Node 20 LTS eller nyare. Två binärer installeras: verbumia och det kortare aliaset vrb — utbytbara.

terminal
1# installera en gång globalt — bin "verbumia" plus kortare alias "vrb"2npm i -g @verbumia/cli 4# eller använd utan installation5npx @verbumia/cli <command>

Autentisera

Hämta en API-nyckel från Org Settings → API Keys → Create i dashboarden (hemligheten visas en gång; kopiera hela vrb_live_<prefix>.<secret>). Använd 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.

Konfigurera projektet

Kör verbumia init i repot för att scaffolda verbumia.config.json i roten, eller skriv den för hand. CLI:n upptäcker även verbumia.config.{ts,js,toml,yml} automatiskt om du föredrar något av de formaten.

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.

Kommandon

Varje kommando tar --config <path> för att peka på en icke-default config-fil, --token <vrb_live_…> för att överskrida den upplösta auth, och --json för maskinläsbar output.

Auth & setup

verbumia login Interaktiv API-nyckelprompt. CLI:n validerar nyckeln via GET /v1/auth/me, skriver sedan den till ~/.verbumia/credentials med mode 600.

Flaggor

  • --host <url> API host to authenticate against.
  • --token <key> skicka nyckeln inline (hoppar över prompten; bra för skript)

Exempel

verbumia login --host https://api.verbumia.dev
verbumia logout Raderar ~/.verbumia/credentials. Återkallar inte nyckeln serversidan — använd dashboarden för det.

Flaggor

Inga kommandospecifika flaggor. Använd de globala flaggorna ovan.

Exempel

verbumia logout
verbumia whoami Skriver ut den aktiva nyckelns org, projektbindning och beviljade scopes. Snabbt sätt att debugga "fel konto"-överraskningar.

Flaggor

Inga kommandospecifika flaggor. Använd de globala flaggorna ovan.

Exempel

verbumia whoami
verbumia init Scaffoldar verbumia.config.json i nuvarande katalog genom att gå igenom project_uuid, källspråk och format.

Flaggor

  • --project <uuid> förifyll project_uuid
  • --version <slug> Version slug to target (defaults to main).
  • --force Overwrite an existing config file.

Exempel

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

Inspect

verbumia projects list Listar projekten som den aktiva nyckeln kan komma åt.

Flaggor

Inga kommandospecifika flaggor. Använd de globala flaggorna ovan.

Exempel

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

Flaggor

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

Exempel

verbumia keys list --namespace common
verbumia status Read-only diff mellan lokala filer och fjärrprojektet — added / removed / changed per locale och namespace. Inga skrivningar.

Flaggor

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

Exempel

verbumia status
verbumia missing Listar pending missing-key-events fångade av runtime-SDK:n. Read-only — användbart för triage från terminalen utan att öppna dashboarden.

Flaggor

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

Exempel

verbumia missing --limit 50

Import & sync

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

Flaggor

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

Exempel

verbumia import locales/fr/common.json
verbumia push Laddar upp lokala i18n-filer till Verbumia: skapar nya nycklar, uppdaterar ändrade värden och avgör enligt on-missing-key-policyn när en nyckel refereras men saknas.

Flaggor

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

Exempel

verbumia push --dry-run
verbumia pull Laddar ner fjärröversättningar till den konfigurerade pull.dest_dir — atomärt per fil. Fungerar också som din "export"-väg: skicka --format för att konvertera på vägen ut.

Flaggor

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

Exempel

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

Flaggor

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

Exempel

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

Flaggor

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

Exempel

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

Flaggor

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

Exempel

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

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

Kända kommande breaking changes

Pinnade för transparens. Varje landar i en minor release med ett one-release deprecation-fönster — kör på senaste @verbumia/cli så ser du varningen innan brytet.

Nästa