Lacking time to write a full fledged post, I'll only mention the quick tidbit I want to keep track of. Others might also find value in it:
Using the yo generator, angular-fullstack, I wanted to add Twitter's Typeahead.js package via bower.
If all of this is greek to you, don't worry, start with angular-fullstack and read through that page. You'll quickly have a nice bootstrapped SPA running...
Back to what I was getting to. Typeahead.js breaks the Gruntfile script because of the ".js".
Hashing dist/public/bower_components/typeahead.js...Reading dist/public/bower_components/typeahead.js...ERROR
Warning: Unable to read "dist/public/bower_components/typeahead.js" file (Error code: EISDIR). Use --force to continue.
Annoying and it's more of an issue with the Gruntfile but an easy fix is to install Typeahead.js by providing a different name.
bower uninstall typeahead.js
bower install "typeaheadjs"="typeahead.js" --save