lingva 0.1.2

Standalone Lingva localization CLI
lingva-0.1.2 is not a library.

Lingva CLI engine

The crates.io package is named lingva. This crate is the single implementation of Lingva's customer CLI. It builds the standalone lingva executable used by direct downloads, Homebrew, npm, and PyPI. Language packages may locate and launch this binary, but must not reimplement CLI behavior.

Owned commands:

  • lingva auth login|use-key|status|logout
  • lingva init
  • lingva update
  • lingva sync|check
  • lingva pull|push

Install the published crate (requires Rust):

cargo install lingva

For customers without a Rust toolchain, use the checksummed GitHub installer, Homebrew package, npm adapter, or PyPI adapter. Every route launches this same binary.

Behavioral guarantees

  • init defaults to authenticated remote mode; account-free setup requires --mode local --no-auth explicitly.
  • sync is local-only and preserves translated strings. Variant IDs and metadata align to the default locale while translated variant text survives.
  • check never writes and exits non-zero for structural drift or invalid translation leaves/keys.
  • pull completes all selected three-way merges before writing, preventing partial updates on conflict.
  • push uses the last common revision and a semantic SHA-256 mutation ID; --force deliberately removes the optimistic guard.
  • explicit command tokens override environment, config, and stored credentials.
  • text output is for people; --format json is the automation contract.

The TypeScript CLI remains available during the compatibility window only for operator and artifact-generation commands outside this customer surface. Migrated customer commands never fall back to TypeScript or Python.