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

@ikenga/cli

v0.4.0

Published

Command-line tool for installing, updating, and managing Ikenga pkgs.

Downloads

224

Readme

@ikenga/cli

Version License

ikenga — the disk-side package manager for the Ikenga workspace. Install, update, and hot-mount pkgs.

What it is

ikenga manages packages on disk: what's installed, what's available in the registry, and the dev loop for authoring your own. It's one of two Ikenga CLIs — the disk-side one. (The other, iyke, drives a running shell. They share no code.)

Install

# Bun is the runtime; install it first.
curl -fsSL https://bun.sh/install | bash

# Then install the CLI from npm.
npm i -g @ikenga/cli      # or: bun install -g @ikenga/cli

The package ships as JS source (~70 KB gzipped) with a #!/usr/bin/env bun shebang. Bun must be on your $PATH. We dropped the bun --compile binaries in v0.2.0 — the bundled-binary route added ~80 MB per platform for the same code.

Usage

ikenga list                              # what's installed locally
ikenga list --available                  # what's in the signed registry
ikenga add @ikenga/pkg-hello             # install latest
ikenga add @ikenga/[email protected]       # install a specific version
ikenga add <pkg> --dry-run               # show the plan, install nothing
ikenga update <pkg>                      # update one
ikenga update --all                      # update everything outdated
ikenga remove com.ikenga.hello           # by manifest id, or...
ikenga remove @ikenga/pkg-hello          # ...by npm name
ikenga dev ./my-pkg                      # hot-mount into running shell

list / add / update / remove mutate the shell's pkgs directory (overridable with IKENGA_APP_DATA_DIR); the shell registers them on next boot.

ikenga dev <path> — hot-mount for development

Different shape: dev talks to a running shell over its localhost iyke bridge instead of touching disk. Registers the pkg with source.kind = "dev" (auto-trusted, regardless of id namespace) and spawns a manifest watcher in the kernel so edits to manifest.json or any restart_when_changed glob trip an in-place reload — no shell restart.

Requires the shell to be running. The CLI discovers its port + bearer token from control.json in the shell's local data dir.

ikenga dev /home/me/code/my-pkg
# → mounted as com.example.my-pkg v0.1.0
# →   Routes: /pkg/com.example.my-pkg/
# Edit manifest.json or watched src/ files; reload fires automatically.
# Ctrl-C to unregister.

Iframe code changes flow through your dev server's HMR (Vite, Next, …); sidecar / MCP source edits respawn via the supervisor watcher; manifest edits trigger a full pkg reload that emits a pkg-reloaded event the shell's iframe + webview hosts listen for. See docs/pkg-patterns/07-dev-mode.md for the kernel semantics.

Versioning

v0.3.0 — adds ikenga dev <path> for hot-mounting pkgs into a running shell via the iyke localhost bridge. Watcher-driven manifest reload + clean Ctrl-C unregister. Requires the corresponding shell-side dev-mode kernel (lands in shell v0.0.5+). v0.2.0 — JS-source npm distribution; requires Bun on $PATH. v0.1.x — bun-compiled standalone binaries (deprecated; available on the GitHub Releases page until the next archive sweep).

Links

  • iyke-cli — the runtime controller (the other CLI)
  • ikenga — the desktop shell

License

Apache-2.0 — see LICENSE.