def METHOD_NAME(cls, parser):
    # Required
    parser.add_argument('--esp-idf-path', required=True,
                        help='path to ESP-IDF')
    # Optional
    parser.add_argument('--esp-boot-address', default='0x1000',
                        help='bootloader load address')
    parser.add_argument('--esp-partition-table-address', default='0x8000',
                        help='partition table load address')
    parser.add_argument('--esp-app-address', default='0x10000',
                        help='application load address')
    parser.add_argument('--esp-device', default=os.environ.get('ESPTOOL_PORT', None),
                        help='serial port to flash')
    parser.add_argument('--esp-baud-rate', default='921600',
                        help='serial baud rate, default 921600')
    parser.add_argument('--esp-flash-size', default='detect',
                        help='flash size, default "detect"')
    parser.add_argument('--esp-flash-freq', default='40m',
                        help='flash frequency, default "40m"')
    parser.add_argument('--esp-flash-mode', default='dio',
                        help='flash mode, default "dio"')
    parser.add_argument(
        '--esp-tool',
        help='''if given, complete path to espidf. default is to search for
        it in [ESP_IDF_PATH]/components/esptool_py/esptool/esptool.py''')
    parser.add_argument('--esp-flash-bootloader',
                        help='Bootloader image to flash')
    parser.add_argument('--esp-flash-partition_table',
                        help='Partition table to flash')
    parser.add_argument('--esp-no-stub', default=False, action='store_true',
                        help='Disable launching the flasher stub, only talk to ROM bootloader')