for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
'use strict'
const inquirer = require('inquirer')
inquirer.registerPrompt('autocomplete', require('inquirer-autocomplete-prompt'))
const Kits = require('../kits/Kits')
const Kit = require('../kits/Kit')
module.exports = function (kit, slug) {
var questions = []
if (!kit || !kit.length) {
questions.push({
type: 'autocomplete',
name: 'kit',
message: 'starter kit:',
source: function (answers, input) {
return new Promise(function(resolve) {
Kits.list(function (list) {
resolve(input && input.length ? list.filter(function(value){
return value.indexOf(input) >= 0
}) : list)
})
},
default: 'basic'
}
// Slug is set
if (!slug || !slug.length) {
type: 'input',
name: 'slug',
message: 'module name:',
validate: function (value) {
if (value.match(/^([a-z0-9-]+\/)?[a-z0-9-]+$/)) {
return true
return 'Module name should only contain lowercase letters, numbers and dashes.'
// Need to ask for slug
inquirer.prompt(questions).then(function (answers) {
Kit.create(answers.kit || kit, answers.slug || slug)