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

@harmonixjs/cli

v2.0.1

Published

CLI for Harmonix Discord framework

Readme

@harmonixjs/cli

Project and production tooling for HarmonixJS v2.

Installation

npm install --global @harmonixjs/cli

The CLI also works through npx:

npx @harmonixjs/cli init my-bot

Create a project

Interactive:

harmonix init

Non-interactive:

harmonix init my-bot \
  --template basic \
  --package-manager npm \
  --plugins quick-db,i18n,shard \
  --docker \
  --compose

Generated projects contain a harmonix.config.json. This file is used only by the CLI; the runtime bot configuration remains in src/index.ts.

Generate application artifacts

harmonix create command ban --subtype slash
harmonix create command "View profile" --subtype user
harmonix create event GuildLogger --event guildCreate
harmonix create component ConfirmDelete --subtype button

Running harmonix create without arguments opens the interactive generator.

Supported command types:

  • slash
  • prefix
  • both
  • user
  • message

Supported components:

  • button
  • string-select
  • user-select
  • role-select
  • channel-select
  • mentionable-select
  • modal

Manage plugins

harmonix add quick-db
harmonix add express
harmonix add i18n
harmonix add shard
harmonix plugins
harmonix plugins --available
harmonix remove i18n

Official aliases and package names are both accepted:

harmonix add @harmonixjs/i18n

Constructor options can be overridden during installation:

harmonix add express --options '{"port":4000,"controllersPath":"./src/http"}'

Third-party plugins can be added when their exported class and registry name are known:

harmonix add @scope/harmonix-plugin \
  --export-name CustomPlugin \
  --plugin-name custom

The CLI maintains src/harmonix.plugins.ts, dependencies, plugin assets and the shard launcher. It can also adopt older projects that do not yet contain a harmonix.config.json.

Development and production

harmonix dev
harmonix build
harmonix start --build
harmonix doctor --build

When @harmonixjs/shard is configured, harmonix start automatically uses the sharded entrypoint. Use harmonix dev --sharded to build and launch the shard manager during development.

Docker

harmonix docker
harmonix docker --compose

Generated files:

  • multi-stage Dockerfile
  • .dockerignore
  • optional docker-compose.yml
  • persistent /app/data volume
  • port 3000 when the Express plugin is configured
  • automatic sharded or non-sharded startup

The Docker image runs as the non-root node user and installs production dependencies from the selected package manager's lockfile.

Commands

harmonix init [name]
harmonix create [type] [name]
harmonix add [plugin]
harmonix remove <plugin>
harmonix plugins
harmonix docker
harmonix dev
harmonix build
harmonix start
harmonix doctor