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

pixelphoto

v1.1.0

Published

AI-powered CLI tool for automatically renaming images based on their visual content

Readme

PixelPhoto

AI-assisted batch renaming for photos using vision models (OpenAI or OpenRouter). Ships as a CLI, a local PWA (pixelphoto web), and a terminal UI (pixelphoto tui, OpenTUI).

Quick start (one-liner)

Install from npm and run guided setup in one go:

npm install -g pixelphoto && pixelphoto onboard

No global install (uses npx; may download the package on first run):

npx -y pixelphoto onboard

From GitHub (same as install + onboard):

curl -fsSL https://raw.githubusercontent.com/ran4om/pixelphoto/master/scripts/install-and-onboard.sh | bash

Windows (PowerShell 7+):

npm install -g pixelphoto && pixelphoto onboard

Requirements

  • Node.js 20 or newer
  • Bun — required for the TUI runtime (OpenTUI). Install from bun.sh.
  • An OpenAI or OpenRouter API key. Run pixelphoto onboard or pixelphoto tui to configure (~/.config/pixelphoto/config.json).

Install

Use pixelphoto from anywhere (global CLI)

From a git clone (recommended for contributors):

./scripts/install-global.sh

On Windows (PowerShell, from repo root):

powershell -ExecutionPolicy Bypass -File .\scripts\install-global.ps1

Or use Make:

make install

Or npm from the repo root (same effect as the scripts):

npm install
npm run install:global

That runs npm run build and then npm install -g ., which registers the pixelphoto command on your PATH (same as publishing locally). If the global install fails with a permissions error, fix your npm prefix or use a Node version manager (nvm, fnm, etc.) so the global bin directory is under your home folder.

After it is on npm (once published):

npm install -g pixelphoto

Uninstall a global copy:

npm uninstall -g pixelphoto

Local development only (no global command)

npm install
npm run build

You can still run npx pixelphoto --help from the repo, or use npm link for a dev-time global link without npm install -g ..

Commands

| Command | Description | |--------|-------------| | pixelphoto onboard | Guided setup and vision-model discovery | | pixelphoto rename <dir> | Quick CLI rename (default) | | pixelphoto rename <dir> --tui | Full-screen TUI | | pixelphoto rename <dir> --web | Start local PWA and open the browser | | pixelphoto web | Start the local PWA only (settings, preview, batch rename) | | pixelphoto tui | Open the full-screen TUI | | pixelphoto config | View or set API key, model, resize defaults |

Common options: --model <id>, --no-resize, -y / --yes (apply renames without prompting).

Local PWA

pixelphoto web
  • Default URL: http://127.0.0.1:3847
  • Use -p <port> to change the port.
  • The server listens on localhost only (not exposed to the LAN).

TUI development

bun run dev:tui

Smoke test (PTY): bun run tui:smoke

Build

npm run build

Runs TypeScript compile and copies src/web into dist/web for the PWA.

Test fixtures

The testphotos/ folder contains 12 curated fixture-01.jpgfixture-12.jpg samples (varied subjects for exercising rename). They are checked in as a one-off set; see testphotos/ATTRIBUTION.md.

test_rename.js is a development-only helper script (not part of the published CLI).

Security

  • Vision API keys stay in local config; do not commit them.
  • The web UI server accepts connections from 127.0.0.1 only.

License

MIT — see LICENSE.