When you fetch a package with npm, the package will either be : a library(installed locally) or a command line tool (installed globally). You can also run any number of tasks per project (npm run &lt;task&gt;), described in the npm manifest, or execute tasks before or after installing, and before publishing a library.