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

opentoad-pet

v0.1.2

Published

OpenToad desk pet and resource-pool node

Readme

OpenToad Pet

A global npm package that puts the OpenToad desk companion on your desktop and lets any machine join the OpenToad resource pool through terminal config.

npm install -g opentoad-pet
pet

What it does

  • Desk pet on Apple Silicon Macs: a frameless, draggable, pixel-art toad that lives on your desktop.
  • Resource-pool node on any platform: Linux, macOS Intel, and Windows can join the pool with pet --pool-node.
  • Interactive setup asks for workspace, server URL, allowed commands, and permissions before the pet starts.

Commands

| Command | What it does | |---|---| | pet | Launch the desk pet (Apple Silicon) or run pool-node setup | | pet --pool-node | Onboard this machine as a compute node | | pet --configure | Rerun the setup wizard | | pet --status | Show this node and registered pool nodes | | pet --help | Show usage |

Install

npm install -g opentoad-pet

The first time you run pet, it walks you through:

  1. Node name — how this machine appears in the pool.
  2. Workspace — the directory OpenToad can read and write.
  3. Server URL — where the local OpenToad Python backend runs (http://127.0.0.1:8765).
  4. Permissions — which commands, shell access, installs, network, cloud, and GPU are allowed.
  5. Pool resources — what this machine offers (CPU, file watcher, GPU).

Configuration is saved to ~/.config/opentoad/pet.json and the pool registry is at ~/.config/opentoad/pool.json.

Desk pet interactions

  • Drag the toad to move its window around.
  • Click it to ribbit (Web Audio) and puff its throat.
  • Drop files on it — the tongue shoots out, grabs the file, and POSTs it to /api/feed on the OpenToad backend.
  • Stare — the toad’s eyes follow your cursor when it’s close.
  • Breathe — its belly expands and contracts like a real frog.

Platform support

  • Desk pet GUI: Apple Silicon (darwin + arm64) for now.
  • Pool node: any platform that can run Node.js and the OpenToad Python backend (opentoad serve).

To add a Linux or Windows box to the pool:

npm install -g opentoad-pet
pet --pool-node
# then start the OpenToad Python server on that machine
opentoad serve

Auto-start on login (macOS)

pet --install-service     # start the pet at every login
pet --service-status      # check the service
pet --uninstall-service   # remove the login service

This creates ~/Library/LaunchAgents/com.opentoad.pet.plist and loads it with launchctl. Logs are written to ~/Library/Logs/opentoad-pet.log.

Publish to npm

A GitHub Actions workflow (.github/workflows/publish-npm.yml) publishes the package when a GitHub Release is published. Add an NPM_TOKEN secret in the repo settings, then:

cd desktop-app
npm version patch   # or minor / major
npm publish

Or trigger the workflow manually from the Actions tab.

Development

cd desktop-app
npm install
npm run dev        # launch the pet with dev tools
npm run build:mac  # build a DMG

Files

  • bin/pet.js — CLI entry point
  • lib/config.js — config / pool registry loading and saving
  • lib/wizard.js — interactive setup
  • lib/prompts.js — synchronous terminal prompts
  • main.js — Electron main process
  • preload.js — Electron preload / safe IPC bridge
  • renderer/pet.html — the pixel-art toad