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

cybernetics

v1.5.1

Published

Run a full Linux shell in your browser — powered by Cybernetics

Readme

Cybernetics

A browser-based Linux shell and IDE environment.

Installation

sudo npm install -g cybernetics

Quick Start

cybernetics login google     # Authenticate
cybernetics                  # Start server on port 8672
cybernetics tunnel           # Get HTTPS tunnel URL

Open the IDE at cybernetics-virid.vercel.app, paste the tunnel URL and your auth token in the Shell Setup modal.

Commands

| Command | Description | |---|---| | cybernetics | Start server on default port 8672 | | cybernetics -p <port> | Start server on custom port | | cybernetics login google | Authenticate with Google | | cybernetics login github | Authenticate with GitHub | | cybernetics logout | Clear all credentials | | cybernetics tunnel | Start HTTPS tunnel via cloudflared | | cybernetics show config | Show LAN IPs and connection info | | cybernetics ai "<prompt>" | Run an AI prompt | | cybernetics --version | Show version | | cybernetics --help | Show help |

Shell Setup Modal

After starting the server, open the IDE and click the gear icon in the explorer panel. Paste your tunnel URL and auth token to connect.

Docker


FROM node:20-slim

RUN apt-get update && apt-get install -y \
  python3 git curl bash zsh make g++ \
  && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY package.json .
RUN npm install

COPY app.js .

EXPOSE 8672

CMD ["node", "app.js"]

RUN

docker build -t shell .
docker run -p 8672:8672 shell-image shell 

Or build locally:

docker build -t cybernetics .
docker run -p 8672:8672 cybernetics

Embed in Your Own Server

import { app, server, wss, resolveToken, requireAuth } from 'cybernetics';

// Mount on your own port
server.listen(3000, () => {
  console.log('Cybernetics running on port 3000');
});

Authentication

Cybernetics uses a secure HMAC-signed token system. After login, your token is saved to ~/.cybernetics/token and displayed in the terminal and at http://localhost:8672 for easy copying.

License

MIT