A fully working Vue.js terminal emulator.


  • Parse arguments with yargs-parser
  • Search history (with /)
  • White/Dark theme support
  • Autocomplete (with )


$ npm i vue-command --save


Property Type Default Required Description
commands Object {} Yes Key-value pairs where key is command and value is function with yargs arguments
help-text String Type help No Sets the placeholder
help-timeout Number 4000 No Sets the placeholder timeout
hide-bar Boolean false No Hides the bar
hide-prompt Boolean false No Hides the prompt
prompt String ~neil@moon:# No Sets the prompt
show-help Boolean false No Shows the placeholder
title String neil@moon: ~ No Sets the title
white-theme Boolean false No Enables the white theme
yargs-options Object {} No Sets the yargs options


    :yargs-options="{ alias: { color: ['colour'] } }"

import VueCommand from 'vue-command'
import 'vue-command/dist/vue-command.css'

export default {
  components: {

  data: () => ({
    commands: {
      // yargs arguments
      pokedex: ({ color, _ }) => {
        if (color && _[1] === 'pikachu') return 'yellow'

        return `Usage: pokedex pokemon [option]<br><br>

        Example: pokedex pikachu --color

<style lang="scss">
  .vue-command {
    .term {
      -webkit-border-radius: 8px;
      -moz-border-radius: 8px;
      border-radius: 8px;

    .term-std {
      min-height: 300px;
      max-height: 300px;
      overflow-y: scroll;