lingva 0.1.2

Standalone Lingva localization CLI
# 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):

```bash
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.