cli/index.js
function run (action, command, name, flags) {
  switch (action) {
    case 'new':
    case 'generate':
    case 'g':
      generate(command, name, flags)
      break
    case 'migrate':
      migrate(command || 'up')
      break
    case 'up':
      migrate('up')
      break
    case 'down':
    case 'rollback':
      migrate('down')
      break
    default:
      run('new', action, command, flags)
  }
}
function run (action, command, name, flags) {
  switch (action) {
    case 'new':
    case 'generate':
    case 'g':
      generate(command, name, flags)
      break
    case 'migrate':
      migrate(command || 'up')
      break
    case 'up':
      migrate('up')
      break
    case 'down':
    case 'rollback':
      migrate('down')
      break
    default:
      run('new', action, command, flags)
  }
}
function run ( action , command , name , flags ) { switch ( action ) { case 'new' : case 'generate' : case 'g' : generate ( command , name , flags ) break case 'migrate' : migrate ( command || 'up' ) break case 'up' : migrate ( 'up' ) break case 'down' : case 'rollback' : migrate ( 'down' ) break default : run ( 'new' , action , command , flags ) } }
Handle the cli input

@param {String} action - The action to perform (new, generate)
@param {String} command - The command to pass to the generator or migrator
@param {String} name - The name of the item to create, if any
@param {Object} flags - The flags/options passed to the command line
Handle the cli input