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

p5-manager

v1.4.0

Published

A p5js template builder and sketch manager. Built for p5js enthusiasts.

Readme

npm version

p5-manager is a p5js template builder and sketch manager. This command-line tool also supports livereload, Babel ES6 auto-compiling and other useful features. Built for p5.js enthusiasts.

p5 Manager - GUI

Quick Start

$ npm install -g p5-manager

There are several use case of p5-manager, Before going further, choose the one best describe your requirements and go ahead.

  • I want to handle multiple sketches at the same time. Go check Collection.
  • I want livereload or babel auto-compiling to improve my p5.js development experience. Go check Collection.
  • I just need a CLI command to easily initialize a new p5 project (with default p5.js libraries in it). Go check Bundle.

Collection

Step 1: Initialize a new collection

$ p5 new my_collection

By running this command, it will create a collection directory and some p5 libraries to it. See the output log:

# create : my_collection
# create : my_collection/libraries
# create : my_collection/libraries/p5.js
# ...

Step 2: Generate a p5 project

$ cd my_collection
$ p5 generate my_project
# or...
$ p5 g my_project

This will generate a p5 project folder with default templates in it. (Make sure you are running this command in a collection directory.)

# create : my_project
# create : my_project/sketch.js
# create : my_project/index.html

Step 3: Start the server and have fun!

$ p5 server
# or...
$ p5 s

Now edit your sketch.js and go to localhost:5555, then p5-manager will do the rest. The server supports livereload as default. (Notice: You should run p5 server in a collection directory, instead of a project directory.)

Bundle

You don't always need a collection in some cases. p5-manager also allows you to generate a standalone bundled project with its own p5 libraries included. You can use this command anywhere without GUI or collection mentioned above. Just make sure to add the flag correctly.

p5 generate --bundle PROJECT_NAME
# or...
p5 g -b PROJECT_NAME

Which will do something like this:

# create : my_project
#   create : my_project/sketch.js
#   create : my_project/index.html
#   create : my_project/libraries
#   create : my_project/libraries/p5.js
#   create : my_project/libraries/p5.sound.js

Advanced Usage

Static mode v.s GUI mode in Collection

There are two ways to get access to your sketch in a collection. One is public path, ex: localhost:5555/demo1/index.html. The other way is GUI mode, just go to: localhost:5555.

Customize port

p5 server --port 8888
# or...
p5 s -p 8888

Running with Docker

If you don't want to (or can't) install the dependencies on your local machine, you can use the included Dockerfile to build a p5-manager container and run the server from there.

# build the container
$ docker build -t p5-manager .

# run bash inside the container
# binding the server and live-reload ports to the host
# mount /app to the current directory
$ docker run -it -p 5555:5555 -p 35729:35729 -v"$(PWD)":/app p5manager bash

# inside the container...
$ cd /app
$ p5 server

Update libraries

We provide a decent method to update p5 libraries to the latest version:

$ cd my_collection
$ p5 update
# or...
$ p5 u

By running this, p5-manager will check the latest release tag of p5.js on github, and download p5.js and p5.sound.js to the libraries folder in your collection. (This might break your projects since they depends on older p5.js libraries.)

.p5rc

The main purpose of .p5rc is to track projects in the collection. Once you generate a project with command p5 generate, it will be automatically added to .p5rc. Projects listed in the .p5rc file would be served in the GUI mode.

Currently, if you create a project without using p5 generate, you'll have to append the project name into .p5rc on your own, to add it to stage. Please follow the rule of JSON formatting when doing this.

About this project

I'm a graphic design student who use p5.js a lot so I need something to help me develop, manage or demo my p5.js projects more efficiently. That's why p5-manager was made.

Inspired by kadamwhite/p5-cli and express/generator.

Distributed under the MIT license.