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

project-registry

v0.4.1

Published

A developer CLI that starts projects from named templates backed by shell commands.

Readme

project-registry – projx

A CLI tool to save and run command templates with variables.

Version Downloads/week License

project-registry banner

Installation

Requirements:

  • Node.js version 21.0.0 or higher.
npm install -g project-registry

or

pnpm add -g project-registry

Quick Start

1. Add a simple template

A template is just a name mapped to one or more commands.

projx add react "pnpm create vite . --template react"

2. Run it

projx react

That’s it ^.^

Using variables

Templates can contain variables using the {{variable}} syntax.

Example:

projx add react \
  "pnpm create vite {{name}} --template react" \
  "cd {{name}}" \
  "pnpm install"

Variables with description

You can provide a description for a variable to make the prompt more helpful using {{variable::description}} syntax:

projx add my-template "echo {{name::Enter the project name}}"

If you use the same variable multiple times, you only need to add the description once:

projx add my-template \
  "echo Creating {{name::Project Name}}" \
  "mkdir {{name}}" \
  "cd {{name}}"

Run it by passing values:

projx react my-app

If a value is missing, projx will ask for it automatically.

Variables are optional — if you don’t need them, don’t use them.

Running templates (name or select)

Run directly by name

projx react my-app

This is the fastest way if you remember the name.

Use interactive selection (recommended)

If you don’t remember the exact name:

projx select # or projx s

You’ll get a numbered list and can pick one.

Filtering templates

You can filter the list when you have many templates:

projx select -f rea

Example:

  • react
  • react-ts
  • react-shadcn

This makes select the default workflow for many users.

Commands

projx add <name> <commands...>

Register a new template with one or more commands.

# Basic usage
projx add <name> "command1" "command2" "command3"

# With description
projx add <name> -d "My template description" "command1" "command2"

# Interactive mode
projx add

Variables use {{variable}} syntax and are resolved at run time.

projx run <name> [values...]

Run a registered template.

# Pass variable values as arguments
projx run react my-app

# Force interactive mode
projx run react -i

projx <name> [values...]

Shortcut for projx run.

projx react my-app

projx list

List all registered templates.

# Table format (default)
projx list
projx list -c        # show commands
projx list --no-table

projx select

Interactively select and run a template.

projx select
projx select -f react   # filter by name

projx remove <name>

Remove a template.

projx remove react
projx remove -s      # interactive selection
projx remove -y      # skip confirmation

projx export <path>

Export your template registry to a JSON file (backup).

# Export to a file
projx export backup.json

# Export to a directory (creates project-registry.json)
projx export ./backups/

projx import <path>|<url>

Import templates from a JSON file or URL.

# Import from local file (merges with existing)
projx import backup.json

# Import from URL
projx import https://example.com/shared-templates.json

# Import from file and replace ALL existing templates
projx import backup.json --replace

projx self-update [package-manager]

Update the CLI to the latest version.

# Update using pnpm (default)
projx self-update

# Update using npm
projx self-update npm

# Update using yarn
projx self-update yarn

Examples

Project templates

# React + Vite
projx add react \
  "pnpm create vite {{name}} --template react-ts" \
  "cd {{name}}" \
  "pnpm install" \
  "code ."

# Next.js
projx add next "pnpm create next-app {{name}}" "cd {{name}}" "code ."

# Express API
projx add express "mkdir {{name}}" "cd {{name}}" "pnpm init -y" "pnpm add express" "code ."

Dev shortcuts

# Git quick commit
projx add gc "git add ." "git commit -m '{{message}}'" "git push"

# Docker compose
projx add dcu "docker compose up -d"
projx add dcd "docker compose down"

# SSH to server
projx add ssh-prod "ssh {{user}}@production-server.com"

Not just for projects

projx works for any repeatable command sequence:

  • Git workflows
  • Docker commands
  • SSH shortcuts
  • Build & deploy scripts
  • System utilities

It’s a command template registry, not just a project generator.

Config location

Templates are stored at:

~/.project-registry/config.json

🤝 Contributions

Contributions are welcome! Please follow the standard fork-and-pull-request workflow.

Issues

If you encounter any issue, please open an issue here.

License

Distributed under the MIT License. See LICENSE file for more details.

© 2026 Hichem Taboukouyout


If you found this package helpful, consider leaving a star! ⭐️