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

@vogonapp/cli

v0.1.0

Published

CLI for Vogon translation management

Downloads

107

Readme

@vogonapp/cli

Command-line interface for Vogon translation management. Sync your FormatJS/react-intl messages with Vogon for translation, review, and collaboration.

Installation

npm install -g @vogonapp/cli

Or with other package managers:

pnpm add -g @vogonapp/cli
yarn global add @vogonapp/cli

Quick Start

  1. Initialize your project:

    vogon init

    This opens a browser for authentication and creates vogon.config.json.

  2. Configure message paths:

    Edit vogon.config.json to point to your message files, or run:

    vogon configure
  3. Push messages to Vogon:

    vogon push
  4. Pull translations:

    vogon pull

Commands

| Command | Description | |---------|-------------| | vogon init | Initialize project and authenticate | | vogon login | Re-authenticate with Vogon | | vogon configure | Scan for message files and update config | | vogon push | Upload source messages to Vogon | | vogon pull | Download translations from Vogon | | vogon import <locale> <file> | Import translations from a JSON file | | vogon status | Show translation status |

Command Options

vogon init

  • -u, --api-url <url> - Vogon API URL (default: https://vogon.app)
  • -k, --key <key> - API key (for CI/CD environments)
  • -l, --login - Skip prompts and open browser directly

vogon push

  • -b, --branch <name> - Push to a specific branch
  • -t, --auto-translate - Auto-translate new messages with DeepL

vogon pull

  • -l, --locale <code> - Pull only a specific locale
  • -b, --branch <name> - Pull from a specific branch

vogon import

  • -b, --branch <name> - Import to a specific branch

vogon status

  • -b, --branch <name> - Show status for a specific branch

Configuration

The CLI uses vogon.config.json in your project root:

{
  "projectId": "your-project-id",
  "apiUrl": "https://vogon.app",
  "packages": [
    {
      "name": "main",
      "messagesPath": "./src/lang/en.json",
      "outputPath": "./src/lang/{locale}.json"
    }
  ]
}

Configuration Options

  • projectId - Your Vogon project ID (set automatically during init)
  • apiUrl - Vogon API URL (default: https://vogon.app)
  • packages - Array of message package configurations:
    • name - Package identifier
    • messagesPath - Path to source messages (FormatJS JSON format)
    • outputPath - Output path template for translations. Use {locale} as placeholder.

Multiple Packages

For monorepos or projects with multiple message files:

{
  "projectId": "your-project-id",
  "apiUrl": "https://vogon.app",
  "packages": [
    {
      "name": "web",
      "messagesPath": "./apps/web/src/messages/en.json",
      "outputPath": "./apps/web/src/messages/{locale}.json"
    },
    {
      "name": "mobile",
      "messagesPath": "./apps/mobile/src/lang/en.json",
      "outputPath": "./apps/mobile/src/lang/{locale}.json"
    }
  ]
}

Authentication

Browser Login (Recommended)

Run vogon init or vogon login to authenticate via browser. Credentials are stored in ~/.vogon/credentials.json.

Environment Variable

For CI/CD pipelines, set the VOGON_API_KEY environment variable:

export VOGON_API_KEY=your-api-key
vogon push

Generate API keys in your project settings at https://vogon.app/dashboard.

API Key via Flag

vogon init --key your-api-key

Branch Workflow

Vogon supports branch-based workflows for managing translation changes:

# Push to a feature branch
vogon push --branch feature/new-onboarding

# Pull from the branch
vogon pull --branch feature/new-onboarding

# Check status
vogon status --branch feature/new-onboarding

Message Format

The CLI works with FormatJS/react-intl JSON message format:

{
  "greeting": {
    "defaultMessage": "Hello, {name}!",
    "description": "Greeting shown to users"
  },
  "items.count": {
    "defaultMessage": "{count, plural, one {# item} other {# items}}",
    "description": "Item count label"
  }
}

Requirements

  • Node.js 18 or later

License

MIT