node package manager


A socket based, real time web framework.

The P Framework is a real time web framework written in Node.js. It utilizes modern HTML5 technology, including WebSockets to provide a fast, sleek web app experience. For more information, please visit You can also watch a tutorial.

The latest stable release of P has been documented at Documentation is still a work in progress, but this is the best place to start if you want to learn about P.

  • The easiest way to get up and running with P is by using NPM:
sudo npm install -g p-framework
  • If you would like the latest stable version of P, use this NPM command:
sudo npm install -g p-framework@1.0.0

After installing P with NPM, you can set up a blank slate by running:

p engage /path/to/your/project

To run the P server, execute the following commands:

cd /path/to/your/project
npm start

P is in desperate need of developer feedback, work, etc. We try to keep this project updated with active Issues in the framework, but that is not, by any means, everything wrong with P. There are a few things you can do as a developer...

Before you do anything, fork your own copy of P. This will prevent code conflicts and allow you to use Pull Requests.

If you'd like to take an existing case from the Issues page, just pick one, read it over, and write the code in a branch. Typically, we create a branch corresponding to the issue number. If you're working on issue #2, for example, you might make a branch called issue2.

If you think something is wrong or needs to be changed with the framework, make your own Issue on the Issues page. Please be sure to add a detailed description of what is wrong, and what you plan to do to fix it. This will make approving your pull request a lot easier! Like above, work on your change in a branch corresponding to your issue number.

Once you've added a change, please submit a pull request. We'll look over your code, make sure you didn't embed any bombs or angry demons, and then merge your changes into the master branch.

If applicable, please create Unit Tests for your code in the test directory. If you don't feel comfortable doing this for some reason, just note it in your issue, and someone else will do it for you if necessary. Also, you may want to install nodeunit so that you can run the existing unit tests before submitting your pull request.

sudo npm install -g nodeunit

To run the tests:

cd /path/to/p
nodeunit test/*

Note: If your code causes unit tests to fail, this will almost certainly result in your Pull Request being rejected. Please at least run the tests before submitting!

Jesse Dunlap

Special thanks goes out to these developers for making P possible. You guys are awesome!

Quick Note: Development has been going so fast that I haven't had time to update this list. I am very, very sorry to all the developers I'm not giving credit for. I encourage everyone to check out the package.json file, which is a true credits section for everyone's work. Thank you all so very much for making P a possibility!

P is released under the MIT License. For more information, please see