code: async function main(argv) {
      const options = minimist(argv, {
          default: {
              pass: '',
              pin: '',
          },
          alias: {
              credentials: 'c',
              device: 'd',
              timeout: 't',
              bind: 'b',
              'bind-port': 'p',
              'skip-login': 'skipLogin',
          },
          string: ['pass', 'pin'],
      });
  
      if (options.v || options.version) {
          // eslint-disable-next-line global-require
          console.log(require('../package.json').version);
          process.exit(0);
      }
  
      if (options.h || options.help || options['?']) {
          showUsage();
          process.exit(0);
      }
  
      const ui = createInterface(options);
  
      if (options.pin) {
          // special case
          await exec(ui, commands.pin);
          return;
      }
  
      const commandName = options._[0] || 'wake';
      const args = options._.slice(1);
  
      const cmd = commands[commandName];
      if (!cmd) {
          ui.logError('No such command:', commandName);
          return;
      }
  
      // execute the command
      await exec(ui, cmd, ...args);
  }
docs: main: