@prettifystudio/lyngo-cli

Localization for Laravel applications, from the terminal: Lyngo wraps user-facing text with your framework's i18n call, reuses your project's keys, translates and verifies the catalogs. Blade, Livewire, PHP, and Inertia with React, Vue or Svelte.
1,065
Install
npm install @prettifystudio/lyngo-cli
Latest Version:0.2.6
License:MIT
Last Updated:Oct 25, 2026
Links: GitHub  ·  npm
Maintainer: koossaayy

lyngo

Manual: https://docs.lyngo.app (every page also as Markdown; https://docs.lyngo.app/llms-full.txt for agents).

Localization for Laravel applications, from your terminal: Blade, Livewire, PHP, and Inertia with React, Vue or Svelte. Your agent builds the product; Lyngo keeps it localized.

When you or your agent add text a person reads, lyngo localize wraps it with your project's i18n calls, reuses the keys you already have, and translates the catalogs with your glossary, translation memory and plural rules, before you commit. The files come back to your working tree as one patch. A model never holds them.

Install

You need a Lyngo account (lyngo.app) and Node 20 or newer.

npm i -g @prettifystudio/lyngo-cli
lyngo login          # opens the browser once; the token goes to ~/.config/lyngo/token
cd your-repository
lyngo init           # project, i18n setup, languages, agent hook

lyngo init does this, in order:

  1. Shows the workspace it uses. --workspace <name> picks another one.
  2. Finds the Lyngo project for the repository's origin remote, or creates it when you own the workspace. When the Lyngo GitHub App cannot read the repository yet, it prints the GitHub link where you add it; in a terminal it waits until you have, in an agent or a script it stops, and the next run continues (--wait makes it wait anyway).
  3. Detects the framework and the i18n library.
  4. Sets the languages: --languages fr,de, or it asks.
  5. Applies the i18n setup as a patch to your working tree. It edits package.json but never runs npm install; it prints the command.
  6. When Claude Code is installed: registers the Lyngo MCP server for this repository in Claude Code's local scope (stored in your home folder, never in the repository), and adds one Stop hook to .claude/settings.local.json that runs lyngo localize --hook when your agent finishes a task.

Run it again at any time: it prints the state and changes nothing that is already set up.

Daily use

  • With an agent: build as usual. The hook runs lyngo localize --hook at the end of every task. You see one line (what was localized and translated); the agent gets the full report and tells you what changed. It stays silent when nothing changed, and sends a file again only after it is edited.
  • Without an agent: run lyngo localize before you commit.
  • A repository that was never localized: lyngo localize --all once. It walks every source file a scan would read, in batches, and leaves the result in your working tree to review and commit. No pull request.
  • Anything pushed without it still gets a pull request from the Lyngo GitHub App.

Commands

Command What it does
lyngo login Signs in through the browser and saves the token (mode 600)
lyngo logout Revokes the token and deletes it from this machine
lyngo whoami The account, the token prefix and your workspaces
lyngo init Connects the repository (see above). Flags: --languages, --workspace, --yes, --github
lyngo localize Localizes and translates what changed in the working tree. Flags: --all (the whole repository, in batches of 30), --languages, --no-translate, --dry, --hook (the Claude Code Stop hook)
lyngo check <file> The user-facing strings of one file
lyngo status The project as Lyngo knows it

Configuration: LYNGO_HOST (default https://lyngo.app), LYNGO_TOKEN (otherwise ~/.config/lyngo/token). Revoke tokens in Lyngo under Settings, CLI.

The Claude Code plugin (optional)

This repository is also a Claude Code plugin. It adds the commands /lyngo:init, /lyngo:localize, /lyngo:status and /lyngo:login, and the lyngo-i18n skill, which makes the agent check existing keys before it writes new text. It needs the lyngo command from npm; lyngo init prints these two lines when the plugin is not installed yet.

claude plugin marketplace add prettifystudio/lyngo-claude-plugin
claude plugin install lyngo@lyngo

Other MCP clients

Server https://lyngo.app/mcp, headers Authorization: Bearer <token> and X-Lyngo-Remote: <the repository's git remote URL>. Tools: status, lookup, check.

Related Packages

@mylukin/easy-i18n-js

Framework-agnostic i18n extraction tool with plugin support for Svelte, Vue, and...

5,836 0
@the-i18n-kit/cli

Find missing translations, remove dead keys, rename across all locales at once —...

28,459 11
@elyracode/i18n-tools

Elyra extension for localization -- find hardcoded strings, extract translations...

15,112
i18n-sentry

i18n quality checker for Vue, React, Angular and Svelte projects

527
@inlang/cli

title: inlang CLI - Localization Automation for CI/CD description: Automate tran...

2,350,321 2,006

Version History

Version Released License
0.2.6 MIT
0.2.5 MIT
0.2.4 MIT
0.2.3 MIT
0.2.2 MIT
Pre-releases (1)
Version Released License
0.0.0-stage