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

@aelith-dev/i18nflow-cli

v0.2.0

Published

> AI-powered locale management for JSON-based i18n projects.

Readme

i18nflow-cli

AI-powered locale management for JSON-based i18n projects.

npm version License: MIT


✨ What this CLI does

i18nflow helps you create and maintain translation files from a single source JSON file.

It can:

  • initialize a locale project from a base language
  • generate new locale files like es.json, fr.json, or pt.json
  • detect missing keys against the source locale
  • translate only the missing values and merge them into the target locale
  • compare a locale with the base file
  • list and validate project health before publishing

🚀 Installation

Global install

npm install -g @aelith-dev/i18nflow-cli

Local project usage

npx @aelith-dev/i18nflow-cli --help

🔑 Environment setup

Create a .env file in your project root or export the key in your shell:

GEMINI_API_KEY=your_gemini_key
# or
GROQ_API_KEY=your_groq_key

You only need one provider to work with the CLI.


🧩 Recommended project structure

my-app/
├── locales/
│   ├── en.json
│   ├── es.json
│   └── fr.json
├── i18nflow.config.json
├── .env
└── src/

Example base file:

{
  "header": {
    "title": "Welcome",
    "cta": "Get started"
  },
  "profile": {
    "logout": "Log out"
  }
}

🛠️ Command overview

i18nflow init

Creates a locale configuration and a source locale file.

i18nflow init

You can also pass values directly:

i18nflow init --source en --dir ./locales --targets es fr de

This creates:

  • locales/en.json
  • i18nflow.config.json

i18nflow add <locale>

Generates a new locale JSON file using the source file as the base.

i18nflow add es

This creates locales/es.json and translates all values from the source locale.

i18nflow sync [locale]

Syncs missing keys across a target locale or all configured locales.

i18nflow sync
# or
i18nflow sync fr

i18nflow diff <locale>

Shows missing or different keys between the source file and a target locale.

i18nflow diff es

i18nflow list

Lists configured locales and available JSON files.

i18nflow list

i18nflow status

Shows the sync health of each target locale.

i18nflow status

i18nflow doctor

Checks for missing files and missing API keys.

i18nflow doctor

i18nflow remove <locale>

Removes a target locale file and deletes it from config.

i18nflow remove fr

📄 Configuration file

The CLI stores configuration as JSON by default:

{
  "source": "en",
  "localesDir": "./locales",
  "targets": ["es", "fr", "de"]
}

This file is saved as i18nflow.config.json in your project root.


🔄 Typical workflow

# 1. initialize the project
npx i18nflow init --source en --dir ./locales --targets es fr

# 2. edit the base locale file
# locales/en.json

# 3. generate a new locale
npx i18nflow add es

# 4. sync missing keys after content changes
npx i18nflow sync

# 5. check differences
npx i18nflow diff es

🛡️ License

MIT © Darieth Jasso


Part of the Aelith Studio ecosystem.