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

nova-commandkit

v1.0.2

Published

Beginner friendly command & event handler for Discord.js — a Node.js 24+ compatible fork of CommandKit.

Readme

Nova CommandKit

Beginner friendly command & event handler for Discord.js — Node.js 24+ ready.

node license npm

What is this? Nova CommandKit is a Node.js 24+ compatible fork of CommandKit by Under Ctrl. The original library targeted Node.js 20 and broke on newer runtimes because it used the removed assert import option. Nova CommandKit modernizes the toolchain and fixes those incompatibilities so it runs cleanly on Node.js 22, 24, and beyond. All credit for the original design goes to the CommandKit authors — this fork is published under the same MIT license.

Features

  • Beginner friendly 🚀
  • Slash + context menu commands support ✅
  • Multiple dev guilds, users, & roles support 🤝
  • Automatic command updates 🤖
  • REST registration behaviour 📍
  • Easy command line interface 🖥️
  • Node.js 24+ support 🟢 (import attributes, stabilized watch mode, modern toolchain)

Requirements

Installation

This package is published to the public npm registry — anyone can install it with no authentication or special setup.

npm install nova-commandkit discord.js

Yarn:

yarn add nova-commandkit discord.js

pnpm:

pnpm add nova-commandkit discord.js

Install development version

npm install nova-commandkit@dev

⚠️ The development version is likely to have bugs.

Alternative: install from source

npm install github:tombabu472-star/nova-commandkit

Usage

This is a simple overview of how to set up this library with all the options.

// index.js
const { Client, GatewayIntentBits } = require('discord.js');
const { CommandKit } = require('nova-commandkit');
const path = require('path');

const client = new Client({
    intents: [
        GatewayIntentBits.Guilds,
        GatewayIntentBits.GuildMessages,
        GatewayIntentBits.MessageContent,
    ],
});

new CommandKit({
    // Your discord.js client object
    client,

    // Path to the commands folder
    commandsPath: path.join(__dirname, 'commands'),

    // Path to the events folder
    eventsPath: path.join(__dirname, 'events'),

    // Path to the validations folder (only valid if "commandsPath" was provided)
    validationsPath: path.join(__dirname, 'validations'),

    // Array of development server IDs (used to register and run devOnly commands)
    devGuildIds: ['1234567890', '0987654321'],

    // Array of developer user IDs (used for devOnly commands)
    devUserIds: ['1234567890', '0987654321'],

    // Array of developer role IDs (used for devOnly commands)
    devRoleIds: ['1234567890', '0987654321'],

    // Disable CommandKit's built-in validations
    skipBuiltInValidations: true,

    // Update command registration/reload behaviour to register all commands at once
    bulkRegister: true,
});

client.login('YOUR_TOKEN_HERE');

Using the NovaCommandKit alias

NovaCommandKit is the primary class name for this fork. CommandKit is kept as a backward-compatible alias, so both of these work:

const { CommandKit } = require('nova-commandkit');
const { NovaCommandKit } = require('nova-commandkit');

Command Line Interface

Nova CommandKit ships with a CLI for development, building, and production:

# Start your bot in development mode (with watch + hot reload)
nova-commandkit dev

# Build your project for production
nova-commandkit build

# Start your bot in production mode (after building)
nova-commandkit start

A short nova alias is also installed alongside nova-commandkit.

Configuration

Create a commandkit.json (or commandkit.js / .mjs / .cjs) file in your project root:

{
    "src": "src",
    "main": "index.mjs",
    "watch": true,
    "outDir": "dist",
    "minify": false,
    "sourcemap": false,
    "antiCrash": true,
    "requirePolyfill": true,
    "envExtra": true,
    "clearRestartLogs": true,
    "nodeOptions": []
}

What changed vs. the original CommandKit?

This fork focuses on Node.js 24+ compatibility. Key changes:

| Area | Original (CommandKit 0.1.10) | Nova CommandKit | | --- | --- | --- | | Config loading | import(path, { assert: { type: 'json' } }) ❌ removed in Node 22+ | import(path, { with: { type: 'json' } }) ✅ import attributes | | File URL resolution | manual string concatenation | node:url pathToFileURL (robust on all platforms) | | @types/node | ^20 | ^22 | | tsup | ^7 | ^8 | | tsx | ^3 | ^4 | | commander | ^11 | ^12 | | rimraf | ^5 | ^6 | | ora | ^7 | ^8 | | TypeScript | ^5.1 | ^5.6 | | engines.node | (none) | >= 20.10.0 | | Class export | CommandKit | CommandKit + NovaCommandKit alias |

See the CHANGELOG for the full list.

License

MIT — see LICENSE.

Nova CommandKit is derived from CommandKit © 2023 Under Ctrl, used under the MIT license.