A lightweight approach to building HTML5 applications with emphasis on elegance and simplicity
Brunch is an assembler for HTML5 applications. It's agnostic to frameworks, libraries, programming, stylesheet & templating languages and backend technology.
To simplify app development, brunch watches your files for changes and automatically wraps your scripts and templates in require.js modules. All build errors are printed to console. If you have growl / libnotify, brunch will use them too.
Brunch uses node.js plugins to speak with compilers. There are a bunch of plugins already:
In case your favorite language / tool is not supported yet, you can write brunch plugin for it, it's very simple. Feel free to edit the wiki page and add new plugins there.
Brunch doesn't encourage you to use any particular technology, but application skeletons can do it. Some interesting skeletons:
Of course, you can throw skeleton technologies away and build your own structure.
You'll need node.js 0.6.10+. Execute:
npm install -g brunch
You're done!
To create a new project, execute brunch new <project name>.
Now you can edit the code. app/ directory has files of your project and vendor/ has libraries etc. that would not be wrapped in common.js modules.
To build it, execute brunch build in project directory.
To continuously rebuild the project on every change, run brunch watch.
To run a simple http server, execute brunch watch --server.
To install / uninstall a plugin, add it to package.json and execute npm install.
More detailed documentation located at brunch.readthedocs.org. If you're upgrading from earlier version, you might be interested in upgrading guide and changelog.
We know of a few folks who are using brunch already. Ranging from internal tooling to high traffic facebook apps. Know someone else who is enjoying brunch already? Feel free to edit the wiki page!
Todos is a port of the famous backbone todos example app (code). Uses localStorage to persist data.
Sébastien Béal also made an alternative which uses Django + Django Rest Framework to persist data.
Tweet your brunch is a simple twitter client (code). Uses Chaplin as app skeleton.
Blossom is a lightweight project management tool for lean teams. Backbone.js is heavily used in combination with CoffeeScript to provide a smooth interaction experience. The RESTful backend is built with Flask on Google App Engine.
ChainCal is an iPhone app that helps you to track your daily goals in a minimalist, visual way. The app is written almost entirely in CoffeeScript, Backbone handles the models, collections and views, and persistence is done with a Backbone.sync localStorage adapter. Templates are written in Eco and the app is packaged with Brunch and deployed with Phonegap.
Salon.io provides a space where photographers, artists and designers freely arrange their visual art on virtual walls. Salon.io runs on Rails, but does not use much of the traditional stack, as the entire frontend is designed as a single page web app, using Backbone.js and CoffeeScript.
Snip.it help you collect your thoughts and your opinions about your favorite topics, and discover others who care about the things you care about.
Uber is everyone's private driver. Their clients app is made with brunch.
Follow @brunch and @paulmillr on twitter to get latest updates & news.
git clone git@github.com:<your-username>/brunch.gitnpm install && npm testgit checkout -b topics/new-feature-namenpm install && npm test