Yeoman generator

Usage no npm install needed!

<script type="module">
  import generatorKoaApi from '';


generator-koa-api Build Status

Yeoman generator

Getting Started

Not every new computer comes with a Yeoman pre-installed. He lives in the npm package repository. You only have to ask for him once, then he packs up and moves into your hard drive. Make sure you clean up, he likes new and shiny things.

npm install -g yo


Yeoman travels light. He didn't pack any generators when he moved in. You can think of a generator like a plug-in. You get to choose what type of application you wish to create, such as a Backbone application or even a Chrome extension.

To install generator-koa-api from npm, run:

npm install -g generator-koa-api

Finally, initiate the generators:

yo koa-api your-api           # Initialize project
yo koa-api:api /tasks         # Generate router and test files
yo koa-api:api /tasks/results # Nested routers!
yo koa-api:model task         # Generate model for sequelize

After edit your configuration in config/, run:

npm test  # Run tests for APIs
npm start # Start server


6 steps to contribute:

# 1. Fork and clone this repo and `cd` to the repo
# 2. Link your `bin`s
npm link
# 3. Setup database for test
mysql -e 'create database database_test;'
# 4. Edit code and test
# 5. Run tests
npm test
# 6. Create pull request for your changes

Useful Tricks

  • After running npm start, you can find your service's PID by run pgrep your-api because your starter file was named by name field in your package.json.
  • Use debug for logging, so you can switch logs with DEBUG environment variable value.
  • All generated routers have setted channel for DEBUG with path (e.g., your-api:api:/users).
  • Print SQLs by setting DEBUG=your-api:models
  • Table names for models are named by filenames in models/.
  • Use bin/sync-models.js to create tables for models.
  • You can use your models in your router with
  • Put your service clients/loaders into lib/loaders/, so your can manage them with best practice.
  • Folders in api/ can be copy/move to anywhere with the same structure and run without any code.

Getting To Know Yeoman

Yeoman has a heart of gold. He's a person with feelings and opinions, but he's very easy to work with. If you think he's too opinionated, he can be easily convinced.

If you'd like to get to know Yeoman better and meet some of his friends, Grunt and Bower, check out the complete Getting Started Guide.