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

mhdd24-cli

v1.0.6

Published

Custom developer CLI

Readme

mhdd24-cli

Personal developer CLI (mhdd24) for git workflows, deploy helpers, automatic framework detection, Vercel domain setup, and a local dashboard that summarizes the current project.

Install

npm install -g .
# or from npm when published
npm install -g mhdd24-cli

Global tools used by some commands (install as needed):

| Tool | Used for | |------|----------| | Vercel CLI | vercel, vercel-setup, domain-add | | GitHub CLI gh | Picking a repo in vercel-setup |

Quick start

cd your-repo
mhdd24 init              # creates .mhdd24rc (+ optional .env) with auto framework detection
mhdd24 doctor            # Node/npm versions + binary paths, git, Mongo, framework
mhdd24 dashboard         # local web panel → http://127.0.0.1:3847/

Configuration (.mhdd24rc)

Stored at the repository root. Common fields:

| Field | Purpose | |-------|---------| | build | Command run by mhdd24 build / deploy step (default from framework detection) | | deploy | Command run by mhdd24 deploy-only / deploy step | | framework | Output of auto detection (id, label, packageManager, buildCommand, …) | | vercel.project | Vercel project name (from vercel-setup) | | vercel.githubRepo | owner/repo connected for Git deployments | | vercel.domains | Domains added via domain-add (bookkeeping + docs) | | vercel.cliDeployAfterPush | If true, runs vercel deploy --prod --yes after push / deploy / smart-commit |

Auto framework detection

The CLI inspects package.json (dependencies and scripts), lockfiles, and common config files to infer your stack.

Supported signals (non-exhaustive): Next.js, Remix, Nuxt, SvelteKit, Astro, Angular, Create React App, Vite (+ React variant), Expo, generic Node when package.json exists.

Package manager is inferred from pnpm-lock.yaml, yarn.lock, or bun.lock / bun.lockb (otherwise npm).

Commands

mhdd24 detect            # prints detection JSON, writes framework → .mhdd24rc, optional sync of "build"

mhdd24 init runs the same detector when package.json is present and seeds build + framework accordingly.

Auto domain setup (Vercel)

Attach a domain you control to the linked Vercel project (run mhdd24 vercel-setup first if needed).

mhdd24 domain-add app.example.com
  • Uses vercel domains add with your project name from .mhdd24rcvercel.project when set.
  • Appends the domain to vercel.domains in .mhdd24rc.
  • Afterward, configure DNS at your registrar or DNS host so traffic reaches Vercel. See Vercel: Domains.

Dashboard (web panel)

Read-only local UI for the current working directory (run it inside a project repo). The panel uses a dark theme (gradient mesh, glass-style cards, DM Sans + JetBrains Mono via Google Fonts when online).

mhdd24 dashboard         # default port 3847
mhdd24 dashboard 9000    # custom port
MHDD_DASH_PORT=9000 mhdd24 dashboard
  • Binds to 127.0.0.1 only (not exposed on the LAN).
  • Cards: detected framework, git branch / origin / short dirty preview, full .mhdd24rc JSON, Vercel link status (reads .vercel/project.json if present), tool versions.
  • Live refresh about every 8 seconds.
  • On macOS, tries to open the URL in your browser.
  • The page includes a CLI reference (every command, short description, and copy-paste examples).

JSON API: GET http://127.0.0.1:3847/api/status

Hosted dashboard on Vercel

The same UI can be deployed as a static site plus a serverless GET /api/status (so the page is not raw index.js).

  1. Connect this repo to Vercel (import Git project).
  2. Build command: npm run build (runs build.js, which copies lib/dashboard-ui.htmlpublic/index.html).
  3. Output directory: public (already set in vercel.json).
  4. Deploy. Open your deployment URL: / is the dashboard (including the CLI commands & examples block), /api/status is JSON for this deployment’s filesystem (framework + tooling for the checked-out mhdd24-cli tree). A banner explains the difference from mhdd24 dashboard on your laptop.

The public/ folder is gitignored; Vercel generates it on each build. api/status.js reuses collectStatus from the package.

Vercel workflow

mhdd24 vercel-setup      # choose GitHub repo (gh or manual), vercel link, vercel git connect
mhdd24 vercel            # production deploy now (vercel deploy --prod --yes)

With vercel.cliDeployAfterPush: true, pushes from mhdd24 push, mhdd24 deploy, or mhdd24 smart-commit also trigger a Vercel production deploy via the CLI after git push.

All commands (reference)

Core

  • mhdd24 push "message" — add, commit, push; optional Vercel per rc
  • mhdd24 deploy "message" — push (+ optional Vercel), build, deploy scripts from rc
  • mhdd24 release — standard-version, push, tags, npm publish (OTP)
  • mhdd24 version — wraps npm version to bump package.json semver:
    • mhdd24 version or mhdd24 version patch — patch bump (default)
    • mhdd24 version minor / major — explicit level
    • mhdd24 version autoauto-matched bump from git history since the latest tag (or last 30 commits if no tag): feat:minor, type!: / BREAKING CHANGEmajor, otherwise patch
    • Add --no-git-tag-version anywhere on the command line to only change package.json (no version commit/tag from npm)

Vercel & domains

  • mhdd24 vercel-setup
  • mhdd24 vercel
  • mhdd24 domain-add <domain>

Insight

  • mhdd24 detect
  • mhdd24 dashboard [port]

Dev

  • mhdd24 doctor — prints node / npm versions and their PATH locations (command -v)
  • mhdd24 logstail -f logs/app.log
  • mhdd24 analyze — source-map-explorer
  • mhdd24 rollback — soft reset last commit
  • mhdd24 smart-commit

Env

  • mhdd24 env KEY VALUE — append to .env

Git

  • mhdd24 branch <name>, switch <name>, pull, status, clean-git

Project

  • mhdd24 init, open, open-url <url>
  • mhdd24 build, deploy-only, clean

Other

  • mhdd24 seed [langs] — Mongo seed helper for specific project layout

License

MIT

Author

Mohammed Rafi