You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by pi...@apache.org on 2023/03/06 21:46:46 UTC

[airflow] 02/37: Move provider issue generation to breeze (#28352)

This is an automated email from the ASF dual-hosted git repository.

pierrejeambrun pushed a commit to branch v2-5-test
in repository https://gitbox.apache.org/repos/asf/airflow.git

commit b42ace20df86f331fb1c56d69a7795a6c21bab63
Author: Jarek Potiuk <ja...@potiuk.com>
AuthorDate: Wed Dec 14 09:20:27 2022 +0100

    Move provider issue generation to breeze (#28352)
    
    The exercise where another PMC performed a release process had
    proven useful to show the value of Breeze in release management
    commands - there were no problems with running the Breeze commands,
    but for scripts put elsewhere (docs building, dev) it was a bit
    problematic because each required own virtualenv.
    
    This is the first PR to simplify that - one less venv for the
    issue generation process - now it is moved to Breeze so no more
    setup is needed.
    
    (cherry picked from commit fd5846d256b6d269b160deb8df67cd3d914188e0)
---
 BREEZE.rst                                         |   9 +
 dev/README_RELEASE_PROVIDER_PACKAGES.md            |   4 +-
 dev/breeze/README.md                               |   2 +-
 dev/breeze/setup.cfg                               |   2 +
 .../commands/release_management_commands.py        | 199 ++++++++++++++++++++-
 .../provider_issue_TEMPLATE.md.jinja2}             |  14 +-
 dev/provider_packages/prepare_provider_packages.py | 164 +----------------
 images/breeze/output-commands-hash.txt             |  15 +-
 images/breeze/output-commands.svg                  |  88 ++++-----
 images/breeze/output_release-management.svg        |  58 +++---
 ...t_release-management_generate-issue-content.svg | 176 ++++++++++++++++++
 images/breeze/output_setup.svg                     |  26 +--
 .../output_setup_regenerate-command-images.svg     |  54 +++---
 .../run_prepare_provider_documentation.sh          |   5 -
 14 files changed, 518 insertions(+), 298 deletions(-)

diff --git a/BREEZE.rst b/BREEZE.rst
index 341f8b8dbe..d1528485fe 100644
--- a/BREEZE.rst
+++ b/BREEZE.rst
@@ -1589,6 +1589,15 @@ All the command parameters are here:
   :width: 100%
   :alt: Breeze verify-provider-packages
 
+Generating Provider Issue
+.........................
+
+You can use Breeze to generate a provider issue when you release new providers.
+
+.. image:: ./images/breeze/output_release-management_generate-issue-content.svg
+  :target: https://raw.githubusercontent.com/apache/airflow/main/images/breeze/output_release-management_generate-issue-content.svg
+  :width: 100%
+  :alt: Breeze generate-issue-content
 
 Preparing airflow packages
 ..........................
diff --git a/dev/README_RELEASE_PROVIDER_PACKAGES.md b/dev/README_RELEASE_PROVIDER_PACKAGES.md
index e484be18f8..a1accffdc4 100644
--- a/dev/README_RELEASE_PROVIDER_PACKAGES.md
+++ b/dev/README_RELEASE_PROVIDER_PACKAGES.md
@@ -391,7 +391,7 @@ set as your environment variable.
 You can also pass the token as `--github-token` option in the script.
 
 ```shell script
-./dev/provider_packages/prepare_provider_packages.py generate-issue-content --only-available-in-dist
+breeze release-management generate-issue-content --only-available-in-dist
 ```
 
 You can also generate the token by following
@@ -400,7 +400,7 @@ You can also generate the token by following
 If you are preparing release for RC2/RC3 candidates, you should add `--suffix` parameter:
 
 ```shell script
-./dev/provider_packages/prepare_provider_packages.py generate-issue-content --only-available-in-dist --suffix rc2
+breeze release-management generate-issue-content --only-available-in-dist --suffix rc2
 ```
 
 
diff --git a/dev/breeze/README.md b/dev/breeze/README.md
index 7dd12fbe68..0c86259305 100644
--- a/dev/breeze/README.md
+++ b/dev/breeze/README.md
@@ -52,6 +52,6 @@ PLEASE DO NOT MODIFY THE HASH BELOW! IT IS AUTOMATICALLY UPDATED BY PRE-COMMIT.
 
 ---------------------------------------------------------------------------------------------------------
 
-Package config hash: 670c60fceb07f18c6fabce5e1382039bc9cc5773d339b54b6957088c484d548ee99e66d11b8eb6cf6872d7467147bcf8661249dc9e64824350edc3eddd57ed5d
+Package config hash: f28f0d555b81a0f48d6b29b3cf8bba132b8c6a8f3d290a25ad4fd62019a9adbf86c0dc913c474e23ae110f3f433db0214bf46b21000f0d2bdd0884134923ae91
 
 ---------------------------------------------------------------------------------------------------------
diff --git a/dev/breeze/setup.cfg b/dev/breeze/setup.cfg
index 69d420c5ff..fe4fef0225 100644
--- a/dev/breeze/setup.cfg
+++ b/dev/breeze/setup.cfg
@@ -58,12 +58,14 @@ install_requires =
     filelock
     inputimeout
     importlib-metadata>=4.4; python_version < "3.8"
+    jinja2
     pendulum
     pre-commit
     psutil
     pytest
     pytest-xdist
     pyyaml
+    PyGithub
     requests
     rich>=12.6.0
     rich-click>=1.5
diff --git a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
index b319ebaa78..0534ea8cf1 100644
--- a/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
+++ b/dev/breeze/src/airflow_breeze/commands/release_management_commands.py
@@ -16,14 +16,22 @@
 # under the License.
 from __future__ import annotations
 
+import json
+import os
+import re
 import shlex
 import sys
+import textwrap
 import time
 from copy import deepcopy
+from datetime import datetime
+from pathlib import Path
 from re import match
-from typing import IO
+from typing import IO, NamedTuple
 
 import click
+from rich.progress import Progress
+from rich.syntax import Syntax
 
 from airflow_breeze.commands.ci_image_commands import rebuild_or_pull_ci_image_if_needed
 from airflow_breeze.global_constants import (
@@ -75,7 +83,7 @@ from airflow_breeze.utils.parallel import (
     check_async_run_results,
     run_with_pool,
 )
-from airflow_breeze.utils.path_utils import cleanup_python_generated_files
+from airflow_breeze.utils.path_utils import AIRFLOW_SOURCES_ROOT, cleanup_python_generated_files
 from airflow_breeze.utils.python_versions import get_python_version_list
 from airflow_breeze.utils.run_utils import (
     RunCommandResult,
@@ -692,3 +700,190 @@ def release_prod_images(
                 f"{dockerhub_repo}:{airflow_version}",
                 f"{dockerhub_repo}:latest",
             )
+
+
+def is_package_in_dist(dist_files: list[str], package: str) -> bool:
+    """Check if package has been prepared in dist folder."""
+    for file in dist_files:
+        if file.startswith(f'apache_airflow_providers_{package.replace(".","_")}') or file.startswith(
+            f'apache-airflow-providers-{package.replace(".","-")}'
+        ):
+            return True
+    return False
+
+
+def get_prs_for_package(package_id: str) -> list[int]:
+    import yaml
+
+    pr_matcher = re.compile(r".*\(#([0-9]*)\)``$")
+    changelog_path = (
+        AIRFLOW_SOURCES_ROOT / "airflow" / "providers" / package_id.replace(".", os.sep) / "CHANGELOG.rst"
+    )
+    # load yaml from file
+    provider_yaml_dict = yaml.safe_load(
+        (
+            AIRFLOW_SOURCES_ROOT
+            / "airflow"
+            / "providers"
+            / package_id.replace(r".", os.sep)
+            / "provider.yaml"
+        ).read_text()
+    )
+    current_release_version = provider_yaml_dict["versions"][0]
+    prs = []
+    with open(changelog_path) as changelog_file:
+        changelog_lines = changelog_file.readlines()
+        extract_prs = False
+        skip_line = False
+        for line in changelog_lines:
+            if skip_line:
+                # Skip first "....." header
+                skip_line = False
+                continue
+            if line.strip() == current_release_version:
+                extract_prs = True
+                skip_line = True
+                continue
+            if extract_prs:
+                if len(line) > 1 and all(c == "." for c in line.strip()):
+                    # Header for next version reached
+                    break
+                if line.startswith(".. Below changes are excluded from the changelog"):
+                    # The reminder of PRs is not important skipping it
+                    break
+                match_result = pr_matcher.match(line.strip())
+                if match_result:
+                    prs.append(int(match_result.group(1)))
+    return prs
+
+
+@release_management.command(
+    name="generate-issue-content", help="Generates content for issue to test the release."
+)
+@click.option(
+    "--github-token",
+    envvar="GITHUB_TOKEN",
+    help=textwrap.dedent(
+        """
+      GitHub token used to authenticate.
+      You can set omit it if you have GITHUB_TOKEN env variable set.
+      Can be generated with:
+      https://github.com/settings/tokens/new?description=Read%20sssues&scopes=repo:status"""
+    ),
+)
+@click.option("--suffix", default="rc1", help="Suffix to add to the version prepared")
+@click.option(
+    "--only-available-in-dist",
+    is_flag=True,
+    help="Only consider package ids with packages prepared in the dist folder",
+)
+@click.option("--excluded-pr-list", type=str, help="Coma-separated list of PRs to exclude from the issue.")
+@argument_packages
+def generate_issue_content(
+    packages: list[str],
+    github_token: str,
+    suffix: str,
+    only_available_in_dist: bool,
+    excluded_pr_list: str,
+):
+    import jinja2
+    import yaml
+    from github import Github, Issue, PullRequest, UnknownObjectException
+
+    class ProviderPRInfo(NamedTuple):
+        provider_package_id: str
+        pypi_package_name: str
+        version: str
+        pr_list: list[PullRequest.PullRequest | Issue.Issue]
+
+    provider_dependencies: dict[str, dict[str, list[str]]] = json.loads(
+        (AIRFLOW_SOURCES_ROOT / "generated" / "provider_dependencies.json").read_text()
+    )
+    if not packages:
+        packages = list(provider_dependencies.keys())
+    with ci_group("Generates GitHub issue content with people who can test it"):
+        if excluded_pr_list:
+            excluded_prs = [int(pr) for pr in excluded_pr_list.split(",")]
+        else:
+            excluded_prs = []
+        all_prs: set[int] = set()
+        provider_prs: dict[str, list[int]] = {}
+        if only_available_in_dist:
+            files_in_dist = os.listdir(str(APACHE_AIRFLOW_GITHUB_REPOSITORY / "dist"))
+        prepared_package_ids = []
+        for package_id in packages:
+            if not only_available_in_dist or is_package_in_dist(files_in_dist, package_id):
+                get_console().print(f"Extracting PRs for provider {package_id}")
+                prepared_package_ids.append(package_id)
+            else:
+                get_console.print(
+                    f"Skipping extracting PRs for provider {package_id} as it is missing in dist"
+                )
+                continue
+            prs = get_prs_for_package(package_id)
+            provider_prs[package_id] = list(filter(lambda pr: pr not in excluded_prs, prs))
+            all_prs.update(provider_prs[package_id])
+        g = Github(github_token)
+        repo = g.get_repo("apache/airflow")
+        pull_requests: dict[int, PullRequest.PullRequest | Issue.Issue] = {}
+        with Progress(console=get_console()) as progress:
+            task = progress.add_task(f"Retrieving {len(all_prs)} PRs ", total=len(all_prs))
+            pr_list = list(all_prs)
+            for i in range(len(pr_list)):
+                pr_number = pr_list[i]
+                progress.console.print(
+                    f"Retrieving PR#{pr_number}: https://github.com/apache/airflow/pull/{pr_number}"
+                )
+                try:
+                    pull_requests[pr_number] = repo.get_pull(pr_number)
+                except UnknownObjectException:
+                    # Fallback to issue if PR not found
+                    try:
+                        pull_requests[pr_number] = repo.get_issue(pr_number)  # (same fields as PR)
+                    except UnknownObjectException:
+                        get_console().print(f"[red]The PR #{pr_number} could not be found[/]")
+                progress.advance(task)
+        providers: dict[str, ProviderPRInfo] = {}
+        for package_id in prepared_package_ids:
+            pull_request_list = [pull_requests[pr] for pr in provider_prs[package_id] if pr in pull_requests]
+            provider_yaml_dict = yaml.safe_load(
+                (
+                    AIRFLOW_SOURCES_ROOT
+                    / "airflow"
+                    / "providers"
+                    / package_id.replace(".", os.sep)
+                    / "provider.yaml"
+                ).read_text()
+            )
+            if pull_request_list:
+                providers[package_id] = ProviderPRInfo(
+                    version=provider_yaml_dict["versions"][0],
+                    provider_package_id=package_id,
+                    pypi_package_name=provider_yaml_dict["package-name"],
+                    pr_list=pull_request_list,
+                )
+        template = jinja2.Template(
+            (Path(__file__).parents[1] / "provider_issue_TEMPLATE.md.jinja2").read_text()
+        )
+        issue_content = template.render(providers=providers, date=datetime.now(), suffix=suffix)
+        get_console().print()
+        get_console().print(
+            "[green]Below you can find the issue content that you can use "
+            "to ask contributor to test providers![/]"
+        )
+        get_console().print()
+        get_console().print()
+        get_console().print(
+            "Issue title: [yellow]Status of testing Providers that were "
+            f"prepared on { datetime.now().strftime('%B %d, %Y') }[/]"
+        )
+        get_console().print()
+        syntax = Syntax(issue_content, "markdown", theme="ansi_dark")
+        get_console().print(syntax)
+        get_console().print()
+        users: set[str] = set()
+        for provider_info in providers.values():
+            for pr in provider_info.pr_list:
+                users.add("@" + pr.user.login)
+        get_console().print("All users involved in the PRs:")
+        get_console().print(" ".join(users))
diff --git a/dev/provider_packages/PROVIDER_ISSUE_TEMPLATE.md.jinja2 b/dev/breeze/src/airflow_breeze/provider_issue_TEMPLATE.md.jinja2
similarity index 57%
rename from dev/provider_packages/PROVIDER_ISSUE_TEMPLATE.md.jinja2
rename to dev/breeze/src/airflow_breeze/provider_issue_TEMPLATE.md.jinja2
index caab34d824..416d0e43a8 100644
--- a/dev/provider_packages/PROVIDER_ISSUE_TEMPLATE.md.jinja2
+++ b/dev/breeze/src/airflow_breeze/provider_issue_TEMPLATE.md.jinja2
@@ -5,9 +5,9 @@ Let us know in the comment, whether the issue is addressed.
 
 Those are providers that require testing as there were some substantial changes introduced:
 
-{% for provider_id, provider_pr_info in interesting_providers.items()  %}
-## Provider [{{ provider_id }}: {{ provider_pr_info.provider_details.versions[0] }}{{ suffix }}](https://pypi.org/project/{{ provider_pr_info.provider_details.pypi_package_name }}/{{ provider_pr_info.provider_details.versions[0] }}{{ suffix }})
-{%- for pr in provider_pr_info.pr_list %}
+{% for provider_id, provider_info in providers.items()  %}
+## Provider [{{ provider_id }}: {{ provider_info.version }}{{ suffix }}](https://pypi.org/project/{{ provider_info.pypi_package_name }}/{{ provider_info.version }}{{ suffix }})
+{%- for pr in provider_info.pr_list %}
    - [ ] [{{ pr.title }} (#{{ pr.number }})]({{ pr.html_url }}): @{{ pr.user.login }}
 {%- endfor %}
 {%- endfor %}
@@ -20,11 +20,11 @@ The guidelines on how to test providers can be found in
 
 NOTE TO RELEASE MANAGER:
 
-Please move here the providers that have doc-only changes or for which changes are trivial and
-you could asses that they are OK. In case
+Please move here the providers that have doc-only changes or for which changes are trivial, and
+you could assess that they are OK. In case
 
-The providers are automatically installed on Airflow 2.1 and latest `main` during the CI, so we know they
-are installable. Also all classes within the providers are imported during the CI run so we know all
+The providers are automatically installed on Airflow 2.3 and latest `main` during the CI, so we know they
+are installable. Also, all classes within the providers are imported during the CI run so we know all
 providers can be imported.
 
 -->
diff --git a/dev/provider_packages/prepare_provider_packages.py b/dev/provider_packages/prepare_provider_packages.py
index ed1afb1e8f..f892c82774 100755
--- a/dev/provider_packages/prepare_provider_packages.py
+++ b/dev/provider_packages/prepare_provider_packages.py
@@ -41,15 +41,13 @@ from os.path import dirname, relpath
 from pathlib import Path
 from random import choice
 from shutil import copyfile
-from typing import Any, Generator, Iterable, NamedTuple, Union
+from typing import Any, Generator, Iterable, NamedTuple
 
 import jsonschema
 import rich_click as click
 import semver as semver
-from github import Github, Issue, PullRequest, UnknownObjectException
 from packaging.version import Version
 from rich.console import Console
-from rich.progress import Progress
 from rich.syntax import Syntax
 from yaml import safe_load
 
@@ -1870,166 +1868,6 @@ def update_changelogs(changelog_files: list[str], git_update: bool, base_branch:
         _update_changelog(package_id=package_id, base_branch=base_branch, verbose=verbose)
 
 
-def get_prs_for_package(package_id: str) -> list[int]:
-    pr_matcher = re.compile(r".*\(#([0-9]*)\)``$")
-    verify_provider_package(package_id)
-    changelog_path = verify_changelog_exists(package_id)
-    provider_details = get_provider_details(package_id)
-    current_release_version = provider_details.versions[0]
-    prs = []
-    with open(changelog_path) as changelog_file:
-        changelog_lines = changelog_file.readlines()
-        extract_prs = False
-        skip_line = False
-        for line in changelog_lines:
-            if skip_line:
-                # Skip first "....." header
-                skip_line = False
-                continue
-            if line.strip() == current_release_version:
-                extract_prs = True
-                skip_line = True
-                continue
-            if extract_prs:
-                if len(line) > 1 and all(c == "." for c in line.strip()):
-                    # Header for next version reached
-                    break
-                if line.startswith(".. Below changes are excluded from the changelog"):
-                    # The reminder of PRs is not important skipping it
-                    break
-                match_result = pr_matcher.match(line.strip())
-                if match_result:
-                    prs.append(int(match_result.group(1)))
-    return prs
-
-
-PullRequestOrIssue = Union[PullRequest.PullRequest, Issue.Issue]
-
-
-class ProviderPRInfo(NamedTuple):
-    provider_details: ProviderPackageDetails
-    pr_list: list[PullRequestOrIssue]
-
-
-def is_package_in_dist(dist_files: list[str], package: str) -> bool:
-    """Check if package has been prepared in dist folder."""
-    for file in dist_files:
-        if file.startswith(f'apache_airflow_providers_{package.replace(".","_")}') or file.startswith(
-            f'apache-airflow-providers-{package.replace(".","-")}'
-        ):
-            return True
-    return False
-
-
-@cli.command()
-@click.option(
-    "--github-token",
-    envvar="GITHUB_TOKEN",
-    help=textwrap.dedent(
-        """
-      GitHub token used to authenticate.
-      You can set omit it if you have GITHUB_TOKEN env variable set.
-      Can be generated with:
-      https://github.com/settings/tokens/new?description=Read%20sssues&scopes=repo:status"""
-    ),
-)
-@click.option("--suffix", default="rc1")
-@click.option(
-    "--only-available-in-dist",
-    is_flag=True,
-    help="Only consider package ids with packages prepared in the dist folder",
-)
-@click.option("--excluded-pr-list", type=str, help="Coma-separated list of PRs to exclude from the issue.")
-@argument_package_ids
-def generate_issue_content(
-    package_ids: list[str],
-    github_token: str,
-    suffix: str,
-    only_available_in_dist: bool,
-    excluded_pr_list: str,
-):
-    if not package_ids:
-        package_ids = get_all_providers()
-    """Generates content for issue to test the release."""
-    with with_group("Generates GitHub issue content with people who can test it"):
-        if excluded_pr_list:
-            excluded_prs = [int(pr) for pr in excluded_pr_list.split(",")]
-        else:
-            excluded_prs = []
-        all_prs: set[int] = set()
-        provider_prs: dict[str, list[int]] = {}
-        if only_available_in_dist:
-            files_in_dist = os.listdir(str(DIST_PATH))
-        prepared_package_ids = []
-        for package_id in package_ids:
-            if not only_available_in_dist or is_package_in_dist(files_in_dist, package_id):
-                console.print(f"Extracting PRs for provider {package_id}")
-                prepared_package_ids.append(package_id)
-            else:
-                console.print(f"Skipping extracting PRs for provider {package_id} as it is missing in dist")
-                continue
-            prs = get_prs_for_package(package_id)
-            provider_prs[package_id] = list(filter(lambda pr: pr not in excluded_prs, prs))
-            all_prs.update(provider_prs[package_id])
-        g = Github(github_token)
-        repo = g.get_repo("apache/airflow")
-        pull_requests: dict[int, PullRequestOrIssue] = {}
-        with Progress(console=console) as progress:
-            task = progress.add_task(f"Retrieving {len(all_prs)} PRs ", total=len(all_prs))
-            pr_list = list(all_prs)
-            for i in range(len(pr_list)):
-                pr_number = pr_list[i]
-                progress.console.print(
-                    f"Retrieving PR#{pr_number}: https://github.com/apache/airflow/pull/{pr_number}"
-                )
-                try:
-                    pull_requests[pr_number] = repo.get_pull(pr_number)
-                except UnknownObjectException:
-                    # Fallback to issue if PR not found
-                    try:
-                        pull_requests[pr_number] = repo.get_issue(pr_number)  # (same fields as PR)
-                    except UnknownObjectException:
-                        console.print(f"[red]The PR #{pr_number} could not be found[/]")
-                progress.advance(task)
-        interesting_providers: dict[str, ProviderPRInfo] = {}
-        non_interesting_providers: dict[str, ProviderPRInfo] = {}
-        for package_id in prepared_package_ids:
-            pull_request_list = [pull_requests[pr] for pr in provider_prs[package_id] if pr in pull_requests]
-            provider_details = get_provider_details(package_id)
-            if pull_request_list:
-                interesting_providers[package_id] = ProviderPRInfo(provider_details, pull_request_list)
-            else:
-                non_interesting_providers[package_id] = ProviderPRInfo(provider_details, pull_request_list)
-        context = {
-            "interesting_providers": interesting_providers,
-            "date": datetime.now(),
-            "suffix": suffix,
-            "non_interesting_providers": non_interesting_providers,
-        }
-        issue_content = render_template(template_name="PROVIDER_ISSUE", context=context, extension=".md")
-        console.print()
-        console.print(
-            "[green]Below you can find the issue content that you can use "
-            "to ask contributor to test providers![/]"
-        )
-        console.print()
-        console.print()
-        console.print(
-            "Issue title: [yellow]Status of testing Providers that were "
-            f"prepared on { datetime.now().strftime('%B %d, %Y') }[/]"
-        )
-        console.print()
-        syntax = Syntax(issue_content, "markdown", theme="ansi_dark")
-        console.print(syntax)
-        console.print()
-        users: set[str] = set()
-        for provider_info in interesting_providers.values():
-            for pr in provider_info.pr_list:
-                users.add("@" + pr.user.login)
-        console.print("All users involved in the PRs:")
-        console.print(" ".join(users))
-
-
 if __name__ == "__main__":
     # The cli exit code is:
     #   * 0 in case of success
diff --git a/images/breeze/output-commands-hash.txt b/images/breeze/output-commands-hash.txt
index efec015ba0..219c440000 100644
--- a/images/breeze/output-commands-hash.txt
+++ b/images/breeze/output-commands-hash.txt
@@ -36,21 +36,22 @@ prod-image:pull:e3c89dd908fc44adf6e159c2950ebdd0
 prod-image:verify:31bc5efada1d70a0a31990025db1a093
 prod-image:a4013428dc7f71a1defc3778d2efe3dc
 release-management:generate-constraints:ae30d6ad49a1b2c15b61cb29080fd957
+release-management:generate-issue-content:24218438f9e85e7c92258aadebbb19de
 release-management:prepare-airflow-package:3ac14ea6d2b09614959c0ec4fd564789
 release-management:prepare-provider-documentation:3fe5ead9887c518d1b397d1103dc0025
 release-management:prepare-provider-packages:40144cb01afc56f6a4f92d9e117e546e
 release-management:release-prod-images:c9bc40938e0efad49e51ef66e83f9527
-release-management:verify-provider-packages:8d3c6362657d76bb3cd064fed5596e84
-release-management:c4e840ca22b11a431f5bc7b118dc061f
+release-management:verify-provider-packages:88bd609aff6d09d52ab8d80d6e055e7b
+release-management:eafd13da512a5a7c0fb1499cf7ff1d63
 setup:autocomplete:03343478bf1d0cf9c101d454cdb63b68
 setup:config:3ffcd35dd24b486ddf1d08b797e3d017
-setup:regenerate-command-images:255746830d7b5d1337d13b8e101f7f83
+setup:regenerate-command-images:ab2d83c339fa3a42b0c819b6b6cc88ae
 setup:self-upgrade:d02f70c7a230eae3463ceec2056b63fa
 setup:version:123b462a421884dc2320ffc5e54b2478
-setup:2e9e4ab1729c5420b7a2b78cbee7539a
-shell:affbf6f7f469408d0af47f75c6a38f6c
-start-airflow:109728919a0dd5c5ff5640ae86ba9e90
-static-checks:7a39e28c87fbca0a9fae0ebfe1591b71
+setup:fbabee281b69f818091d780b24bd815a
+shell:76e0f530b7af514a2aad3032b6516c46
+start-airflow:06d4aeb5f1b65f6b975f3f915558d0b3
+static-checks:f45ad432bdc47a2256fdb0277b19d816
 stop:8969537ccdd799f692ccb8600a7bbed6
 testing:docker-compose-tests:b86c044b24138af0659a05ed6331576c
 testing:helm-tests:94a442e7f3f63b34c4831a84d165690a
diff --git a/images/breeze/output-commands.svg b/images/breeze/output-commands.svg
index 22001729e6..c8763961ad 100644
--- a/images/breeze/output-commands.svg
+++ b/images/breeze/output-commands.svg
@@ -35,8 +35,8 @@
     .breeze-help-r1 { fill: #c5c8c6;font-weight: bold }
 .breeze-help-r2 { fill: #c5c8c6 }
 .breeze-help-r3 { fill: #d0b344;font-weight: bold }
-.breeze-help-r4 { fill: #68a0b3;font-weight: bold }
-.breeze-help-r5 { fill: #868887 }
+.breeze-help-r4 { fill: #868887 }
+.breeze-help-r5 { fill: #68a0b3;font-weight: bold }
 .breeze-help-r6 { fill: #98a84b;font-weight: bold }
 .breeze-help-r7 { fill: #8d7b39 }
     </style>
@@ -187,49 +187,49 @@
     
     <g class="breeze-help-matrix">
     <text class="breeze-help-r2" x="1464" y="20" textLength="12.2" clip-path="url(#breeze-help-line-0)">
-</text><text class="breeze-help-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-help-line-1)">Usage:&#160;</text><text class="breeze-help-r1" x="97.6" y="44.4" textLength="97.6" clip-path="url(#breeze-help-line-1)">breeze&#160;[</text><text class="breeze-help-r4" x="195.2" y="44.4" textLength="85.4" clip-path="url(#breeze-help-line-1)">OPTIONS</text><text class="breeze-help-r1" x="280.6" y="44.4" textLength="24.4" clip-path="url(#breeze-help-line-1)">]&#160;</text><text cl [...]
+</text><text class="breeze-help-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-help-line-1)">Usage:&#160;</text><text class="breeze-help-r1" x="97.6" y="44.4" textLength="414.8" clip-path="url(#breeze-help-line-1)">breeze&#160;[OPTIONS]&#160;COMMAND&#160;[ARGS]...</text><text class="breeze-help-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#breeze-help-line-1)">
 </text><text class="breeze-help-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-help-line-2)">
-</text><text class="breeze-help-r5" x="0" y="93.2" textLength="24.4" clip-path="url(#breeze-help-line-3)">╭─</text><text class="breeze-help-r5" x="24.4" y="93.2" textLength="158.6" clip-path="url(#breeze-help-line-3)">&#160;Basic&#160;flags&#160;</text><text class="breeze-help-r5" x="183" y="93.2" textLength="1256.6" clip-path="url(#breeze-help-line-3)">───────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-help-r [...]
-</text><text class="breeze-help-r5" x="0" y="117.6" textLength="12.2" clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r4" x="24.4" y="117.6" textLength="12.2" clip-path="url(#breeze-help-line-4)">-</text><text class="breeze-help-r4" x="36.6" y="117.6" textLength="85.4" clip-path="url(#breeze-help-line-4)">-python</text><text class="breeze-help-r6" x="305" y="117.6" textLength="24.4" clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r2" x="353.8" [...]
-</text><text class="breeze-help-r5" x="0" y="142" textLength="12.2" clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r5" x="353.8" y="142" textLength="732" clip-path="url(#breeze-help-line-5)">[default:&#160;3.7]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="breeze-help-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-help-line-6)">-</text><text class="breeze-help-r4" x="36.6" y="166.4" textLength="97.6" clip-path="url(#breeze-help-line-6)">-backend</text><text class="breeze-help-r6" x="305" y="166.4" textLength="24.4" clip-path="url(#breeze-help-line-6)">-b</text><text class="breeze-help-r2" x="353.8 [...]
-</text><text class="breeze-help-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r4" x="36.6" y="190.8" textLength="109.8" clip-path="url(#breeze-help-line-7)">-postgres</text><text class="breeze-help-r4" x="146.4" y="190.8" textLength="97.6" clip-path="url(#breeze-help-line-7)">-version</text><text class="breeze-help-r6 [...]
-</text><text class="breeze-help-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r4" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">-</text><text class="breeze-help-r4" x="36.6" y="215.2" textLength="73.2" clip-path="url(#breeze-help-line-8)">-mysql</text><text class="breeze-help-r4" x="109.8" y="215.2" textLength="97.6" clip-path="url(#breeze-help-line-8)">-version</text><text class="breeze-help-r6" x= [...]
-</text><text class="breeze-help-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r4" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-help-line-9)">-</text><text class="breeze-help-r4" x="36.6" y="239.6" textLength="73.2" clip-path="url(#breeze-help-line-9)">-mssql</text><text class="breeze-help-r4" x="109.8" y="239.6" textLength="97.6" clip-path="url(#breeze-help-line-9)">-version</text><text class="breeze-help-r6" x= [...]
-</text><text class="breeze-help-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r4" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-help-line-10)">-</text><text class="breeze-help-r4" x="36.6" y="264" textLength="146.4" clip-path="url(#breeze-help-line-10)">-integration</text><text class="breeze-help-r2" x="353.8" y="264" textLength="744.2" clip-path="url(#breeze-help-line-10)">Integration(s)&#160;to&#160;enable&#160;wh [...]
-</text><text class="breeze-help-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r7" x="353.8" y="288.4" textLength="744.2" clip-path="url(#breeze-help-line-11)">(cassandra&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;pinot&#160;|&#160;celery&#160;|&#160;trino&#160;|&#160;all)</text><text class="breeze-help-r5" x="1451.8" y="288.4" textLength="12.2" clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r2" [...]
-</text><text class="breeze-help-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-help-line-12)">│</text><text class="breeze-help-r4" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-help-line-12)">-</text><text class="breeze-help-r4" x="36.6" y="312.8" textLength="97.6" clip-path="url(#breeze-help-line-12)">-forward</text><text class="breeze-help-r4" x="134.2" y="312.8" textLength="146.4" clip-path="url(#breeze-help-line-12)">-credentials</text><text class="breeze- [...]
-</text><text class="breeze-help-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-help-line-13)">│</text><text class="breeze-help-r4" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-help-line-13)">-</text><text class="breeze-help-r4" x="36.6" y="337.2" textLength="36.6" clip-path="url(#breeze-help-line-13)">-db</text><text class="breeze-help-r4" x="73.2" y="337.2" textLength="73.2" clip-path="url(#breeze-help-line-13)">-reset</text><text class="breeze-help-r6" x="3 [...]
-</text><text class="breeze-help-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r4" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-help-line-14)">-</text><text class="breeze-help-r4" x="36.6" y="361.6" textLength="48.8" clip-path="url(#breeze-help-line-14)">-max</text><text class="breeze-help-r4" x="85.4" y="361.6" textLength="61" clip-path="url(#breeze-help-line-14)">-time</text><text class="breeze-help-r2" x="353 [...]
-</text><text class="breeze-help-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r7" x="353.8" y="386" textLength="1049.2" clip-path="url(#breeze-help-line-15)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="breeze-help-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r4" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">-</text><text class="breeze-help-r4" x="36.6" y="410.4" textLength="85.4" clip-path="url(#breeze-help-line-16)">-github</text><text class="breeze-help-r4" x="122" y="410.4" textLength="134.2" clip-path="url(#breeze-help-line-16)">-repository</text><text class="breeze-help [...]
-</text><text class="breeze-help-r5" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-help-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">
-</text><text class="breeze-help-r5" x="0" y="459.2" textLength="24.4" clip-path="url(#breeze-help-line-18)">╭─</text><text class="breeze-help-r5" x="24.4" y="459.2" textLength="195.2" clip-path="url(#breeze-help-line-18)">&#160;Common&#160;options&#160;</text><text class="breeze-help-r5" x="219.6" y="459.2" textLength="1220" clip-path="url(#breeze-help-line-18)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze- [...]
-</text><text class="breeze-help-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-help-line-19)">│</text><text class="breeze-help-r4" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-help-line-19)">-</text><text class="breeze-help-r4" x="36.6" y="483.6" textLength="97.6" clip-path="url(#breeze-help-line-19)">-verbose</text><text class="breeze-help-r6" x="158.6" y="483.6" textLength="24.4" clip-path="url(#breeze-help-line-19)">-v</text><text class="breeze-help-r2" x= [...]
-</text><text class="breeze-help-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r4" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-help-line-20)">-</text><text class="breeze-help-r4" x="36.6" y="508" textLength="48.8" clip-path="url(#breeze-help-line-20)">-dry</text><text class="breeze-help-r4" x="85.4" y="508" textLength="48.8" clip-path="url(#breeze-help-line-20)">-run</text><text class="breeze-help-r6" x="158.6" y=" [...]
-</text><text class="breeze-help-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-help-line-21)">│</text><text class="breeze-help-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-help-line-21)">-</text><text class="breeze-help-r4" x="36.6" y="532.4" textLength="85.4" clip-path="url(#breeze-help-line-21)">-answer</text><text class="breeze-help-r6" x="158.6" y="532.4" textLength="24.4" clip-path="url(#breeze-help-line-21)">-a</text><text class="breeze-help-r2" x=" [...]
-</text><text class="breeze-help-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-help-line-22)">│</text><text class="breeze-help-r4" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-help-line-22)">-</text><text class="breeze-help-r4" x="36.6" y="556.8" textLength="61" clip-path="url(#breeze-help-line-22)">-help</text><text class="breeze-help-r6" x="158.6" y="556.8" textLength="24.4" clip-path="url(#breeze-help-line-22)">-h</text><text class="breeze-help-r2" x="207. [...]
-</text><text class="breeze-help-r5" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-help-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-help-line-23)">
-</text><text class="breeze-help-r5" x="0" y="605.6" textLength="24.4" clip-path="url(#breeze-help-line-24)">╭─</text><text class="breeze-help-r5" x="24.4" y="605.6" textLength="317.2" clip-path="url(#breeze-help-line-24)">&#160;Basic&#160;developer&#160;commands&#160;</text><text class="breeze-help-r5" x="341.6" y="605.6" textLength="1098" clip-path="url(#breeze-help-line-24)">──────────────────────────────────────────────────────────────────────────────────────────</text><text class="br [...]
-</text><text class="breeze-help-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-help-line-25)">│</text><text class="breeze-help-r4" x="24.4" y="630" textLength="219.6" clip-path="url(#breeze-help-line-25)">start-airflow&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="630" textLength="1171.2" clip-path="url(#breeze-help-line-25)">Enter&#160;breeze&#160;environment&#160;and&#160;starts&#160;all&#160;Airflow&#160;components&#160;in&#160;the&#160;tmux [...]
-</text><text class="breeze-help-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-help-line-26)">│</text><text class="breeze-help-r2" x="268.4" y="654.4" textLength="1171.2" clip-path="url(#breeze-help-line-26)">if&#160;contents&#160;of&#160;www&#160;directory&#160;changed.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-help-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-help-line-27)">│</text><text class="breeze-help-r4" x="24.4" y="678.8" textLength="219.6" clip-path="url(#breeze-help-line-27)">static-checks&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="678.8" textLength="1171.2" clip-path="url(#breeze-help-line-27)">Run&#160;static&#160;checks.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-help-r5" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-help-line-28)">│</text><text class="breeze-help-r4" x="24.4" y="703.2" textLength="219.6" clip-path="url(#breeze-help-line-28)">build-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="703.2" textLength="1171.2" clip-path="url(#breeze-help-line-28)">Build&#160;documentation&#160;in&#160;the&#160;container.&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-help-r5" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r4" x="24.4" y="727.6" textLength="219.6" clip-path="url(#breeze-help-line-29)">stop&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="727.6" textLength="1171.2" clip-path="url(#breeze-help-line-29)">Stop&#160;running&#160;breeze&#160;environment.&#160;&#160;&#160;&#16 [...]
-</text><text class="breeze-help-r5" x="0" y="752" textLength="12.2" clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r4" x="24.4" y="752" textLength="219.6" clip-path="url(#breeze-help-line-30)">shell&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="752" textLength="1171.2" clip-path="url(#breeze-help-line-30)">Enter&#160;breeze&#160;environment.&#160;this&#160;is&#160;the&#160;default&#160 [...]
-</text><text class="breeze-help-r5" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r4" x="24.4" y="776.4" textLength="219.6" clip-path="url(#breeze-help-line-31)">exec&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="776.4" textLength="1171.2" clip-path="url(#breeze-help-line-31)">Joins&#160;the&#160;interactive&#160;shell&#160;of&#160;running&#160; [...]
-</text><text class="breeze-help-r5" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-help-line-32)">│</text><text class="breeze-help-r4" x="24.4" y="800.8" textLength="219.6" clip-path="url(#breeze-help-line-32)">compile-www-assets</text><text class="breeze-help-r2" x="268.4" y="800.8" textLength="1171.2" clip-path="url(#breeze-help-line-32)">Compiles&#160;www&#160;assets.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
-</text><text class="breeze-help-r5" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-help-line-33)">│</text><text class="breeze-help-r4" x="24.4" y="825.2" textLength="219.6" clip-path="url(#breeze-help-line-33)">cleanup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="825.2" textLength="805.2" clip-path="url(#breeze-help-line-33)">Cleans&#160;the&#160;cache&#160;of&#160;parameters,&#160;docker&#160;cache&#160;and&# [...]
-</text><text class="breeze-help-r5" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-help-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-help-line-34)">
-</text><text class="breeze-help-r5" x="0" y="874" textLength="24.4" clip-path="url(#breeze-help-line-35)">╭─</text><text class="breeze-help-r5" x="24.4" y="874" textLength="305" clip-path="url(#breeze-help-line-35)">&#160;Advanced&#160;command&#160;groups&#160;</text><text class="breeze-help-r5" x="329.4" y="874" textLength="1110.2" clip-path="url(#breeze-help-line-35)">───────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-h [...]
-</text><text class="breeze-help-r5" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-help-line-36)">│</text><text class="breeze-help-r4" x="24.4" y="898.4" textLength="280.6" clip-path="url(#breeze-help-line-36)">testing&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="898.4" textLength="1110.2" clip-path="url(#breeze-help-line-36)">Tools&#160;that&#160;developers&#160;can&#160;use&#160 [...]
-</text><text class="breeze-help-r5" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r4" x="24.4" y="922.8" textLength="280.6" clip-path="url(#breeze-help-line-37)">ci-image&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="922.8" textLength="597.8" clip-path="url(#breeze-help-line-37)">Tools&#160;that&#160;developers&#160;can&#160;use&#160;to&#1 [...]
-</text><text class="breeze-help-r5" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r4" x="24.4" y="947.2" textLength="280.6" clip-path="url(#breeze-help-line-38)">k8s&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="947.2" textLength="1110.2" clip-path="url(#breeze-help-line-38)">Tools&#160;that&#160;developers&#1 [...]
-</text><text class="breeze-help-r5" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-help-line-39)">│</text><text class="breeze-help-r4" x="24.4" y="971.6" textLength="280.6" clip-path="url(#breeze-help-line-39)">prod-image&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="971.6" textLength="597.8" clip-path="url(#breeze-help-line-39)">Tools&#160;that&#160;developers&#160;can&#160;use&#160;to&#160;manuall [...]
-</text><text class="breeze-help-r5" x="0" y="996" textLength="12.2" clip-path="url(#breeze-help-line-40)">│</text><text class="breeze-help-r4" x="24.4" y="996" textLength="280.6" clip-path="url(#breeze-help-line-40)">setup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="996" textLength="1110.2" clip-path="url(#breeze-help-line-40)">Tools&#160;that&#160;developers&#160;can&#160;use& [...]
-</text><text class="breeze-help-r5" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-help-line-41)">│</text><text class="breeze-help-r4" x="24.4" y="1020.4" textLength="280.6" clip-path="url(#breeze-help-line-41)">release-management&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="1020.4" textLength="1110.2" clip-path="url(#breeze-help-line-41)">Tools&#160;that&#160;release&#160;managers&#160;can&#160;use&#160;to&#160;prepare&#160;and&#160;manage&#16 [...]
-</text><text class="breeze-help-r5" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r4" x="24.4" y="1044.8" textLength="280.6" clip-path="url(#breeze-help-line-42)">ci&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="1044.8" textLength="134.2" clip-path="url(#breeze-help-line-42)">Tools&#160;that&#160;</text [...]
-</text><text class="breeze-help-r5" x="0" y="1069.2" textLength="1464" clip-path="url(#breeze-help-line-43)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-help-line-43)">
+</text><text class="breeze-help-r4" x="0" y="93.2" textLength="24.4" clip-path="url(#breeze-help-line-3)">╭─</text><text class="breeze-help-r4" x="24.4" y="93.2" textLength="158.6" clip-path="url(#breeze-help-line-3)">&#160;Basic&#160;flags&#160;</text><text class="breeze-help-r4" x="183" y="93.2" textLength="1256.6" clip-path="url(#breeze-help-line-3)">───────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-help-r [...]
+</text><text class="breeze-help-r4" x="0" y="117.6" textLength="12.2" clip-path="url(#breeze-help-line-4)">│</text><text class="breeze-help-r5" x="24.4" y="117.6" textLength="12.2" clip-path="url(#breeze-help-line-4)">-</text><text class="breeze-help-r5" x="36.6" y="117.6" textLength="85.4" clip-path="url(#breeze-help-line-4)">-python</text><text class="breeze-help-r6" x="305" y="117.6" textLength="24.4" clip-path="url(#breeze-help-line-4)">-p</text><text class="breeze-help-r2" x="353.8" [...]
+</text><text class="breeze-help-r4" x="0" y="142" textLength="12.2" clip-path="url(#breeze-help-line-5)">│</text><text class="breeze-help-r4" x="353.8" y="142" textLength="732" clip-path="url(#breeze-help-line-5)">[default:&#160;3.7]&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-help-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-help-line-6)">│</text><text class="breeze-help-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-help-line-6)">-</text><text class="breeze-help-r5" x="36.6" y="166.4" textLength="97.6" clip-path="url(#breeze-help-line-6)">-backend</text><text class="breeze-help-r6" x="305" y="166.4" textLength="24.4" clip-path="url(#breeze-help-line-6)">-b</text><text class="breeze-help-r2" x="353.8 [...]
+</text><text class="breeze-help-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">│</text><text class="breeze-help-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-help-line-7)">-</text><text class="breeze-help-r5" x="36.6" y="190.8" textLength="109.8" clip-path="url(#breeze-help-line-7)">-postgres</text><text class="breeze-help-r5" x="146.4" y="190.8" textLength="97.6" clip-path="url(#breeze-help-line-7)">-version</text><text class="breeze-help-r6 [...]
+</text><text class="breeze-help-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">│</text><text class="breeze-help-r5" x="24.4" y="215.2" textLength="12.2" clip-path="url(#breeze-help-line-8)">-</text><text class="breeze-help-r5" x="36.6" y="215.2" textLength="73.2" clip-path="url(#breeze-help-line-8)">-mysql</text><text class="breeze-help-r5" x="109.8" y="215.2" textLength="97.6" clip-path="url(#breeze-help-line-8)">-version</text><text class="breeze-help-r6" x= [...]
+</text><text class="breeze-help-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-help-line-9)">│</text><text class="breeze-help-r5" x="24.4" y="239.6" textLength="12.2" clip-path="url(#breeze-help-line-9)">-</text><text class="breeze-help-r5" x="36.6" y="239.6" textLength="73.2" clip-path="url(#breeze-help-line-9)">-mssql</text><text class="breeze-help-r5" x="109.8" y="239.6" textLength="97.6" clip-path="url(#breeze-help-line-9)">-version</text><text class="breeze-help-r6" x= [...]
+</text><text class="breeze-help-r4" x="0" y="264" textLength="12.2" clip-path="url(#breeze-help-line-10)">│</text><text class="breeze-help-r5" x="24.4" y="264" textLength="12.2" clip-path="url(#breeze-help-line-10)">-</text><text class="breeze-help-r5" x="36.6" y="264" textLength="146.4" clip-path="url(#breeze-help-line-10)">-integration</text><text class="breeze-help-r2" x="353.8" y="264" textLength="744.2" clip-path="url(#breeze-help-line-10)">Integration(s)&#160;to&#160;enable&#160;wh [...]
+</text><text class="breeze-help-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r7" x="353.8" y="288.4" textLength="744.2" clip-path="url(#breeze-help-line-11)">(cassandra&#160;|&#160;kerberos&#160;|&#160;mongo&#160;|&#160;pinot&#160;|&#160;celery&#160;|&#160;trino&#160;|&#160;all)</text><text class="breeze-help-r4" x="1451.8" y="288.4" textLength="12.2" clip-path="url(#breeze-help-line-11)">│</text><text class="breeze-help-r2" [...]
+</text><text class="breeze-help-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-help-line-12)">│</text><text class="breeze-help-r5" x="24.4" y="312.8" textLength="12.2" clip-path="url(#breeze-help-line-12)">-</text><text class="breeze-help-r5" x="36.6" y="312.8" textLength="97.6" clip-path="url(#breeze-help-line-12)">-forward</text><text class="breeze-help-r5" x="134.2" y="312.8" textLength="146.4" clip-path="url(#breeze-help-line-12)">-credentials</text><text class="breeze- [...]
+</text><text class="breeze-help-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-help-line-13)">│</text><text class="breeze-help-r5" x="24.4" y="337.2" textLength="12.2" clip-path="url(#breeze-help-line-13)">-</text><text class="breeze-help-r5" x="36.6" y="337.2" textLength="36.6" clip-path="url(#breeze-help-line-13)">-db</text><text class="breeze-help-r5" x="73.2" y="337.2" textLength="73.2" clip-path="url(#breeze-help-line-13)">-reset</text><text class="breeze-help-r6" x="3 [...]
+</text><text class="breeze-help-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-help-line-14)">│</text><text class="breeze-help-r5" x="24.4" y="361.6" textLength="12.2" clip-path="url(#breeze-help-line-14)">-</text><text class="breeze-help-r5" x="36.6" y="361.6" textLength="48.8" clip-path="url(#breeze-help-line-14)">-max</text><text class="breeze-help-r5" x="85.4" y="361.6" textLength="61" clip-path="url(#breeze-help-line-14)">-time</text><text class="breeze-help-r2" x="353 [...]
+</text><text class="breeze-help-r4" x="0" y="386" textLength="12.2" clip-path="url(#breeze-help-line-15)">│</text><text class="breeze-help-r7" x="353.8" y="386" textLength="1049.2" clip-path="url(#breeze-help-line-15)">(INTEGER&#160;RANGE)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-help-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">│</text><text class="breeze-help-r5" x="24.4" y="410.4" textLength="12.2" clip-path="url(#breeze-help-line-16)">-</text><text class="breeze-help-r5" x="36.6" y="410.4" textLength="85.4" clip-path="url(#breeze-help-line-16)">-github</text><text class="breeze-help-r5" x="122" y="410.4" textLength="134.2" clip-path="url(#breeze-help-line-16)">-repository</text><text class="breeze-help [...]
+</text><text class="breeze-help-r4" x="0" y="434.8" textLength="1464" clip-path="url(#breeze-help-line-17)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-help-line-17)">
+</text><text class="breeze-help-r4" x="0" y="459.2" textLength="24.4" clip-path="url(#breeze-help-line-18)">╭─</text><text class="breeze-help-r4" x="24.4" y="459.2" textLength="195.2" clip-path="url(#breeze-help-line-18)">&#160;Common&#160;options&#160;</text><text class="breeze-help-r4" x="219.6" y="459.2" textLength="1220" clip-path="url(#breeze-help-line-18)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze- [...]
+</text><text class="breeze-help-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-help-line-19)">│</text><text class="breeze-help-r5" x="24.4" y="483.6" textLength="12.2" clip-path="url(#breeze-help-line-19)">-</text><text class="breeze-help-r5" x="36.6" y="483.6" textLength="97.6" clip-path="url(#breeze-help-line-19)">-verbose</text><text class="breeze-help-r6" x="158.6" y="483.6" textLength="24.4" clip-path="url(#breeze-help-line-19)">-v</text><text class="breeze-help-r2" x= [...]
+</text><text class="breeze-help-r4" x="0" y="508" textLength="12.2" clip-path="url(#breeze-help-line-20)">│</text><text class="breeze-help-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-help-line-20)">-</text><text class="breeze-help-r5" x="36.6" y="508" textLength="48.8" clip-path="url(#breeze-help-line-20)">-dry</text><text class="breeze-help-r5" x="85.4" y="508" textLength="48.8" clip-path="url(#breeze-help-line-20)">-run</text><text class="breeze-help-r6" x="158.6" y=" [...]
+</text><text class="breeze-help-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-help-line-21)">│</text><text class="breeze-help-r5" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-help-line-21)">-</text><text class="breeze-help-r5" x="36.6" y="532.4" textLength="85.4" clip-path="url(#breeze-help-line-21)">-answer</text><text class="breeze-help-r6" x="158.6" y="532.4" textLength="24.4" clip-path="url(#breeze-help-line-21)">-a</text><text class="breeze-help-r2" x=" [...]
+</text><text class="breeze-help-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-help-line-22)">│</text><text class="breeze-help-r5" x="24.4" y="556.8" textLength="12.2" clip-path="url(#breeze-help-line-22)">-</text><text class="breeze-help-r5" x="36.6" y="556.8" textLength="61" clip-path="url(#breeze-help-line-22)">-help</text><text class="breeze-help-r6" x="158.6" y="556.8" textLength="24.4" clip-path="url(#breeze-help-line-22)">-h</text><text class="breeze-help-r2" x="207. [...]
+</text><text class="breeze-help-r4" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-help-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-help-line-23)">
+</text><text class="breeze-help-r4" x="0" y="605.6" textLength="24.4" clip-path="url(#breeze-help-line-24)">╭─</text><text class="breeze-help-r4" x="24.4" y="605.6" textLength="317.2" clip-path="url(#breeze-help-line-24)">&#160;Basic&#160;developer&#160;commands&#160;</text><text class="breeze-help-r4" x="341.6" y="605.6" textLength="1098" clip-path="url(#breeze-help-line-24)">──────────────────────────────────────────────────────────────────────────────────────────</text><text class="br [...]
+</text><text class="breeze-help-r4" x="0" y="630" textLength="12.2" clip-path="url(#breeze-help-line-25)">│</text><text class="breeze-help-r5" x="24.4" y="630" textLength="219.6" clip-path="url(#breeze-help-line-25)">start-airflow&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="630" textLength="1171.2" clip-path="url(#breeze-help-line-25)">Enter&#160;breeze&#160;environment&#160;and&#160;starts&#160;all&#160;Airflow&#160;components&#160;in&#160;the&#160;tmux [...]
+</text><text class="breeze-help-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-help-line-26)">│</text><text class="breeze-help-r2" x="268.4" y="654.4" textLength="1171.2" clip-path="url(#breeze-help-line-26)">if&#160;contents&#160;of&#160;www&#160;directory&#160;changed.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-help-r4" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-help-line-27)">│</text><text class="breeze-help-r5" x="24.4" y="678.8" textLength="219.6" clip-path="url(#breeze-help-line-27)">static-checks&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="678.8" textLength="1171.2" clip-path="url(#breeze-help-line-27)">Run&#160;static&#160;checks.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-help-r4" x="0" y="703.2" textLength="12.2" clip-path="url(#breeze-help-line-28)">│</text><text class="breeze-help-r5" x="24.4" y="703.2" textLength="219.6" clip-path="url(#breeze-help-line-28)">build-docs&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="703.2" textLength="1171.2" clip-path="url(#breeze-help-line-28)">Build&#160;documentation&#160;in&#160;the&#160;container.&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-help-r4" x="0" y="727.6" textLength="12.2" clip-path="url(#breeze-help-line-29)">│</text><text class="breeze-help-r5" x="24.4" y="727.6" textLength="219.6" clip-path="url(#breeze-help-line-29)">stop&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="727.6" textLength="1171.2" clip-path="url(#breeze-help-line-29)">Stop&#160;running&#160;breeze&#160;environment.&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-help-r4" x="0" y="752" textLength="12.2" clip-path="url(#breeze-help-line-30)">│</text><text class="breeze-help-r5" x="24.4" y="752" textLength="219.6" clip-path="url(#breeze-help-line-30)">shell&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="752" textLength="1171.2" clip-path="url(#breeze-help-line-30)">Enter&#160;breeze&#160;environment.&#160;this&#160;is&#160;the&#160;default&#160 [...]
+</text><text class="breeze-help-r4" x="0" y="776.4" textLength="12.2" clip-path="url(#breeze-help-line-31)">│</text><text class="breeze-help-r5" x="24.4" y="776.4" textLength="219.6" clip-path="url(#breeze-help-line-31)">exec&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="776.4" textLength="1171.2" clip-path="url(#breeze-help-line-31)">Joins&#160;the&#160;interactive&#160;shell&#160;of&#160;running&#160; [...]
+</text><text class="breeze-help-r4" x="0" y="800.8" textLength="12.2" clip-path="url(#breeze-help-line-32)">│</text><text class="breeze-help-r5" x="24.4" y="800.8" textLength="219.6" clip-path="url(#breeze-help-line-32)">compile-www-assets</text><text class="breeze-help-r2" x="268.4" y="800.8" textLength="1171.2" clip-path="url(#breeze-help-line-32)">Compiles&#160;www&#160;assets.&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-help-r4" x="0" y="825.2" textLength="12.2" clip-path="url(#breeze-help-line-33)">│</text><text class="breeze-help-r5" x="24.4" y="825.2" textLength="219.6" clip-path="url(#breeze-help-line-33)">cleanup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="268.4" y="825.2" textLength="1171.2" clip-path="url(#breeze-help-line-33)">Cleans&#160;the&#160;cache&#160;of&#160;parameters,&#160;docker&#160;cache&#160;and& [...]
+</text><text class="breeze-help-r4" x="0" y="849.6" textLength="1464" clip-path="url(#breeze-help-line-34)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="849.6" textLength="12.2" clip-path="url(#breeze-help-line-34)">
+</text><text class="breeze-help-r4" x="0" y="874" textLength="24.4" clip-path="url(#breeze-help-line-35)">╭─</text><text class="breeze-help-r4" x="24.4" y="874" textLength="305" clip-path="url(#breeze-help-line-35)">&#160;Advanced&#160;command&#160;groups&#160;</text><text class="breeze-help-r4" x="329.4" y="874" textLength="1110.2" clip-path="url(#breeze-help-line-35)">───────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-h [...]
+</text><text class="breeze-help-r4" x="0" y="898.4" textLength="12.2" clip-path="url(#breeze-help-line-36)">│</text><text class="breeze-help-r5" x="24.4" y="898.4" textLength="280.6" clip-path="url(#breeze-help-line-36)">testing&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="898.4" textLength="1110.2" clip-path="url(#breeze-help-line-36)">Tools&#160;that&#160;developers&#160;can&#160;use&#160 [...]
+</text><text class="breeze-help-r4" x="0" y="922.8" textLength="12.2" clip-path="url(#breeze-help-line-37)">│</text><text class="breeze-help-r5" x="24.4" y="922.8" textLength="280.6" clip-path="url(#breeze-help-line-37)">ci-image&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="922.8" textLength="1110.2" clip-path="url(#breeze-help-line-37)">Tools&#160;that&#160;developers&#160;can&#160;use&#160;to&# [...]
+</text><text class="breeze-help-r4" x="0" y="947.2" textLength="12.2" clip-path="url(#breeze-help-line-38)">│</text><text class="breeze-help-r5" x="24.4" y="947.2" textLength="280.6" clip-path="url(#breeze-help-line-38)">k8s&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="947.2" textLength="1110.2" clip-path="url(#breeze-help-line-38)">Tools&#160;that&#160;developers&#1 [...]
+</text><text class="breeze-help-r4" x="0" y="971.6" textLength="12.2" clip-path="url(#breeze-help-line-39)">│</text><text class="breeze-help-r5" x="24.4" y="971.6" textLength="280.6" clip-path="url(#breeze-help-line-39)">prod-image&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="971.6" textLength="1110.2" clip-path="url(#breeze-help-line-39)">Tools&#160;that&#160;developers&#160;can&#160;use&#160;to&#160;manual [...]
+</text><text class="breeze-help-r4" x="0" y="996" textLength="12.2" clip-path="url(#breeze-help-line-40)">│</text><text class="breeze-help-r5" x="24.4" y="996" textLength="280.6" clip-path="url(#breeze-help-line-40)">setup&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="996" textLength="1110.2" clip-path="url(#breeze-help-line-40)">Tools&#160;that&#160;developers&#160;can&#160;use& [...]
+</text><text class="breeze-help-r4" x="0" y="1020.4" textLength="12.2" clip-path="url(#breeze-help-line-41)">│</text><text class="breeze-help-r5" x="24.4" y="1020.4" textLength="280.6" clip-path="url(#breeze-help-line-41)">release-management&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="1020.4" textLength="1110.2" clip-path="url(#breeze-help-line-41)">Tools&#160;that&#160;release&#160;managers&#160;can&#160;use&#160;to&#160;prepare&#160;and&#160;manage&#16 [...]
+</text><text class="breeze-help-r4" x="0" y="1044.8" textLength="12.2" clip-path="url(#breeze-help-line-42)">│</text><text class="breeze-help-r5" x="24.4" y="1044.8" textLength="280.6" clip-path="url(#breeze-help-line-42)">ci&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-help-r2" x="329.4" y="1044.8" textLength="1110.2" clip-path="url(#breeze-help-line-42)">Tools&#160;that&#160;CI&#1 [...]
+</text><text class="breeze-help-r4" x="0" y="1069.2" textLength="1464" clip-path="url(#breeze-help-line-43)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-help-r2" x="1464" y="1069.2" textLength="12.2" clip-path="url(#breeze-help-line-43)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output_release-management.svg b/images/breeze/output_release-management.svg
index c81b2ac637..1a70516162 100644
--- a/images/breeze/output_release-management.svg
+++ b/images/breeze/output_release-management.svg
@@ -1,4 +1,4 @@
-<svg class="rich-terminal" viewBox="0 0 1482 440.4" xmlns="http://www.w3.org/2000/svg">
+<svg class="rich-terminal" viewBox="0 0 1482 464.79999999999995" xmlns="http://www.w3.org/2000/svg">
     <!-- Generated with Rich https://www.textualize.io -->
     <style>
 
@@ -32,17 +32,17 @@
         font-family: arial;
     }
 
-    .terminal-1770299259-r1 { fill: #c5c8c6;font-weight: bold }
-.terminal-1770299259-r2 { fill: #c5c8c6 }
-.terminal-1770299259-r3 { fill: #d0b344;font-weight: bold }
-.terminal-1770299259-r4 { fill: #68a0b3;font-weight: bold }
-.terminal-1770299259-r5 { fill: #868887 }
-.terminal-1770299259-r6 { fill: #98a84b;font-weight: bold }
+    .breeze-release-management-r1 { fill: #c5c8c6;font-weight: bold }
+.breeze-release-management-r2 { fill: #c5c8c6 }
+.breeze-release-management-r3 { fill: #d0b344;font-weight: bold }
+.breeze-release-management-r4 { fill: #868887 }
+.breeze-release-management-r5 { fill: #68a0b3;font-weight: bold }
+.breeze-release-management-r6 { fill: #98a84b;font-weight: bold }
     </style>
 
     <defs>
-    <clipPath id="terminal-1770299259-clip-terminal">
-      <rect x="0" y="0" width="1463.0" height="389.4" />
+    <clipPath id="breeze-release-management-clip-terminal">
+      <rect x="0" y="0" width="1463.0" height="413.79999999999995" />
     </clipPath>
     <clipPath id="terminal-1770299259-line-0">
     <rect x="0" y="1.5" width="1464" height="24.65"/>
@@ -89,9 +89,12 @@
 <clipPath id="terminal-1770299259-line-14">
     <rect x="0" y="343.1" width="1464" height="24.65"/>
             </clipPath>
+<clipPath id="breeze-release-management-line-15">
+    <rect x="0" y="367.5" width="1464" height="24.65"/>
+            </clipPath>
     </defs>
 
-    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="438.4" rx="8"/><text class="terminal-1770299259-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management</text>
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="462.8" rx="8"/><text class="breeze-release-management-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management</text>
             <g transform="translate(26,22)">
             <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
             <circle cx="22" cy="0" r="7" fill="#febc2e"/>
@@ -100,23 +103,24 @@
         
     <g transform="translate(9, 41)" clip-path="url(#terminal-1770299259-clip-terminal)">
     
-    <g class="terminal-1770299259-matrix">
-    <text class="terminal-1770299259-r2" x="1464" y="20" textLength="12.2" clip-path="url(#terminal-1770299259-line-0)">
-</text><text class="terminal-1770299259-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#terminal-1770299259-line-1)">Usage:&#160;</text><text class="terminal-1770299259-r1" x="97.6" y="44.4" textLength="329.4" clip-path="url(#terminal-1770299259-line-1)">breeze&#160;release-management&#160;[</text><text class="terminal-1770299259-r4" x="427" y="44.4" textLength="85.4" clip-path="url(#terminal-1770299259-line-1)">OPTIONS</text><text class="terminal-1770299259-r1" x="512.4" y="44.4 [...]
-</text><text class="terminal-1770299259-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#terminal-1770299259-line-2)">
-</text><text class="terminal-1770299259-r2" x="12.2" y="93.2" textLength="902.8" clip-path="url(#terminal-1770299259-line-3)">Tools&#160;that&#160;release&#160;managers&#160;can&#160;use&#160;to&#160;prepare&#160;and&#160;manage&#160;Airflow&#160;releases</text><text class="terminal-1770299259-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#terminal-1770299259-line-3)">
-</text><text class="terminal-1770299259-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#terminal-1770299259-line-4)">
-</text><text class="terminal-1770299259-r5" x="0" y="142" textLength="24.4" clip-path="url(#terminal-1770299259-line-5)">╭─</text><text class="terminal-1770299259-r5" x="24.4" y="142" textLength="195.2" clip-path="url(#terminal-1770299259-line-5)">&#160;Common&#160;options&#160;</text><text class="terminal-1770299259-r5" x="219.6" y="142" textLength="1220" clip-path="url(#terminal-1770299259-line-5)">──────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="terminal-1770299259-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#terminal-1770299259-line-6)">│</text><text class="terminal-1770299259-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#terminal-1770299259-line-6)">-</text><text class="terminal-1770299259-r4" x="36.6" y="166.4" textLength="61" clip-path="url(#terminal-1770299259-line-6)">-help</text><text class="terminal-1770299259-r6" x="122" y="166.4" textLength="24.4" clip-path="url(#terminal-1770299 [...]
-</text><text class="terminal-1770299259-r5" x="0" y="190.8" textLength="1464" clip-path="url(#terminal-1770299259-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1770299259-r2" x="1464" y="190.8" textLength="12.2" clip-path="url(#terminal-1770299259-line-7)">
-</text><text class="terminal-1770299259-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#terminal-1770299259-line-8)">╭─</text><text class="terminal-1770299259-r5" x="24.4" y="215.2" textLength="122" clip-path="url(#terminal-1770299259-line-8)">&#160;Commands&#160;</text><text class="terminal-1770299259-r5" x="146.4" y="215.2" textLength="1293.2" clip-path="url(#terminal-1770299259-line-8)">───────────────────────────────────────────────────────────────────────────────────────────── [...]
-</text><text class="terminal-1770299259-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#terminal-1770299259-line-9)">│</text><text class="terminal-1770299259-r4" x="24.4" y="239.6" textLength="402.6" clip-path="url(#terminal-1770299259-line-9)">generate-constraints&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1770299259-r2" x="451.4" y="239.6" textLength="988.2" clip-path="url(#terminal-1770299259-line-9)">Generates&#160; [...]
-</text><text class="terminal-1770299259-r5" x="0" y="264" textLength="12.2" clip-path="url(#terminal-1770299259-line-10)">│</text><text class="terminal-1770299259-r4" x="24.4" y="264" textLength="402.6" clip-path="url(#terminal-1770299259-line-10)">prepare-airflow-package&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1770299259-r2" x="451.4" y="264" textLength="988.2" clip-path="url(#terminal-1770299259-line-10)">Prepare&#160;sdist/whl&#160;packa [...]
-</text><text class="terminal-1770299259-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#terminal-1770299259-line-11)">│</text><text class="terminal-1770299259-r4" x="24.4" y="288.4" textLength="402.6" clip-path="url(#terminal-1770299259-line-11)">prepare-provider-documentation&#160;&#160;&#160;</text><text class="terminal-1770299259-r2" x="451.4" y="288.4" textLength="97.6" clip-path="url(#terminal-1770299259-line-11)">Prepare&#160;</text><text class="terminal-1770299259-r4" x="549 [...]
-</text><text class="terminal-1770299259-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#terminal-1770299259-line-12)">│</text><text class="terminal-1770299259-r4" x="24.4" y="312.8" textLength="402.6" clip-path="url(#terminal-1770299259-line-12)">prepare-provider-packages&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1770299259-r2" x="451.4" y="312.8" textLength="988.2" clip-path="url(#terminal-1770299259-line-12)">Prepare&#160;sdist/whl&#160;packages& [...]
-</text><text class="terminal-1770299259-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#terminal-1770299259-line-13)">│</text><text class="terminal-1770299259-r4" x="24.4" y="337.2" textLength="402.6" clip-path="url(#terminal-1770299259-line-13)">release-prod-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1770299259-r2" x="451.4" y="337.2" textLength="988.2" clip-path="url(#terminal-1770299259-line-13)">Release [...]
-</text><text class="terminal-1770299259-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#terminal-1770299259-line-14)">│</text><text class="terminal-1770299259-r4" x="24.4" y="361.6" textLength="402.6" clip-path="url(#terminal-1770299259-line-14)">verify-provider-packages&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="terminal-1770299259-r2" x="451.4" y="361.6" textLength="988.2" clip-path="url(#terminal-1770299259-line-14)">Verifies&#160;if&#160;all&#160;p [...]
-</text><text class="terminal-1770299259-r5" x="0" y="386" textLength="1464" clip-path="url(#terminal-1770299259-line-15)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="terminal-1770299259-r2" x="1464" y="386" textLength="12.2" clip-path="url(#terminal-1770299259-line-15)">
+    <g class="breeze-release-management-matrix">
+    <text class="breeze-release-management-r2" x="1464" y="20" textLength="12.2" clip-path="url(#breeze-release-management-line-0)">
+</text><text class="breeze-release-management-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-release-management-line-1)">Usage:&#160;</text><text class="breeze-release-management-r1" x="97.6" y="44.4" textLength="646.6" clip-path="url(#breeze-release-management-line-1)">breeze&#160;release-management&#160;[OPTIONS]&#160;COMMAND&#160;[ARGS]...</text><text class="breeze-release-management-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#breeze-release-management-line-1)">
+</text><text class="breeze-release-management-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-release-management-line-2)">
+</text><text class="breeze-release-management-r2" x="12.2" y="93.2" textLength="902.8" clip-path="url(#breeze-release-management-line-3)">Tools&#160;that&#160;release&#160;managers&#160;can&#160;use&#160;to&#160;prepare&#160;and&#160;manage&#160;Airflow&#160;releases</text><text class="breeze-release-management-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-release-management-line-3)">
+</text><text class="breeze-release-management-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-release-management-line-4)">
+</text><text class="breeze-release-management-r4" x="0" y="142" textLength="24.4" clip-path="url(#breeze-release-management-line-5)">╭─</text><text class="breeze-release-management-r4" x="24.4" y="142" textLength="195.2" clip-path="url(#breeze-release-management-line-5)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-r4" x="219.6" y="142" textLength="1220" clip-path="url(#breeze-release-management-line-5)">──────────────────────────────────────────────────── [...]
+</text><text class="breeze-release-management-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-line-6)">│</text><text class="breeze-release-management-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-release-management-line-6)">-</text><text class="breeze-release-management-r5" x="36.6" y="166.4" textLength="61" clip-path="url(#breeze-release-management-line-6)">-help</text><text class="breeze-release-management-r6" x="122" y="166.4" textLeng [...]
+</text><text class="breeze-release-management-r4" x="0" y="190.8" textLength="1464" clip-path="url(#breeze-release-management-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r2" x="1464" y="190.8" textLength="12.2" clip-path="url(#breeze-release-management-line-7)">
+</text><text class="breeze-release-management-r4" x="0" y="215.2" textLength="24.4" clip-path="url(#breeze-release-management-line-8)">╭─</text><text class="breeze-release-management-r4" x="24.4" y="215.2" textLength="122" clip-path="url(#breeze-release-management-line-8)">&#160;Commands&#160;</text><text class="breeze-release-management-r4" x="146.4" y="215.2" textLength="1293.2" clip-path="url(#breeze-release-management-line-8)">───────────────────────────────────────────────────────── [...]
+</text><text class="breeze-release-management-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-release-management-line-9)">│</text><text class="breeze-release-management-r5" x="24.4" y="239.6" textLength="402.6" clip-path="url(#breeze-release-management-line-9)">generate-constraints&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r2" x="451.4" y="239.6" textLength="988.2" clip-path="url(#breeze-release [...]
+</text><text class="breeze-release-management-r4" x="0" y="264" textLength="12.2" clip-path="url(#breeze-release-management-line-10)">│</text><text class="breeze-release-management-r5" x="24.4" y="264" textLength="402.6" clip-path="url(#breeze-release-management-line-10)">generate-issue-content&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r2" x="451.4" y="264" textLength="988.2" clip-path="url(#breeze-release-management-li [...]
+</text><text class="breeze-release-management-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-release-management-line-11)">│</text><text class="breeze-release-management-r5" x="24.4" y="288.4" textLength="402.6" clip-path="url(#breeze-release-management-line-11)">prepare-airflow-package&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r2" x="451.4" y="288.4" textLength="988.2" clip-path="url(#breeze-release-management-l [...]
+</text><text class="breeze-release-management-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-release-management-line-12)">│</text><text class="breeze-release-management-r5" x="24.4" y="312.8" textLength="402.6" clip-path="url(#breeze-release-management-line-12)">prepare-provider-documentation&#160;&#160;&#160;</text><text class="breeze-release-management-r2" x="451.4" y="312.8" textLength="988.2" clip-path="url(#breeze-release-management-line-12)">Prepare&#160;CHANGELOG,&#1 [...]
+</text><text class="breeze-release-management-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-release-management-line-13)">│</text><text class="breeze-release-management-r5" x="24.4" y="337.2" textLength="402.6" clip-path="url(#breeze-release-management-line-13)">prepare-provider-packages&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r2" x="451.4" y="337.2" textLength="988.2" clip-path="url(#breeze-release-management-line-13)">P [...]
+</text><text class="breeze-release-management-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-release-management-line-14)">│</text><text class="breeze-release-management-r5" x="24.4" y="361.6" textLength="402.6" clip-path="url(#breeze-release-management-line-14)">release-prod-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r2" x="451.4" y="361.6" textLength="988.2" clip-path="url(#breeze- [...]
+</text><text class="breeze-release-management-r4" x="0" y="386" textLength="12.2" clip-path="url(#breeze-release-management-line-15)">│</text><text class="breeze-release-management-r5" x="24.4" y="386" textLength="402.6" clip-path="url(#breeze-release-management-line-15)">verify-provider-packages&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-release-management-r2" x="451.4" y="386" textLength="988.2" clip-path="url(#breeze-release-management-line-15)">Ve [...]
+</text><text class="breeze-release-management-r4" x="0" y="410.4" textLength="1464" clip-path="url(#breeze-release-management-line-16)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-r2" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-line-16)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output_release-management_generate-issue-content.svg b/images/breeze/output_release-management_generate-issue-content.svg
new file mode 100644
index 0000000000..4dfa2f3649
--- /dev/null
+++ b/images/breeze/output_release-management_generate-issue-content.svg
@@ -0,0 +1,176 @@
+<svg class="rich-terminal" viewBox="0 0 1482 757.5999999999999" xmlns="http://www.w3.org/2000/svg">
+    <!-- Generated with Rich https://www.textualize.io -->
+    <style>
+
+    @font-face {
+        font-family: "Fira Code";
+        src: local("FiraCode-Regular"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Regular.woff2") format("woff2"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Regular.woff") format("woff");
+        font-style: normal;
+        font-weight: 400;
+    }
+    @font-face {
+        font-family: "Fira Code";
+        src: local("FiraCode-Bold"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff2/FiraCode-Bold.woff2") format("woff2"),
+                url("https://cdnjs.cloudflare.com/ajax/libs/firacode/6.2.0/woff/FiraCode-Bold.woff") format("woff");
+        font-style: bold;
+        font-weight: 700;
+    }
+
+    .breeze-release-management-generate-issue-content-matrix {
+        font-family: Fira Code, monospace;
+        font-size: 20px;
+        line-height: 24.4px;
+        font-variant-east-asian: full-width;
+    }
+
+    .breeze-release-management-generate-issue-content-title {
+        font-size: 18px;
+        font-weight: bold;
+        font-family: arial;
+    }
+
+    .breeze-release-management-generate-issue-content-r1 { fill: #c5c8c6;font-weight: bold }
+.breeze-release-management-generate-issue-content-r2 { fill: #c5c8c6 }
+.breeze-release-management-generate-issue-content-r3 { fill: #d0b344;font-weight: bold }
+.breeze-release-management-generate-issue-content-r4 { fill: #868887 }
+.breeze-release-management-generate-issue-content-r5 { fill: #68a0b3;font-weight: bold }
+.breeze-release-management-generate-issue-content-r6 { fill: #8d7b39 }
+.breeze-release-management-generate-issue-content-r7 { fill: #98a84b;font-weight: bold }
+    </style>
+
+    <defs>
+    <clipPath id="breeze-release-management-generate-issue-content-clip-terminal">
+      <rect x="0" y="0" width="1463.0" height="706.5999999999999" />
+    </clipPath>
+    <clipPath id="breeze-release-management-generate-issue-content-line-0">
+    <rect x="0" y="1.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-1">
+    <rect x="0" y="25.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-2">
+    <rect x="0" y="50.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-3">
+    <rect x="0" y="74.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-4">
+    <rect x="0" y="99.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-5">
+    <rect x="0" y="123.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-6">
+    <rect x="0" y="147.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-7">
+    <rect x="0" y="172.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-8">
+    <rect x="0" y="196.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-9">
+    <rect x="0" y="221.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-10">
+    <rect x="0" y="245.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-11">
+    <rect x="0" y="269.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-12">
+    <rect x="0" y="294.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-13">
+    <rect x="0" y="318.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-14">
+    <rect x="0" y="343.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-15">
+    <rect x="0" y="367.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-16">
+    <rect x="0" y="391.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-17">
+    <rect x="0" y="416.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-18">
+    <rect x="0" y="440.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-19">
+    <rect x="0" y="465.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-20">
+    <rect x="0" y="489.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-21">
+    <rect x="0" y="513.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-22">
+    <rect x="0" y="538.3" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-23">
+    <rect x="0" y="562.7" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-24">
+    <rect x="0" y="587.1" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-25">
+    <rect x="0" y="611.5" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-26">
+    <rect x="0" y="635.9" width="1464" height="24.65"/>
+            </clipPath>
+<clipPath id="breeze-release-management-generate-issue-content-line-27">
+    <rect x="0" y="660.3" width="1464" height="24.65"/>
+            </clipPath>
+    </defs>
+
+    <rect fill="#292929" stroke="rgba(255,255,255,0.35)" stroke-width="1" x="1" y="1" width="1480" height="755.6" rx="8"/><text class="breeze-release-management-generate-issue-content-title" fill="#c5c8c6" text-anchor="middle" x="740" y="27">Command:&#160;release-management&#160;generate-issue-content</text>
+            <g transform="translate(26,22)">
+            <circle cx="0" cy="0" r="7" fill="#ff5f57"/>
+            <circle cx="22" cy="0" r="7" fill="#febc2e"/>
+            <circle cx="44" cy="0" r="7" fill="#28c840"/>
+            </g>
+        
+    <g transform="translate(9, 41)" clip-path="url(#breeze-release-management-generate-issue-content-clip-terminal)">
+    
+    <g class="breeze-release-management-generate-issue-content-matrix">
+    <text class="breeze-release-management-generate-issue-content-r2" x="1464" y="20" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-0)">
+</text><text class="breeze-release-management-generate-issue-content-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-release-management-generate-issue-content-line-1)">Usage:&#160;</text><text class="breeze-release-management-generate-issue-content-r1" x="97.6" y="44.4" textLength="1244.4" clip-path="url(#breeze-release-management-generate-issue-content-line-1)">breeze&#160;release-management&#160;generate-issue-content&#160;[OPTIONS]&#160;[airbyte&#160;|&#160;alibaba&#160 [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="68.8" textLength="1439.6" clip-path="url(#breeze-release-management-generate-issue-content-line-2)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="93.2" textLength="1354.2" clip-path="url(#breeze-release-management-generate-issue-content-line-3)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="117.6" textLength="1427.4" clip-path="url(#breeze-release-management-generate-issue-content-line-4)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="142" textLength="1366.4" clip-path="url(#breeze-release-management-generate-issue-content-line-5)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="166.4" textLength="1390.8" clip-path="url(#breeze-release-management-generate-issue-content-line-6)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="190.8" textLength="1415.2" clip-path="url(#breeze-release-management-generate-issue-content-line-7)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="215.2" textLength="1427.4" clip-path="url(#breeze-release-management-generate-issue-content-line-8)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="239.6" textLength="1317.6" clip-path="url(#breeze-release-management-generate-issue-content-line-9)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="264" textLength="1390.8" clip-path="url(#breeze-release-management-generate-issue-content-line-10)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="288.4" textLength="1427.4" clip-path="url(#breeze-release-management-generate-issue-content-line-11)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="312.8" textLength="1390.8" clip-path="url(#breeze-release-management-generate-issue-content-line-12)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="337.2" textLength="1378.6" clip-path="url(#breeze-release-management-generate-issue-content-line-13)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="361.6" textLength="1378.6" clip-path="url(#breeze-release-management-generate-issue-content-line-14)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-release-management-generate-issue-content-r1" x="12.2" y="386" textLength="1146.8" clip-path="url(#breeze-release-management-generate-issue-content-line-15)">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-generate-issue-content-r2" x="1464" y="410.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-16)">
+</text><text class="breeze-release-management-generate-issue-content-r2" x="12.2" y="434.8" textLength="585.6" clip-path="url(#breeze-release-management-generate-issue-content-line-17)">Generates&#160;content&#160;for&#160;issue&#160;to&#160;test&#160;the&#160;release.</text><text class="breeze-release-management-generate-issue-content-r2" x="1464" y="434.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-17)">
+</text><text class="breeze-release-management-generate-issue-content-r2" x="1464" y="459.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-18)">
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="483.6" textLength="24.4" clip-path="url(#breeze-release-management-generate-issue-content-line-19)">╭─</text><text class="breeze-release-management-generate-issue-content-r4" x="24.4" y="483.6" textLength="195.2" clip-path="url(#breeze-release-management-generate-issue-content-line-19)">&#160;Common&#160;options&#160;</text><text class="breeze-release-management-generate-issue-content-r4" x="219.6" y="483.6 [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="508" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-20)">│</text><text class="breeze-release-management-generate-issue-content-r5" x="24.4" y="508" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-20)">-</text><text class="breeze-release-management-generate-issue-content-r5" x="36.6" y="508" textLength="85.4" clip-path="url(#bre [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-21)">│</text><text class="breeze-release-management-generate-issue-content-r2" x="390.4" y="532.4" textLength="1049.2" clip-path="url(#breeze-release-management-generate-issue-content-line-21)">variable&#160;set.&#160;Can&#160;be&#160;generated&#160;with:&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-22)">│</text><text class="breeze-release-management-generate-issue-content-r2" x="390.4" y="556.8" textLength="1049.2" clip-path="url(#breeze-release-management-generate-issue-content-line-22)">https://github.com/settings/tokens/new?description=Read%20sssues&amp;scopes=repo:status&#160;&#160;&#160;</text><text cla [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="581.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-23)">│</text><text class="breeze-release-management-generate-issue-content-r6" x="390.4" y="581.2" textLength="1049.2" clip-path="url(#breeze-release-management-generate-issue-content-line-23)">(TEXT)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-24)">│</text><text class="breeze-release-management-generate-issue-content-r5" x="24.4" y="605.6" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-24)">-</text><text class="breeze-release-management-generate-issue-content-r5" x="36.6" y="605.6" textLength="85.4" clip-path="ur [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="630" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-25)">│</text><text class="breeze-release-management-generate-issue-content-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-25)">-</text><text class="breeze-release-management-generate-issue-content-r5" x="36.6" y="630" textLength="61" clip-path="url(#breez [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-26)">│</text><text class="breeze-release-management-generate-issue-content-r5" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-26)">-</text><text class="breeze-release-management-generate-issue-content-r5" x="36.6" y="654.4" textLength="109.8" clip-path="u [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-27)">│</text><text class="breeze-release-management-generate-issue-content-r5" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-27)">-</text><text class="breeze-release-management-generate-issue-content-r5" x="36.6" y="678.8" textLength="61" clip-path="url( [...]
+</text><text class="breeze-release-management-generate-issue-content-r4" x="0" y="703.2" textLength="1464" clip-path="url(#breeze-release-management-generate-issue-content-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-release-management-generate-issue-content-r2" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-release-management-generate-issue-content-line-28)">
+</text>
+    </g>
+    </g>
+</svg>
diff --git a/images/breeze/output_setup.svg b/images/breeze/output_setup.svg
index 206ba39938..91df1eb737 100644
--- a/images/breeze/output_setup.svg
+++ b/images/breeze/output_setup.svg
@@ -35,8 +35,8 @@
     .breeze-setup-r1 { fill: #c5c8c6;font-weight: bold }
 .breeze-setup-r2 { fill: #c5c8c6 }
 .breeze-setup-r3 { fill: #d0b344;font-weight: bold }
-.breeze-setup-r4 { fill: #68a0b3;font-weight: bold }
-.breeze-setup-r5 { fill: #868887 }
+.breeze-setup-r4 { fill: #868887 }
+.breeze-setup-r5 { fill: #68a0b3;font-weight: bold }
 .breeze-setup-r6 { fill: #98a84b;font-weight: bold }
     </style>
 
@@ -99,20 +99,20 @@
     
     <g class="breeze-setup-matrix">
     <text class="breeze-setup-r2" x="1464" y="20" textLength="12.2" clip-path="url(#breeze-setup-line-0)">
-</text><text class="breeze-setup-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-setup-line-1)">Usage:&#160;</text><text class="breeze-setup-r1" x="97.6" y="44.4" textLength="170.8" clip-path="url(#breeze-setup-line-1)">breeze&#160;setup&#160;[</text><text class="breeze-setup-r4" x="268.4" y="44.4" textLength="85.4" clip-path="url(#breeze-setup-line-1)">OPTIONS</text><text class="breeze-setup-r1" x="353.8" y="44.4" textLength="24.4" clip-path="url(#breeze-setup-line-1)">]& [...]
+</text><text class="breeze-setup-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-setup-line-1)">Usage:&#160;</text><text class="breeze-setup-r1" x="97.6" y="44.4" textLength="488" clip-path="url(#breeze-setup-line-1)">breeze&#160;setup&#160;[OPTIONS]&#160;COMMAND&#160;[ARGS]...</text><text class="breeze-setup-r2" x="1464" y="44.4" textLength="12.2" clip-path="url(#breeze-setup-line-1)">
 </text><text class="breeze-setup-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-setup-line-2)">
 </text><text class="breeze-setup-r2" x="12.2" y="93.2" textLength="597.8" clip-path="url(#breeze-setup-line-3)">Tools&#160;that&#160;developers&#160;can&#160;use&#160;to&#160;configure&#160;Breeze</text><text class="breeze-setup-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-setup-line-3)">
 </text><text class="breeze-setup-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-setup-line-4)">
-</text><text class="breeze-setup-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-setup-line-5)">╭─</text><text class="breeze-setup-r5" x="24.4" y="142" textLength="195.2" clip-path="url(#breeze-setup-line-5)">&#160;Common&#160;options&#160;</text><text class="breeze-setup-r5" x="219.6" y="142" textLength="1220" clip-path="url(#breeze-setup-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-set [...]
-</text><text class="breeze-setup-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-line-6)">│</text><text class="breeze-setup-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-line-6)">-</text><text class="breeze-setup-r4" x="36.6" y="166.4" textLength="61" clip-path="url(#breeze-setup-line-6)">-help</text><text class="breeze-setup-r6" x="122" y="166.4" textLength="24.4" clip-path="url(#breeze-setup-line-6)">-h</text><text class="breeze-setup-r2" x="1 [...]
-</text><text class="breeze-setup-r5" x="0" y="190.8" textLength="1464" clip-path="url(#breeze-setup-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-r2" x="1464" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-line-7)">
-</text><text class="breeze-setup-r5" x="0" y="215.2" textLength="24.4" clip-path="url(#breeze-setup-line-8)">╭─</text><text class="breeze-setup-r5" x="24.4" y="215.2" textLength="122" clip-path="url(#breeze-setup-line-8)">&#160;Commands&#160;</text><text class="breeze-setup-r5" x="146.4" y="215.2" textLength="1293.2" clip-path="url(#breeze-setup-line-8)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-se [...]
-</text><text class="breeze-setup-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-line-9)">│</text><text class="breeze-setup-r4" x="24.4" y="239.6" textLength="390.4" clip-path="url(#breeze-setup-line-9)">autocomplete&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="239.6" textLength="1000.4" clip-path="url(#breeze-setup-line-9)">Enables&#160;autocompl [...]
-</text><text class="breeze-setup-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-line-10)">│</text><text class="breeze-setup-r4" x="24.4" y="264" textLength="390.4" clip-path="url(#breeze-setup-line-10)">config&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="264" textLength="683.2" clip-path="url(#breeze-setup-line-1 [...]
-</text><text class="breeze-setup-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-line-11)">│</text><text class="breeze-setup-r4" x="24.4" y="288.4" textLength="390.4" clip-path="url(#breeze-setup-line-11)">regenerate-command-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="288.4" textLength="1000.4" clip-path="url(#breeze-setup-line-11)">Regenerate&#160;breeze&#160;command&#160;images.&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-setup-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-line-12)">│</text><text class="breeze-setup-r4" x="24.4" y="312.8" textLength="390.4" clip-path="url(#breeze-setup-line-12)">self-upgrade&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="312.8" textLength="1000.4" clip-path="url(#breeze-setup-line-12)">Self&#160;upgrade&# [...]
-</text><text class="breeze-setup-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-line-13)">│</text><text class="breeze-setup-r4" x="24.4" y="337.2" textLength="390.4" clip-path="url(#breeze-setup-line-13)">version&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="337.2" textLength="1000.4" clip-path="url(#breeze-setup-line [...]
-</text><text class="breeze-setup-r5" x="0" y="361.6" textLength="1464" clip-path="url(#breeze-setup-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-line-14)">
+</text><text class="breeze-setup-r4" x="0" y="142" textLength="24.4" clip-path="url(#breeze-setup-line-5)">╭─</text><text class="breeze-setup-r4" x="24.4" y="142" textLength="195.2" clip-path="url(#breeze-setup-line-5)">&#160;Common&#160;options&#160;</text><text class="breeze-setup-r4" x="219.6" y="142" textLength="1220" clip-path="url(#breeze-setup-line-5)">────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-set [...]
+</text><text class="breeze-setup-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-line-6)">│</text><text class="breeze-setup-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-line-6)">-</text><text class="breeze-setup-r5" x="36.6" y="166.4" textLength="61" clip-path="url(#breeze-setup-line-6)">-help</text><text class="breeze-setup-r6" x="122" y="166.4" textLength="24.4" clip-path="url(#breeze-setup-line-6)">-h</text><text class="breeze-setup-r2" x="1 [...]
+</text><text class="breeze-setup-r4" x="0" y="190.8" textLength="1464" clip-path="url(#breeze-setup-line-7)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-r2" x="1464" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-line-7)">
+</text><text class="breeze-setup-r4" x="0" y="215.2" textLength="24.4" clip-path="url(#breeze-setup-line-8)">╭─</text><text class="breeze-setup-r4" x="24.4" y="215.2" textLength="122" clip-path="url(#breeze-setup-line-8)">&#160;Commands&#160;</text><text class="breeze-setup-r4" x="146.4" y="215.2" textLength="1293.2" clip-path="url(#breeze-setup-line-8)">──────────────────────────────────────────────────────────────────────────────────────────────────────────</text><text class="breeze-se [...]
+</text><text class="breeze-setup-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-line-9)">│</text><text class="breeze-setup-r5" x="24.4" y="239.6" textLength="390.4" clip-path="url(#breeze-setup-line-9)">autocomplete&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="239.6" textLength="1000.4" clip-path="url(#breeze-setup-line-9)">Enables&#160;autocompl [...]
+</text><text class="breeze-setup-r4" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-line-10)">│</text><text class="breeze-setup-r5" x="24.4" y="264" textLength="390.4" clip-path="url(#breeze-setup-line-10)">config&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="264" textLength="1000.4" clip-path="url(#breeze-setup-line- [...]
+</text><text class="breeze-setup-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-line-11)">│</text><text class="breeze-setup-r5" x="24.4" y="288.4" textLength="390.4" clip-path="url(#breeze-setup-line-11)">regenerate-command-images&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="288.4" textLength="1000.4" clip-path="url(#breeze-setup-line-11)">Regenerate&#160;breeze&#160;command&#160;images.&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-setup-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-line-12)">│</text><text class="breeze-setup-r5" x="24.4" y="312.8" textLength="390.4" clip-path="url(#breeze-setup-line-12)">self-upgrade&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="312.8" textLength="1000.4" clip-path="url(#breeze-setup-line-12)">Self&#160;upgrade&# [...]
+</text><text class="breeze-setup-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-line-13)">│</text><text class="breeze-setup-r5" x="24.4" y="337.2" textLength="390.4" clip-path="url(#breeze-setup-line-13)">version&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</text><text class="breeze-setup-r2" x="439.2" y="337.2" textLength="1000.4" clip-path="url(#breeze-setup-line [...]
+</text><text class="breeze-setup-r4" x="0" y="361.6" textLength="1464" clip-path="url(#breeze-setup-line-14)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-r2" x="1464" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-line-14)">
 </text>
     </g>
     </g>
diff --git a/images/breeze/output_setup_regenerate-command-images.svg b/images/breeze/output_setup_regenerate-command-images.svg
index dc74dc7852..3ecbb459e5 100644
--- a/images/breeze/output_setup_regenerate-command-images.svg
+++ b/images/breeze/output_setup_regenerate-command-images.svg
@@ -35,8 +35,8 @@
     .breeze-setup-regenerate-command-images-r1 { fill: #c5c8c6;font-weight: bold }
 .breeze-setup-regenerate-command-images-r2 { fill: #c5c8c6 }
 .breeze-setup-regenerate-command-images-r3 { fill: #d0b344;font-weight: bold }
-.breeze-setup-regenerate-command-images-r4 { fill: #68a0b3;font-weight: bold }
-.breeze-setup-regenerate-command-images-r5 { fill: #868887 }
+.breeze-setup-regenerate-command-images-r4 { fill: #868887 }
+.breeze-setup-regenerate-command-images-r5 { fill: #68a0b3;font-weight: bold }
 .breeze-setup-regenerate-command-images-r6 { fill: #8d7b39 }
 .breeze-setup-regenerate-command-images-r7 { fill: #98a84b;font-weight: bold }
     </style>
@@ -142,34 +142,34 @@
     
     <g class="breeze-setup-regenerate-command-images-matrix">
     <text class="breeze-setup-regenerate-command-images-r2" x="1464" y="20" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-0)">
-</text><text class="breeze-setup-regenerate-command-images-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-setup-regenerate-command-images-line-1)">Usage:&#160;</text><text class="breeze-setup-regenerate-command-images-r1" x="97.6" y="44.4" textLength="488" clip-path="url(#breeze-setup-regenerate-command-images-line-1)">breeze&#160;setup&#160;regenerate-command-images&#160;[</text><text class="breeze-setup-regenerate-command-images-r4" x="585.6" y="44.4" textLength="85.4"  [...]
+</text><text class="breeze-setup-regenerate-command-images-r3" x="12.2" y="44.4" textLength="85.4" clip-path="url(#breeze-setup-regenerate-command-images-line-1)">Usage:&#160;</text><text class="breeze-setup-regenerate-command-images-r1" x="97.6" y="44.4" textLength="585.6" clip-path="url(#breeze-setup-regenerate-command-images-line-1)">breeze&#160;setup&#160;regenerate-command-images&#160;[OPTIONS]</text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="44.4" textLengt [...]
 </text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="68.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-2)">
 </text><text class="breeze-setup-regenerate-command-images-r2" x="12.2" y="93.2" textLength="402.6" clip-path="url(#breeze-setup-regenerate-command-images-line-3)">Regenerate&#160;breeze&#160;command&#160;images.</text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="93.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-3)">
 </text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="117.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-4)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="142" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-5)">╭─</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="142" textLength="329.4" clip-path="url(#breeze-setup-regenerate-command-images-line-5)">&#160;Image&#160;regeneration&#160;option&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="353.8" y="142" textLength="1085.8" clip-path="url(#bree [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-6)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-6)">-</text><text class="breeze-setup-regenerate-command-images-r4" x="36.6" y="166.4" textLength="73.2" clip-path="url(#breeze-setup-regenerate-command-images-line-6)">- [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-7)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-7)">-</text><text class="breeze-setup-regenerate-command-images-r4" x="36.6" y="190.8" textLength="97.6" clip-path="url(#breeze-setup-regenerate-command-images-line-7)">- [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-8)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="215.2" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-8)">(main&#160;|&#160;build-docs&#160;|&#160;ci:find-newer-dependencies&#160;|&#160;ci:fix-ownership&#160;|&#160;ci:free-space&#160;|&#160;&#160;&#160;&#160;&#160;&#160; [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-9)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="239.6" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-9)">ci:get-workflow-info&#160;|&#160;ci:resource-check&#160;|&#160;ci:selective-check&#160;|&#160;ci&#160;|&#160;ci-image:build&#160;|&#160;ci-image:pull&#160;</text><te [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-10)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="264" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-10)">|&#160;ci-image:verify&#160;|&#160;ci-image&#160;|&#160;cleanup&#160;|&#160;compile-www-assets&#160;|&#160;exec&#160;|&#160;k8s:build-k8s-image&#160;|&#160;&#160;&#160 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-11)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="288.4" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-11)">k8s:configure-cluster&#160;|&#160;k8s:create-cluster&#160;|&#160;k8s:delete-cluster&#160;|&#160;k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;&#160;&#160;&#16 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-12)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="312.8" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-12)">k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;k8s:setup-env&#160;|&#160;k8s:shell&#160;|&#160;k8s:status&#160;|&#160;k8s:tests&#160;|&#160;&#160;&#160;&# [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="337.2" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">k8s:upload-k8s-image&#160;|&#160;k8s&#160;|&#160;prod-image:build&#160;|&#160;prod-image:pull&#160;|&#160;prod-image:verify&#160;|&#160;prod-image&#160;|&#160;&#16 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="361.6" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">release-management:generate-constraints&#160;|&#160;release-management:prepare-airflow-package&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="386" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">release-management:prepare-provider-documentation&#160;|&#160;release-management:prepare-provider-packages&#160;|&#160;&#160;</text><text class="breeze-setup-regenerat [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="410.4" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">release-management:release-prod-images&#160;|&#160;release-management:verify-provider-packages&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="434.8" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">release-management&#160;|&#160;setup:autocomplete&#160;|&#160;setup:config&#160;|&#160;setup:regenerate-command-images&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&# [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="459.2" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">setup:self-upgrade&#160;|&#160;setup:version&#160;|&#160;setup&#160;|&#160;shell&#160;|&#160;start-airflow&#160;|&#160;static-checks&#160;|&#160;stop&#160;|&#160;& [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="483.6" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;testing:integration-tests&#160;|&#160;testing:tests&#160;|&#160;&#160;&#160;&#160;&#160;</t [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="508" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">testing)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">-</text><text class="breeze-setup-regenerate-command-images-r4" x="36.6" y="532.4" textLength="73.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21) [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text class="breeze-setup-regenerate-command-images-r2" x="219.6" y="556.8" textLength="170.8" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">together&#160;with&#160;</text><text class="breeze-setup-regenerate-command-images-r4" x="390.4" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenera [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="605.6" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">╭─</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="605.6" textLength="195.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">&#160;Common&#160;options&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="219.6" y="605.6" textLength="1220" clip-path="url(#breeze-setup-r [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">-</text><text class="breeze-setup-regenerate-command-images-r4" x="36.6" y="630" textLength="97.6" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">-ver [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">-</text><text class="breeze-setup-regenerate-command-images-r4" x="36.6" y="654.4" textLength="48.8" clip-path="url(#breeze-setup-regenerate-command-images-line-26) [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">-</text><text class="breeze-setup-regenerate-command-images-r4" x="36.6" y="678.8" textLength="61" clip-path="url(#breeze-setup-regenerate-command-images-line-27)"> [...]
-</text><text class="breeze-setup-regenerate-command-images-r5" x="0" y="703.2" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="142" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-5)">╭─</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="142" textLength="329.4" clip-path="url(#breeze-setup-regenerate-command-images-line-5)">&#160;Image&#160;regeneration&#160;option&#160;</text><text class="breeze-setup-regenerate-command-images-r4" x="353.8" y="142" textLength="1085.8" clip-path="url(#bree [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-6)">│</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="166.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-6)">-</text><text class="breeze-setup-regenerate-command-images-r5" x="36.6" y="166.4" textLength="73.2" clip-path="url(#breeze-setup-regenerate-command-images-line-6)">- [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-7)">│</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="190.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-7)">-</text><text class="breeze-setup-regenerate-command-images-r5" x="36.6" y="190.8" textLength="97.6" clip-path="url(#breeze-setup-regenerate-command-images-line-7)">- [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="215.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-8)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="215.2" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-8)">(main&#160;|&#160;build-docs&#160;|&#160;ci:find-newer-dependencies&#160;|&#160;ci:fix-ownership&#160;|&#160;ci:free-space&#160;|&#160;&#160;&#160;&#160;&#160;&#160; [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="239.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-9)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="239.6" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-9)">ci:get-workflow-info&#160;|&#160;ci:resource-check&#160;|&#160;ci:selective-check&#160;|&#160;ci&#160;|&#160;ci-image:build&#160;|&#160;ci-image:pull&#160;</text><te [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="264" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-10)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="264" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-10)">|&#160;ci-image:verify&#160;|&#160;ci-image&#160;|&#160;cleanup&#160;|&#160;compile-www-assets&#160;|&#160;exec&#160;|&#160;k8s:build-k8s-image&#160;|&#160;&#160;&#160 [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="288.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-11)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="288.4" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-11)">k8s:configure-cluster&#160;|&#160;k8s:create-cluster&#160;|&#160;k8s:delete-cluster&#160;|&#160;k8s:deploy-airflow&#160;|&#160;k8s:k9s&#160;|&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="312.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-12)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="312.8" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-12)">k8s:logs&#160;|&#160;k8s:run-complete-tests&#160;|&#160;k8s:setup-env&#160;|&#160;k8s:shell&#160;|&#160;k8s:status&#160;|&#160;k8s:tests&#160;|&#160;&#160;&#160;&# [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="337.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="337.2" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-13)">k8s:upload-k8s-image&#160;|&#160;k8s&#160;|&#160;prod-image:build&#160;|&#160;prod-image:pull&#160;|&#160;prod-image:verify&#160;|&#160;prod-image&#160;|&#160;&#16 [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="361.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="361.6" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-14)">release-management:generate-constraints&#160;|&#160;release-management:generate-issue-content&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#1 [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="386" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="386" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-15)">release-management:prepare-airflow-package&#160;|&#160;release-management:prepare-provider-documentation&#160;|&#160;&#160;&#160;&#160;</text><text class="breeze-setup [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="410.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="410.4" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-16)">release-management:prepare-provider-packages&#160;|&#160;release-management:release-prod-images&#160;|&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="434.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="434.8" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-17)">release-management:verify-provider-packages&#160;|&#160;release-management&#160;|&#160;setup:autocomplete&#160;|&#160;setup:config</text><text class="breeze-setup- [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="459.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="459.2" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-18)">|&#160;setup:regenerate-command-images&#160;|&#160;setup:self-upgrade&#160;|&#160;setup:version&#160;|&#160;setup&#160;|&#160;shell&#160;|&#160;&#160;&#160;&#160;& [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="483.6" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="483.6" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-19)">start-airflow&#160;|&#160;static-checks&#160;|&#160;stop&#160;|&#160;testing:docker-compose-tests&#160;|&#160;testing:helm-tests&#160;|&#160;&#160;&#160;&#160;&#16 [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="508" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">│</text><text class="breeze-setup-regenerate-command-images-r6" x="219.6" y="508" textLength="1220" clip-path="url(#breeze-setup-regenerate-command-images-line-20)">testing:integration-tests&#160;|&#160;testing:tests&#160;|&#160;testing)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160 [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">│</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="532.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21)">-</text><text class="breeze-setup-regenerate-command-images-r5" x="36.6" y="532.4" textLength="73.2" clip-path="url(#breeze-setup-regenerate-command-images-line-21) [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">│</text><text class="breeze-setup-regenerate-command-images-r2" x="219.6" y="556.8" textLength="170.8" clip-path="url(#breeze-setup-regenerate-command-images-line-22)">together&#160;with&#160;</text><text class="breeze-setup-regenerate-command-images-r5" x="390.4" y="556.8" textLength="12.2" clip-path="url(#breeze-setup-regenera [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="581.2" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="581.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-23)">
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="605.6" textLength="24.4" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">╭─</text><text class="breeze-setup-regenerate-command-images-r4" x="24.4" y="605.6" textLength="195.2" clip-path="url(#breeze-setup-regenerate-command-images-line-24)">&#160;Common&#160;options&#160;</text><text class="breeze-setup-regenerate-command-images-r4" x="219.6" y="605.6" textLength="1220" clip-path="url(#breeze-setup-r [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">│</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="630" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">-</text><text class="breeze-setup-regenerate-command-images-r5" x="36.6" y="630" textLength="97.6" clip-path="url(#breeze-setup-regenerate-command-images-line-25)">-ver [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">│</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="654.4" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-26)">-</text><text class="breeze-setup-regenerate-command-images-r5" x="36.6" y="654.4" textLength="48.8" clip-path="url(#breeze-setup-regenerate-command-images-line-26) [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">│</text><text class="breeze-setup-regenerate-command-images-r5" x="24.4" y="678.8" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-27)">-</text><text class="breeze-setup-regenerate-command-images-r5" x="36.6" y="678.8" textLength="61" clip-path="url(#breeze-setup-regenerate-command-images-line-27)"> [...]
+</text><text class="breeze-setup-regenerate-command-images-r4" x="0" y="703.2" textLength="1464" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯</text><text class="breeze-setup-regenerate-command-images-r2" x="1464" y="703.2" textLength="12.2" clip-path="url(#breeze-setup-regenerate-command-images-line-28)">
 </text>
     </g>
     </g>
diff --git a/scripts/in_container/run_prepare_provider_documentation.sh b/scripts/in_container/run_prepare_provider_documentation.sh
index 9b1e11f111..37044bdbbe 100755
--- a/scripts/in_container/run_prepare_provider_documentation.sh
+++ b/scripts/in_container/run_prepare_provider_documentation.sh
@@ -107,11 +107,6 @@ function run_prepare_documentation() {
         echo "${COLOR_RED}There were errors when preparing documentation. Exiting! ${COLOR_RESET}"
         exit 1
     else
-        if [[ ${GENERATE_PROVIDERS_ISSUE=} == "true" ||  ${GENERATE_PROVIDERS_ISSUE} == "True" ]]; then
-            echo
-            python3 dev/provider_packages/prepare_provider_packages.py generate-issue-content "${prepared_documentation[@]}"
-            echo
-        fi
         echo
         echo "${COLOR_YELLOW}Please review the updated files, classify the changelog entries and commit the changes!${COLOR_RESET}"
         echo