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

codewithgarry

v2.4.0

Published

Girish Sharma's terminal business card with live GitHub stats and built-in lo-fi music. DevOps Engineer | Cloud Architect | Full Stack Developer. Run: npx codewithgarry

Readme

CodeWithGarry NPX Card 🚀

Girish Sharma's business card, right in your terminal. DevOps Engineer · Cloud Architect · Full Stack Developer.

npx codewithgarry

No install needed. Requires Node.js 18 or newer.

✨ Features

  • 🎨 Gradient banner and card themed by time of day, with a theme picker
  • 📇 One-keypress links to email, LinkedIn, GitHub, YouTube, X and website
  • 📊 Live GitHub stats: repos, stars, followers, top languages, recent work
  • 🎵 Music player with clickable buttons, volume, seek, repeat and shuffle, and four original compositions
  • 🎮 Secret codes for the curious
  • 📐 Responsive layout from 60-column terminals up to ultra-wide
  • ⚡ Tiny package (one file) and fast cold start through npx
  • 🤖 Script-friendly: prints a static card in CI, pipes and SSH sessions, and never hangs

🎛 Options

| Option | What it does | | --- | --- | | -f, --fast | Skip animations | | -p, --plain | No colors, no animations, no menu | | -j, --json | Print contact details as JSON | | -m, --music | Start with the Waiting Lobby music playing | | --no-menu | Print the card and exit | | -v, --version | Print the version | | -h, --help | Show help |

The card also respects NO_COLOR=1. Set DEBUG=1 to see stack traces if something breaks.

npx codewithgarry --json | jq -r .github

🎵 Music

Pick 🎵 Music player in the menu, or start with npx codewithgarry --music and open the player later.

The player is a full-screen panel with real buttons. Click them with the mouse, or use the keyboard:

| Control | Mouse | Keyboard | | --- | --- | --- | | Play / pause | ❚❚ Pause / ▶ Play button | space | | Previous / next track | ◀◀ Prev / Next ▶▶ buttons | ← / → | | Volume | - / + buttons, click the meter, or scroll | ↑ / ↓ | | Mute | Mute button | m | | Seek | click anywhere on the progress bar | , / . for 5 seconds | | Pick a track | click it in the playlist | 1 to 4 | | Repeat one / Play all / Shuffle | Mode button | r | | Lo-fi radio in the browser | Lo-fi radio button | o | | Back to the card | Back to card button | q or Esc |

Tab and Enter move between buttons and press them. Buttons highlight on hover and flash when pressed. The visualizer shows the real spectrum of the music. Music keeps playing when you go back to the card.

Four original compositions, each a written melody over a real chord progression:

| Track | Sound | | --- | --- | | Waiting Lobby | calm exam-lobby style: electric piano, soft pads, brushed beat | | Please Wait | gentle bells over warm pads, like a system getting ready | | Code & Coffee | lo-fi jazz turnaround with vinyl crackle | | Deploy Friday | upbeat 8-bit chiptune |

The tracks are generated in code as WAV files in your temp folder, so the package stays tiny. They play through the player your system already has.

| System | Player | | --- | --- | | macOS | afplay, built in | | Windows | PowerShell, built in | | Linux | paplay, pw-play, aplay, ffplay or sox play |

Music stops when the card exits, including on Ctrl+C. Over SSH the card offers a lo-fi radio link instead, because sound would play on the remote machine. Set CARD_AUDIO_PLAYER=none to turn music off.

🌍 Other ways to connect

No Node.js? Open web-version.html in any browser. See the Beginner's Guide for help.

🔧 Development

npm install
npm start            # run the card locally
npm test             # card behaviour tests
npm run test:all     # card tests plus the platform test suites

All personal details live in the PROFILE object at the top of index.js. Banners are pre-rendered with figlet, which is a dev dependency only.

The music engine lives in lib/music.js.

Docker

docker build -t codewithgarry-npx-card .
docker run -it --rm codewithgarry-npx-card          # interactive card
docker compose run --rm npx-card                    # same, via compose
docker compose up -d                                # web version on http://localhost:8080

Copy .env.example to .env to change the web port or log level.

Publishing

Manual:

  1. Bump the version: npm version minor
  2. Check the contents: npm pack --dry-run should list index.js, lib/music.js, package.json and README.md
  3. Publish: npm publish (the card tests run automatically first)
  4. Verify: npx codewithgarry@latest

Automatic: the GitHub Actions workflow in .github/workflows/deploy.yml tests every push on Linux, macOS and Windows. Pushing a tag such as v2.3.0 also publishes to npm. Add an npm automation token as the NPM_TOKEN repository secret first.

License

MIT © Girish Sharma (CodeWithGarry)