class_docstr: Click command class customized for BentoML CLI, allow specifying a default
  command for each group defined.
  
  This command groups will also introduce support for aliases for commands and groups.
  
  Example:
  
  .. code-block:: python
  
      @click.group(cls=BentoMLCommandGroup)
      def cli(): ...
  
      @click.group(name="cloud", aliases=["cloud"], cls=BentoMLCommandGroup)
      def cli(): ...
  
      @cli.command(aliases=["serve-http"])
      def serve(): ...
code: def group(
      self, *args: t.Any, **kwargs: t.Any
  ) -> t.Callable[[F[P]], Group]:
      aliases = kwargs.pop("aliases", None)
  
      def decorator(f: F[P]):
          # create the main group
          grp = super(BentoMLCommandGroup, self).group(*args, **kwargs)(
              f
          )
  
          if aliases is not None:
              assert grp.name
              self._commands[grp.name] = aliases
              self._aliases.update({k: grp.name for k in aliases})
  
          return grp
  
      return decorator
  
imports: from __future__ import annotations
  import difflib
  import functools
  import logging
  import os
  import re
  import time
  import typing
  import attr
  import click
  import click_option_group
  from click import ClickException
  from click.exceptions import UsageError
label_desc: Use image node_id 6 for calling the BentoMLCommandGroup obj's underlying member method code with example usage: obj.group() and returns: decorator, grp