node package manager


Reactive web framework for Node.js ES6 using RethinkDB

What is Waigo?

[ GuideAPIExamplesSites ]

Waigo is a Node.js framework for building scalable and maintainable web application back-ends.

Quick overview:

  • Based on koa, uses ES6 generators, no callbacks
  • Database, model-layer and front-end agnostic - use whatever you want
  • Easily build REST/JSON APIs using output formats
  • Flexible routing with per-route middleware customisation
  • Easily build forms with sanitization and validation
  • Extend or override any part of the core framework
  • Bundle up functionality into re-usable plugins
  • And much, much more..

Version 2 is a re-write of Waigo using ES6 and RethinkDB (instead of Mongo). It does more for you out of the box and is more extensible.

The master branch contains Waigo v2, which is under development. For v1 see the v1 branch. v2 is almost production-ready. If you wish to use it in your project use the next NPM tag:

$ npm install --save waigo@next

Documentation for v2 is available, though it is still unfinished.

We recommend using Node 0.12.0+ for Waigo. You will also need to have a MongoDB replica set running at

While developing the framework run the server using:

$ gulp

This will watch assets and source code for changes and rebuild and reload on-the-fly.

By default assets are minified. To avoid this use the --debug flag:

$ gulp --debug
$ gulp test

This will run all the tests. To limit testing to one more test files use the --only-test option:

$ gulp test --only-test test/unit/src/support/*.test.js

Suggestions, bug reports and pull requests are welcome. Please see for guidelines.

MIT - see