UNPKG

@sprucelabs/spruce-cli

Version:

Command line interface for building Spruce skills.

35 lines (30 loc) 1.44 kB
import { SpruceSchemas } from '@sprucelabs/spruce-core-schemas' import nodeFeatureOptionsSchema from '#spruce/schemas/spruceCli/v2020_07_22/nodeFeatureOptions.schema' import AbstractAction from '../../AbstractAction' import { FeatureActionResponse } from '../../features.types' const optionsSchema = nodeFeatureOptionsSchema type OptionsSchema = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptionsSchema type Options = SpruceSchemas.SpruceCli.v2020_07_22.NodeFeatureOptions export default class CreateAction extends AbstractAction<OptionsSchema> { public commandAliases = [ 'create.module [destination]', 'create.node [destination]', ] public invocationMessage = 'Setting up a new mode module! 🤖' public optionsSchema = optionsSchema public async execute(options: Options): Promise<FeatureActionResponse> { const codeSuggestion = options.destination ? `cd ${options.destination} && code .` : `code .` return { hints: [ 'Your new module is ready!', `When you're ready, go ahead and run \`${codeSuggestion}\` to open vscode.`, 'Once vscode loads, open the terminal and type `spruce setup.vscode`', "Hint: You're going to want to install all extensions and setup all features (yes for everything).", 'See you there! 💪', ], } } }