Laravel.io
import { Command, CommandRunner, Option } from 'nest-commander';

@Command({ name: 'sayHello', options: { isDefault: true } })
export class SayHelloCommand implements CommandRunner {
  async run(inputs: string[], options: { name: string; age: number }): Promise<void> {
    console.log('options', options);
    console.log('inputs', inputs);

    if (options.age < 13) {
      console.log(`Hello ${options.name}, you're still rather young!`);
    } else if (12 < options.age && options.age < 50) {
      console.log(`Hello ${options.name}, you're in the prime of your life!`);
    } else {
      console.log(`Hello ${options.name}, getting up there in age, huh? Well, you're only as young as you feel!`);
    }
  }

  @Option({ flags: '-n --name <personName>' })
  parseName(val: string) {
    return val;
  }

  @Option({ flags: '-a --age <age>' })
  parseAge(val: string) {
    return Number.parseInt(val, 10);
  }
}

Please note that all pasted data is publicly available.