Depends on what. Use what you know best!
However, here are some guidelines ...
Feather weights
For quick, no-frills and no over-development, I would recommend:
- Underscore for general JavaScript development
- BackBone for client / server communications (using jQuery or Zepto.js for AJAX calls) and designing your models and event buses.
- Jasmine for testing JS
- SASS for CSS cooler
- HTML structures, what is it? :)
CoffeeScript is really great if you want to go down this road. If you are interested in CoffeeScript , you can take a look at Google Dart , but this is fairly recent.
Heavy weights (including batteries)
If you are creating a rather complex web application (here we are talking more about lines of thousands of lines of code), you need to take note of it, in which case I recommend you to look:
Dojo and Closure strong> can be integrated into complex building systems, and their compilers will allow for good modulation of your code base, preventing it from easily getting an optimized version. They also contain their own module loading system, so you will not need additional libraries such as Require.JS, and will only load the parts that you explicitly tell them if you are using a custom assembly. But be careful, they are definitely more practical and have a steeper learning curve.
Google Closure Tools is certainly very comprehensive and, like batteries, are included, but they donโt necessarily facilitate your development: they give you strength, but you need to know what you are doing.
Bootstrappers / kickstarters
Some solutions offer to โlaunchโ your project and prepare for you a collection of some of the above tools, sometimes offering you some customization, so you can easily get started and don't have to maintain your own kickstart up to date with new versions:
WARNING: I have not really tried these kickstarts myself.