npm is the package manager shipped with node.js.
npm has the ability to install packages to a local directory or globally with the
-g flag. Global packages are generally CLI programs.
npm packages manage dependencies and pass information to npm through the package.json file. It contains entries for package name, version, git, dependencies, and other information. The official documentation can be found here.
npm uses the semantic-versioning system. This system promote three version stages as well as suffixes. For example,
v1.2.3-alpha. npm supports modifiers such as asterisks and greater/less than signs when specifying dependencies. More information can be found here and here.
As of April 14, 2015 npm also supports private modules that can be defined and used only by users who you specify. More about private modules here.
npm comes bundled with the installation of NodeJS, so there is no need for a separate install.