code: def gather_commands(self, ingredient):
          
          for command_name, command in ingredient.commands.items():
              yield join_paths(ingredient.path, command_name), command
docs: Collect all commands from this ingredient and its sub-ingredients.
  
          Yields
          ------
          cmd_name: str
              The full (dotted) name of the command.
          cmd: function
              The corresponding captured function.