A Package Manager

Bower is a package manager, a command line utility that requires Node.js, npm, and Git. It fetches, downloads, and installs all the packages required by your particular web application, searching and finding everything you need and saving the contents in a manifest file for you to track.

Manage Your Libraries with Ease

Put simply, Bower is a package management system, but one unlike any other. Unlike Jam and other popular JavaScript package managers, Bower handles more than just JavaScript libraries. It handles more than Python and Ruby libraries too. Bower can manage any package, i.e. any encapsulated, third-party code, be it HTML, CSS, or images, working with Git and a Github repository.

It is for this reason that Bower refers to itself as a browser package manager. But it is a package manager and nothing else; it does not concatenate or minify code, say, or support a module, etc. It just manages packages; that’s enough, because it’s good at what it does. It handles frameworks, libraries, assets, and utilities—finding and installing whatever package you need, and recording it in a manifest file, bower.json.

Bower Helps with Your Dependencies

As a package management system, Bower saves you time and trouble by simplifying installing and updating project dependencies. A few commands in the terminal replace hours of browsing all the library websites, downloading and unpacking all the archives, and copying all the files into the necessary projects. Furthermore, Bower is a package management solution without system wide dependencies or dependencies shared between different apps.

In fact, Bower’s dependency tree is flat, requiring only one version for each package, which reduces page load to a minimum. Bower runs off of Git, and is “package-agnostic,” which is to say that a packaged component can be made up of any type of asset and use any type of transport.

Bower is front-end optimized and offers hooks to facilitate the use of your chosen packages in your tools and workflows. It can also be used together with lots of other tools to integrate with various setups and workflows, or you can build your own workflow with Bower’s API.

Bower Plays Well with Other Tools

It is possible and recommended to integrate Bower with several other cooperative tools and programs. Bower interfaces with Grunt, Gulp, Yeoman, and more. The full list of combinations can be read here.