def get_recommendations(commands_fields, app_pending_changes):
    """
    :param commands_fields:
    :param app_pending_changes:
    :return: List of object describing command to run

    >>> cmd_fields = [
    ...     ['cmd1', ['f1', 'f2']],
    ...     ['cmd2', ['prop']],
    ... ]
    >>> app_fields = {
    ...     'f2': {'field': 'f2', 'user': 'api', 'updated': '00:00'}
    ... }
    >>> from pprint import pprint
    >>> pprint(get_recommendations(cmd_fields, app_fields))
    [{'command': 'cmd1', 'field': 'f2', 'updated': '00:00', 'user': 'api'}]
    """
    recommended_cmds = []

    for cmd in commands_fields:
        cmd_name = cmd[0]
        cmd_fields = cmd[1]
        for field in cmd_fields:
            if field in app_pending_changes.keys():
                recommended_cmds.append({
                    'command': cmd_name,
                    'field': field,
                    'user': app_pending_changes[field]['user'],
                    'updated': app_pending_changes[field]['updated'],
                })
                break

    return recommended_cmds