node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey ยป


Pook - An elegant & expressive mvc framework for node

Designed to make beautiful applications from the inside out, pook is extremely lightweight, extensible, and concise. Pook has no dependencies and follows syntax, structure, and conventions inspired by laravel & codeigniter Easily extend your application & pook with community-created bundles, themes, and modules using these directions.


You can install pook bundles include config, db migrations, helpers, language files, models, routers, tests, validation, views. Bundles can be entire apps - all of pook's functionality is in a bundle found at bundle/node_modules/pook - or they can implement only certain components of an app e.g., a set of helpers. The bundles located in bundle/app and bundle/bundle_map.js are loaded by default. Bundles should have no dependencies other than pook functionality.

//Install a new bundle cd pook/bundle npm install pook-bundle-[name]

//Declare functions to autoload nano helpers.js nano models.js nano routers.js


You can install pook themes which include a template (header and footer) and css in which encapsulate views. Themes are separated from modules because pook separates the apps functionality from how it looks. This keeps an apps look consistent regardless of the bundles that you decided to install. The themes located in theme/app and theme/theme_map.js are loaded by default. Themes should have no dependencies and only include html and css files.

//Install a new theme cd pook/theme npm install pook-theme-[name]

//Declare theme to use nano themes.js


Modules are regular node/npm packages. Unlike bundles, modules cannot use pook functionality BUT modules can have dependencies. Since pook is built from the ground-up to be dependency-free, no modules are included in pook's installation.

//Install a new module cd pook/module npm install [name]

//Declare functions to autoload nano modules.js