npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@prettifystudio/lyngo-cli

v0.2.6

Published

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.

Readme

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.