Init egg app helper tools
Clone or download
Latest commit 0a06683 Aug 8, 2018


NPM version build status Test coverage David deps Known Vulnerabilities npm download

Init egg app helper tools.


$ npm i egg-init -g
$ egg-init -h

Create a simple type application

$ egg-init --type simple [dest]

Or select a boilerplate by yourself

$ egg-init dest
? Please select a boilerplate type (Use arrow keys)
❯ simple - Simple egg app
  plugin - egg plugin


Usage: egg-init [dir] --type=simple

  --type          boilerplate type                                                [string]
  --dir           target directory                                                [string]
  --force, -f     force to override directory                                     [boolean]
  --template      local path to boilerplate                                       [string]
  --package       boilerplate package name                                        [string]
  --registry, -r  npm registry, support china/npm/custom, default to auto detect  [string]
  --silent        don't ask, just use default value                               [boolean]
  --version       Show version number                                             [boolean]
  -h, --help      Show help                                                       [boolean]

Custom a boilerplate

We use npm package to manager boilerplate, you can follow this steps:

  • Create a new repo like egg-boilerplate-plugin

  • Put all files under boilerplate dir

  • Use egg-init --template=PATH to check

  • index.js can define variables which can be useed on template, like {{name}}, but \{{name}} will ignore.

    module.exports = {
      name: {
        desc: 'package-name',
      pluginName: {
        desc: 'plugin-name',
        default(vars) {
        filter(v) {
          return 'egg-' + v;
      description: {
        desc: 'my best plugin',
      author: {
        desc: 'author',
        default: 'eggjs team'
  • Write unit test, see npm scripts at egg-boilerplate-simple

  • Add your package name to egg-init-config's package.json config.boilerplate property

  • Publish your package to npm