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

@opencoven/cli

v0.4.10

Published

Coven CLI wrapper for the native Rust binary.

Readme

@opencoven/cli

Node wrapper for the native Coven Rust CLI.

Install or run the published wrapper:

npm install -g @opencoven/cli
coven doctor

# or without global install:
npx @opencoven/cli doctor

The wrapper installs platform-specific native packages through optionalDependencies and runs the matching coven binary for your OS and CPU. No Rust toolchain is required for end users after a supported package is published.

@opencoven/coven-memory-dashboard is a separate opt-in install, not a dependency of this wrapper. When it is present, coven memory open passes only that package's installed entrypoint and the current Node executable to the native CLI, which launches the private loopback-only dashboard; when it is absent, the command prints the install instruction. Existing coven memory and coven memory --json continue to print the memory list either way.

The wrapper and native CLI support Node.js 18 or newer. The dashboard requires Node.js 24 or newer; on Node.js 18–23, coven memory open prints an upgrade instruction while other Coven commands continue to work.

v0 platform scope

Current early-adopter packages target:

  • @opencoven/cli-macos for macOS Apple Silicon
  • @opencoven/cli-macos-x64 for Intel macOS x64
  • @opencoven/cli-linux-x64 for glibc-based Linux x64 distributions
  • @opencoven/cli-windows for Windows x64

Alpine Linux is not supported.

Desktop no-window launch on Windows

An embedding desktop client that intentionally owns no terminal may set COVEN_WINDOWS_HIDE_NATIVE_WINDOW=1 when it starts this npm wrapper. On Windows x64 the wrapper then launches coven.exe with Node's windowsHide option and pipe-backed, backpressure-aware forwarding for stdin, stdout, and stderr. Avoiding inherited stdio handles is required for CREATE_NO_WINDOW to take effect. Other values and ordinary CLI launches retain the default visible or inherited console, direct stdio, and Ctrl-C behavior. This signal affects only the wrapper-to-native boundary; Coven independently suppresses console windows for noninteractive harness children.

Desktop integrations that need an exact native process handle may run the npm wrapper with the sole argument --print-native-binary-path. On success it prints exactly one absolute native Coven binary path plus \n and exits 0 without launching Coven. The flag cannot be combined with another argument; resolution or validation failures write a diagnostic to stderr and exit 1. Callers can then spawn that path directly with coven process-supervisor --protocol coven.process-supervisor.v1, avoiding a JavaScript-wrapper process between their owned child handle and Coven's OS process-tree containment.

process-supervisor is a narrow desktop-integration contract, not an ordinary interactive CLI. Its stdin must begin with exactly one LF-terminated JSON frame:

{"version":1,"program":"/absolute/path/to/program","args":["arg"],"cwd":"/absolute/existing/directory"}

The complete frame, including its LF, is limited to 256 KiB. Unknown fields, NUL bytes, non-absolute program or cwd values, and a nonexistent cwd are rejected before launch. The first stderr line is always prefixed with COVEN_PROCESS_SUPERVISOR_V1 and contains either a JSON ready event or an error event (unsupported_protocol, invalid_request, or spawn_failed). After ready, target stdout and stderr are forwarded unchanged and the supervisor mirrors the target's exit result. Keep supervisor stdin open as the ownership lease; EOF or an owner termination signal cancels and reaps the complete target process tree. The target does not receive this control stdin. On Windows, clients must use the native-path discovery contract above and own the resulting native supervisor process directly; placing the npm wrapper between the client and supervisor would weaken exact-handle ownership.