Yeoman is a command-line tool for frontend web development. As a "web application boilerplate," its main features include project scaffolding, a build process based in part on Grunt.js, and package management for updating project dependencies.
Yeoman Features
- Scaffolding: Automates project structure using HTML5 Boilerplate, jQuery, and Modernizr - and optionally Compass, Twitter Bootstrap, RequireJS, and Twitter Bootstrap plugins.
- Watch Process: Integrates LiveReload with a native fallback watch process for updating changes in the browser without refreshing.
- Linting: Runs JSHint on specified project files during its build process.
- Preview Server: Using the
grunt server
command starts a built-in HTTP server for monitoring project changes auto-compiling CoffeeScript/Compass files. - Image Optimization: Integrates OptiPNG and JPEGTran into the build process.
- Build Process: In addition to the features already mentioned,
grunt build
concatenates, minifies, and generates an application cache manifest. The build process also incorporates the RequireJS r.js optimization script. - Package Management: Update project dependencies such as third-party libraries and extensions from the command line using Bower.
- Testing: Supports generating test cases for Mocha or Jasmine and automatically building them as part of the build process via Karma.
Yeoman Resources
- Main Website - installation, CLI reference, package manager, metrics tool, FAQs
- GitHub - project repository and additional README documentation
- GitHub Issues - main support site for early release troubleshooting
- Google Groups - mostly administrative issues with some support questions
- Google Plus - promotional updates and links to media coverage
- Twitter - support discussions and links to media coverage