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

@mohammadhkhoddami/resume-builder

v1.0.1

Published

One-command launcher for the Persian Resume Builder app (React + Vite frontend, FastAPI backend)

Readme

Resume Builder CLI

One command. Everything else is automatic.

The CLI packages the complete Persian Resume Builder application — a React/Vite frontend and a FastAPI backend — and runs it on your machine with zero manual setup.

Quick Start

npx @mohammadhkhoddami/resume-builder

That's it. On first run the CLI will:

  1. Check your environment (Node.js, Python, npm, ports)
  2. Copy the application into a per-user runtime directory (~/.resume-builder)
  3. Install frontend dependencies (npm install)
  4. Create a Python virtual environment and install backend dependencies
  5. Download the Chromium browser used for PDF export (one time)
  6. Start FastAPI (default port 8000) and Vite (default port 5173)
  7. Pick a free port automatically if a default one is busy
  8. Open the app in your default browser

Subsequent starts skip every already-completed step, so they launch in seconds.

Global Installation

npm install -g @mohammadhkhoddami/resume-builder
resume-builder

Commands

| Command | Description | | --- | --- | | resume-builder | Start the application (same as start) | | resume-builder start | Start backend + frontend and open the browser | | resume-builder doctor | Diagnose the installation and environment | | resume-builder build | Build the production frontend bundle | | resume-builder --version | Show the CLI version |

Options for start:

| Flag | Description | | --- | --- | | --no-check | Skip pre-flight environment checks | | -v, --verbose | Show debug output |

Press Ctrl+C to stop. The CLI shuts down both services and their child processes cleanly — no orphaned servers left behind.

Requirements

  • Node.js 18+ (includes npm 9+)
  • Python 3.12 or newer available in PATH (3.13 and 3.14 are supported; versioned binaries such as python3.13 are detected automatically)
  • Internet access on first run (dependency downloads)

The CLI detects python, python3, and the Windows py launcher automatically.

What the CLI manages for you

  • Full application bundled: the npm package ships with both the FastAPI backend and the React/Vite frontend inside app/
  • Runtime isolation: the working copy of the app lives in ~/.resume-builder/app; the installed npm package is never modified
  • Automatic installs: frontend npm install and backend pip install -r requirements.txt run only when needed
  • Virtual environments: a shared venv is maintained at ~/.resume-builder/venv
  • Port management: if 8000 or 5173 are occupied, the next free ports are chosen and reported; the frontend receives the real API port automatically
  • Health checks: startup completes only when /health responds on the backend and the Vite port accepts connections
  • Crash handling: if either service dies unexpectedly, the other is stopped and the error output is shown

Troubleshooting

Run diagnostics:

resume-builder doctor

Common fixes:

  • Reset the runtime (removes the venv and installed dependencies; they reinstall on next start):
    rm -rf ~/.resume-builder   # Windows: delete %USERPROFILE%\.resume-builder
  • Force a fresh copy of the app files after modifying the package:
    RESUME_BUILDER_FORCE_SYNC=1 resume-builder start
  • Python not found: install Python 3.12 or newer (3.13/3.14 work) from python.org and ensure it is in PATH
  • PDF export fails: Chromium may be missing; delete ~/.resume-builder and start again so it re-downloads

For maintainers: building the package

The published package embeds the whole application. From cli/:

npm run prepack   # copies backend/, frontend sources and fonts into cli/app/
npm pack          # produces @mohammadhkhoddami/resume-builder-<version>.tgz

prepack runs automatically before npm pack and npm publish. It copies only runtime-relevant sources (no node_modules, .venv, __pycache__, dist, logs) and downloads the two required Vazirmatn fonts into app/backend/static/fonts if they are not present locally.