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
Maintainers
Readme
CodeWithGarry NPX Card 🚀
Girish Sharma's business card, right in your terminal. DevOps Engineer · Cloud Architect · Full Stack Developer.
npx codewithgarryNo 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 suitesAll 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:8080Copy .env.example to .env to change the web port or log level.
Publishing
Manual:
- Bump the version:
npm version minor - Check the contents:
npm pack --dry-runshould listindex.js,lib/music.js,package.jsonandREADME.md - Publish:
npm publish(the card tests run automatically first) - 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)
