node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org ยป


Koan.js: A Koa.js Application Boilerplate

Define Koan

Build Status Dependency Status Code Climate Coverage Status NPM version

What is Koa.js?

Koa.js is a modern Web framework designed by the team behind Express.js. While being lean and minimalistic, it has all the functionality needed in order to create robust and powerful Web-applications.

So why do we need Koan.js?

An average Web-application often contains some common components (e.g. routing, public folder, view rendering, etc.), and Koan.js provides you with a boilerplate having many of these components already in place. Also, it proposes a way to organize application features.

Is it the right way to build Web-applications with Koa.js?

It's just one of many, many possible ways. The beauty of Koa.js (or Express.js) is in its incredible flexibility giving you freedom to organize your application however you feel is right. But if you want just save your time and go with an existing solution, Koan.js definitely worth a shot.


sudo npm install -g koan



  1. koan new myapp creates a subfolder myapp in the current directory with the new application boilerplate in it.
  2. Use npm install to install dependencies.
  3. Start your application with koan start (or just usual node index.js).
  4. Run tests with npm test.


  • Add or disable middleware your new Koan.js application requires in config/middleware.js.
  • Configure your routes in config/routes.js.
  • Configure view scripts templating in config/views.js.
  • Set other application options in config/options.js, they will be available during runtime via app.options.


  • Run koan controller <controllerName> while inside the project root in order to generate a new controller.
  • Run koan model <modelName> while inside the project root in order to generate a new model.
  • Run koan resource <resourceName> while inside the project root in order to generate both controller and model (no automated RESTful routing generation is implemented at this point, so you will have to describe the routes manually).

More scaffolds to come.



  • are welcome;
  • should be tested;
  • should follow Koa.js coding style.


The MIT License

Copyright (c) 2013-2014 Ruslan Bredikhin