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

nt3

v0.2.6

Published

CLI for the nt3 localization management platform

Downloads

1,407

Readme

nt3

CLI for the Entri localization management platform. Sync translation files between your codebase and Entri.

Installation

npm install -g nt3
# or use without installing
npx nt3 <command>

Requires Node.js 18+.

Quick Start

# 1. Authenticate
nt3 login

# 2. Initialize project config
nt3 init

# 3. Push source strings
nt3 push

# 4. Translate untranslated keys with AI
nt3 translate --all

# 5. Pull translations
nt3 pull

Commands

nt3 login

Authenticate with your Entri API token. Tokens are stored in ~/.nt3/config.json.

nt3 login                      # Interactive prompt
nt3 login -t entri_abc123...   # Non-interactive (CI/CD)
nt3 login -u https://custom.api.url  # Custom API URL

nt3 logout

Remove stored authentication.

nt3 logout

nt3 init

Create a .nt3.yml configuration file in the current directory.

nt3 init                                    # Interactive prompt
nt3 init -p proj_abc123 -f po --path "locales/{lang}/messages.po"  # Non-interactive

| Flag | Description | Default | |------|-------------|---------| | -p, --project-id <id> | Project ID from Entri | (prompted) | | -s, --source-language <lang> | Source language code | en | | --path <pattern> | File pattern with {lang} placeholder | src/locales/{lang}.json | | -f, --format <format> | File format (see below) | json-nested | | --force | Overwrite existing config | false |

nt3 push

Upload source translation files to Entri.

nt3 push               # Push source files
nt3 push --overwrite   # Overwrite existing translations
nt3 push --json        # JSON output for CI/CD

| Flag | Description | |------|-------------| | -o, --overwrite | Overwrite existing translations (default: skip) | | --json | Output results as JSON |

nt3 pull

Download translations from Entri to local files.

nt3 pull               # Pull all target languages
nt3 pull -l fr         # Pull French only
nt3 pull --json        # JSON output for CI/CD

| Flag | Description | |------|-------------| | -l, --language <lang> | Pull a specific language only | | --json | Output results as JSON |

nt3 translate (alias: tr)

Translate untranslated keys using AI. Processes keys in batches with real-time progress streaming.

nt3 translate fr            # Translate to French
nt3 translate -l nl         # Translate to Dutch (flag form)
nt3 translate --all         # Translate all target languages
nt3 translate --all --provider anthropic  # Use a specific AI provider
nt3 translate --all --json  # JSON output for CI/CD

| Flag | Description | |------|-------------| | -a, --all | Translate all target languages | | -l, --language <lang> | Target language code | | --provider <provider> | AI provider override (anthropic or openai) | | --json | Output results as JSON |

The command uses your project's AI settings (tone, style, additional context) configured in Entri. Already-translated keys are skipped. Press Ctrl+C to gracefully cancel an in-progress translation.

nt3 status

Show current authentication and project configuration.

nt3 status

Configuration

The CLI uses a .nt3.yml file in your project root:

project_id: "proj_abc123"
source_language: en
file_patterns:
  - path: "src/locales/{lang}.json"
    format: json-nested

The {lang} placeholder is replaced with the language code (e.g., en, fr, nl).

Supported Formats

| Format | Extension | Description | |--------|-----------|-------------| | json-flat | .json | Flat key-value JSON | | json-nested | .json | Nested JSON objects | | yaml | .yaml | YAML key-value | | po | .po | GNU gettext PO | | xliff | .xlf | XLIFF 1.2 | | xliff2 | .xlf | XLIFF 2.0 | | arb | .arb | Application Resource Bundle (Flutter) | | android-xml | .xml | Android string resources | | ios-strings | .strings | iOS Localizable.strings | | ios-stringsdict | .stringsdict | iOS Stringsdict (plurals) |

CI/CD

Use the --json flag and non-interactive authentication for CI pipelines:

nt3 login -t $NT3_TOKEN
nt3 push --json
nt3 pull --json

License

Proprietary