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

potiuk pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 87b3611123a docs: fix RST heading levels and branch creation placement 
in contributor quick-start (#64662)
87b3611123a is described below

commit 87b3611123a7ab4548cfdc7a078b552c53633e5f
Author: Piyush Mudgal <[email protected]>
AuthorDate: Fri Apr 3 20:34:16 2026 +0530

    docs: fix RST heading levels and branch creation placement in contributor 
quick-start (#64662)
    
    * Docs Changes
    
    * updating some typos in beginners guide
    
    * changing indentation intellij guide
---
 .../03a_contributors_quick_start_beginners.rst     |  23 +--
 contributing-docs/09_testing.rst                   |   4 +-
 .../contributors_quick_start_pycharm_intellij.rst  | 178 ++++++++++-----------
 3 files changed, 105 insertions(+), 100 deletions(-)

diff --git a/contributing-docs/03a_contributors_quick_start_beginners.rst 
b/contributing-docs/03a_contributors_quick_start_beginners.rst
index 14ef7e82a4b..ce7c20f2746 100644
--- a/contributing-docs/03a_contributors_quick_start_beginners.rst
+++ b/contributing-docs/03a_contributors_quick_start_beginners.rst
@@ -71,7 +71,7 @@ Option A – Breeze on Your Laptop
 
 2. Setup your idea workspace to detect project src/ and tests/ folders as 
source roots.
 
-.. code-block:: text
+.. code-block:: bash
 
     # For IntelliJ IDEA and PyCharm
     uv run dev/ide_setup/setup_idea.py
@@ -79,7 +79,13 @@ Option A – Breeze on Your Laptop
     # For VS Code
     uv run dev/ide_setup/setup_vscode.py
 
-3.  **Start the development container** (first run builds the image)
+3. Create a branch for your change
+
+.. code-block:: bash
+
+    git checkout -b <your-branch-name>
+
+4.  **Start the development container** (first run builds the image)
 
 .. code-block:: bash
 
@@ -102,15 +108,15 @@ of the tmux panes and hit Enter
 
 This flag enables configuration to load example DAGs when starting Airflow, 
which is useful for exploring Airflow's capabilities and testing.
 
-4.  **Make a tiny change** – e.g. fix a typo in docs
+5.  **Make a tiny change** – e.g. fix a typo in docs
 
-5.  **Run local checks**
+6.  **Run local checks**
 
 .. code-block:: bash
 
     prek --all-files
 
-6.  **Run tests**
+7.  **Run tests**
 
 Run tests related to your change **before** pushing:
 
@@ -122,15 +128,14 @@ Run tests related to your change **before** pushing:
 Run ``breeze testing --help`` to see all available test groups.
 For more on testing, see the `Testing Guide <09_testing.rst>`_.
 
-7.  **Commit & push**
+8.  **Commit & push**
 
 .. code-block:: bash
 
-    git checkout -b docs-typo
     git commit -am "fix typo in README"
-    git push -u origin docs-typo
+    git push -u origin <your-branch-name>
 
-8.  **Open the PR** – GitHub shows a "Compare & pull request" button.
+9.  **Open the PR** – GitHub shows a "Compare & pull request" button.
 
 *Syncing your branch*
 
diff --git a/contributing-docs/09_testing.rst b/contributing-docs/09_testing.rst
index 5b2905e2e8f..1ba4e7f23c4 100644
--- a/contributing-docs/09_testing.rst
+++ b/contributing-docs/09_testing.rst
@@ -47,12 +47,12 @@ includes:
 * `Task SDK integration tests <testing/task_sdk_integration_tests.rst>`__ are 
specialized tests that verify
   the integration between the Apache Airflow Task SDK package and a running 
Airflow instance.
 
-* `Airflow Ctl integration tests 
<testing/airflow_ctl_integration_tests.rst>`__ are tests we run to verify
+* `Airflow Ctl integration tests <testing/airflow_ctl_tests.rst>`__ are tests 
we run to verify
   if the ``airflowctl`` command-line tool works correctly with a running 
Airflow instance.
 
 You can also run other kinds of tests when you are developing Airflow packages:
 
-* `Testing distributions <testing/testing_distributions.rst>`__ is a document 
that describes how to
+* `Testing distributions <testing/testing_packages.rst>`__ is a document that 
describes how to
   manually build and test pre-release candidate distributions of Airflow and 
providers.
 
 * `Python client tests <testing/python_client_tests.rst>`__ are tests we run 
to check if the Python API
diff --git 
a/contributing-docs/quick-start-ide/contributors_quick_start_pycharm_intellij.rst
 
b/contributing-docs/quick-start-ide/contributors_quick_start_pycharm_intellij.rst
index 0ecdbb46d1a..88615b0632b 100644
--- 
a/contributing-docs/quick-start-ide/contributors_quick_start_pycharm_intellij.rst
+++ 
b/contributing-docs/quick-start-ide/contributors_quick_start_pycharm_intellij.rst
@@ -93,132 +93,132 @@ Setup your project
               alt="modules.xml">
         </div>
 
- Script options
- ==============
+Script options
+==============
 
-   ``--python VERSION``
-     Choose the Python minor version for the virtualenv (e.g. ``3.12``).  The 
version is passed
-     to ``uv sync --python`` and must be compatible with the project's 
``requires-python``
-     constraint.  When omitted, ``uv`` picks the default version.
+``--python VERSION``
+  Choose the Python minor version for the virtualenv (e.g. ``3.12``).  The 
version is passed
+  to ``uv sync --python`` and must be compatible with the project's 
``requires-python``
+  constraint.  When omitted, ``uv`` picks the default version.
 
-      .. code-block:: bash
+  .. code-block:: bash
 
-        $ uv run dev/ide_setup/setup_idea.py --python 3.12
+     $ uv run dev/ide_setup/setup_idea.py --python 3.12
 
-   ``--multi-module`` / ``--single-module``
-     Control whether the project is configured as a single IntelliJ module 
(all source roots in
-     one ``.iml`` file) or as multiple modules (one ``.iml`` per 
distribution/package, e.g.
-     ``airflow-core/airflow-core.iml``, 
``providers/amazon/providers-amazon.iml``).
+``--multi-module`` / ``--single-module``
+  Control whether the project is configured as a single IntelliJ module (all 
source roots in
+  one ``.iml`` file) or as multiple modules (one ``.iml`` per 
distribution/package, e.g.
+  ``airflow-core/airflow-core.iml``, 
``providers/amazon/providers-amazon.iml``).
 
-     **By default the script auto-detects which IDE is installed** and picks 
the appropriate
-     mode: multi-module when IntelliJ IDEA is found, single-module when only 
PyCharm is found
-     (or when no IDE can be detected).  Use ``--multi-module`` or 
``--single-module`` to
-     override the auto-detected default.
+  **By default the script auto-detects which IDE is installed** and picks the 
appropriate
+  mode: multi-module when IntelliJ IDEA is found, single-module when only 
PyCharm is found
+  (or when no IDE can be detected).  Use ``--multi-module`` or 
``--single-module`` to
+  override the auto-detected default.
 
-     In multi-module mode the script also creates a dedicated ``dev/breeze`` 
virtualenv
-     (via a second ``uv sync``) with its own Python SDK named *Python X.Y 
(breeze)*.
-     All other sub-modules inherit the project-level SDK.
+  In multi-module mode the script also creates a dedicated ``dev/breeze`` 
virtualenv
+  (via a second ``uv sync``) with its own Python SDK named *Python X.Y 
(breeze)*.
+  All other sub-modules inherit the project-level SDK.
 
-      .. code-block:: bash
+  .. code-block:: bash
 
-        # Force multi-module (requires IntelliJ IDEA)
-        $ uv run dev/ide_setup/setup_idea.py --multi-module
+     # Force multi-module (requires IntelliJ IDEA)
+     $ uv run dev/ide_setup/setup_idea.py --multi-module
 
-        # Force single-module (works in both PyCharm and IntelliJ IDEA)
-        $ uv run dev/ide_setup/setup_idea.py --single-module
+     # Force single-module (works in both PyCharm and IntelliJ IDEA)
+     $ uv run dev/ide_setup/setup_idea.py --single-module
 
-   ``--confirm``
-     Automatically answer yes to all interactive confirmation prompts (IDE 
close, process kill,
-     file overwrite).  Useful for non-interactive, scripted, or agent-driven 
runs.
+``--confirm``
+  Automatically answer yes to all interactive confirmation prompts (IDE close, 
process kill,
+  file overwrite).  Useful for non-interactive, scripted, or agent-driven runs.
 
-      .. code-block:: bash
+  .. code-block:: bash
 
-        $ uv run dev/ide_setup/setup_idea.py --confirm
+     $ uv run dev/ide_setup/setup_idea.py --confirm
 
-   ``--open-ide``
-     Open IntelliJ IDEA or PyCharm in the project directory after setup 
completes.  On macOS
-     uses ``open -a``, on Linux looks for JetBrains Toolbox launcher scripts 
and falls back to
-     commands on ``PATH``.  Prefers IntelliJ IDEA when both IDEs are installed.
+``--open-ide``
+  Open IntelliJ IDEA or PyCharm in the project directory after setup 
completes.  On macOS
+  uses ``open -a``, on Linux looks for JetBrains Toolbox launcher scripts and 
falls back to
+  commands on ``PATH``.  Prefers IntelliJ IDEA when both IDEs are installed.
 
-      .. code-block:: bash
+  .. code-block:: bash
 
-        $ uv run dev/ide_setup/setup_idea.py --open-ide
+     $ uv run dev/ide_setup/setup_idea.py --open-ide
 
-        # Combine with --confirm for fully non-interactive setup + open
-        $ uv run dev/ide_setup/setup_idea.py --confirm --open-ide
+     # Combine with --confirm for fully non-interactive setup + open
+     $ uv run dev/ide_setup/setup_idea.py --confirm --open-ide
 
-   ``--no-kill``
-     Do not attempt to detect and kill running PyCharm/IntelliJ IDEA 
processes.  By default,
-     the script looks for running IDE processes, asks for confirmation, sends 
``SIGTERM``, and
-     falls back to ``SIGKILL`` if they don't exit within 5 seconds.  Use 
``--no-kill`` to
-     disable this behaviour and fall back to the manual confirmation prompt 
instead.
+``--no-kill``
+  Do not attempt to detect and kill running PyCharm/IntelliJ IDEA processes.  
By default,
+  the script looks for running IDE processes, asks for confirmation, sends 
``SIGTERM``, and
+  falls back to ``SIGKILL`` if they don't exit within 5 seconds.  Use 
``--no-kill`` to
+  disable this behaviour and fall back to the manual confirmation prompt 
instead.
 
-      .. code-block:: bash
+  .. code-block:: bash
 
-        $ uv run dev/ide_setup/setup_idea.py --no-kill
+     $ uv run dev/ide_setup/setup_idea.py --no-kill
 
-   ``--idea-path PATH``
-     Path to the JetBrains configuration directory to update instead of 
auto-detecting all
-     installed IDEs.  Can point to the base JetBrains directory
-     (e.g. ``~/Library/Application Support/JetBrains``) or a specific product 
directory
-     (e.g. ``.../JetBrains/IntelliJIdea2025.1``).  Useful when auto-detection 
does not find
-     your IDE or when you want to target a specific installation.
+``--idea-path PATH``
+  Path to the JetBrains configuration directory to update instead of 
auto-detecting all
+  installed IDEs.  Can point to the base JetBrains directory
+  (e.g. ``~/Library/Application Support/JetBrains``) or a specific product 
directory
+  (e.g. ``.../JetBrains/IntelliJIdea2025.1``).  Useful when auto-detection 
does not find
+  your IDE or when you want to target a specific installation.
 
-      .. code-block:: bash
+  .. code-block:: bash
 
-        $ uv run dev/ide_setup/setup_idea.py --idea-path 
~/Library/Application\ Support/JetBrains/IntelliJIdea2025.1
+     $ uv run dev/ide_setup/setup_idea.py --idea-path ~/Library/Application\ 
Support/JetBrains/IntelliJIdea2025.1
 
-   ``--exclude MODULE_OR_GROUP``
-     Exclude modules from the generated project configuration.  Can be 
specified multiple times.
-     Useful when you only work on a subset of the codebase and want faster IDE 
indexing.
+``--exclude MODULE_OR_GROUP``
+  Exclude modules from the generated project configuration.  Can be specified 
multiple times.
+  Useful when you only work on a subset of the codebase and want faster IDE 
indexing.
 
-     A value can be either a module path relative to the project root (e.g. 
``providers/amazon``,
-     ``dev/breeze``) or one of the recognised group names:
+  A value can be either a module path relative to the project root (e.g. 
``providers/amazon``,
+  ``dev/breeze``) or one of the recognised group names:
 
-     * ``providers`` — all provider modules under ``providers/``
-     * ``shared`` — all shared libraries under ``shared/``
-     * ``dev`` — the ``dev`` module
-     * ``tests`` — test-only modules (``docker-tests``, ``kubernetes-tests``, 
etc.)
+  * ``providers`` — all provider modules under ``providers/``
+  * ``shared`` — all shared libraries under ``shared/``
+  * ``dev`` — the ``dev`` module
+  * ``tests`` — test-only modules (``docker-tests``, ``kubernetes-tests``, 
etc.)
 
-     Examples:
+  Examples:
 
-      .. code-block:: bash
+  .. code-block:: bash
 
-        # Exclude all providers and shared libraries
-        $ uv run dev/ide_setup/setup_idea.py --exclude providers --exclude 
shared
+     # Exclude all providers and shared libraries
+     $ uv run dev/ide_setup/setup_idea.py --exclude providers --exclude shared
 
-        # Exclude a single provider
-        $ uv run dev/ide_setup/setup_idea.py --exclude providers/amazon
+     # Exclude a single provider
+     $ uv run dev/ide_setup/setup_idea.py --exclude providers/amazon
 
-        # Multi-module with only core modules
-        $ uv run dev/ide_setup/setup_idea.py --multi-module --exclude 
providers --exclude shared
+     # Multi-module with only core modules
+     $ uv run dev/ide_setup/setup_idea.py --multi-module --exclude providers 
--exclude shared
 
-   Options can be combined freely.  For instance, to create a multi-module 
project with
-   Python 3.12 excluding all providers:
+Options can be combined freely.  For instance, to create a multi-module 
project with
+Python 3.12 excluding all providers:
 
-    .. code-block:: bash
+.. code-block:: bash
 
-      $ uv run dev/ide_setup/setup_idea.py --multi-module --python 3.12 
--exclude providers
+   $ uv run dev/ide_setup/setup_idea.py --multi-module --python 3.12 --exclude 
providers
 
 What the script generates
 =========================
 
-   * ``.idea/airflow.iml`` — root module definition with source roots 
(single-module mode) or
-     exclude-only root module (multi-module mode).
-   * ``.idea/modules.xml`` — module registry listing all IntelliJ modules.
-   * ``.idea/misc.xml`` — project-level Python SDK reference (derived from 
``.venv``).
-   * ``.idea/.name`` — sets the PyCharm project name to ``airflow-<dirname>`` 
so the
-     auto-detected SDK name matches the configuration.
-   * ``<module>/<module>.iml`` — per-module files (multi-module mode only).
-
-   The script also registers the Python SDKs (root project and Breeze) in the 
global
-   JetBrains ``jdk.table.xml`` configuration using the ``uv (<name>)`` naming 
convention
-   that matches PyCharm's auto-detected uv interpreters.  This means the SDKs 
are
-   immediately available when you open the project — no manual interpreter 
setup needed.
-
-   The script also configures project-wide exclusion patterns (``__pycache__``,
-   ``node_modules``, ``*.egg-info``, cache directories, etc.) so that IntelliJ 
does not
-   index or search generated/build artifacts.
+* ``.idea/airflow.iml`` — root module definition with source roots 
(single-module mode) or
+  exclude-only root module (multi-module mode).
+* ``.idea/modules.xml`` — module registry listing all IntelliJ modules.
+* ``.idea/misc.xml`` — project-level Python SDK reference (derived from 
``.venv``).
+* ``.idea/.name`` — sets the PyCharm project name to ``airflow-<dirname>`` so 
the
+  auto-detected SDK name matches the configuration.
+* ``<module>/<module>.iml`` — per-module files (multi-module mode only).
+
+The script also registers the Python SDKs (root project and Breeze) in the 
global
+JetBrains ``jdk.table.xml`` configuration using the ``uv (<name>)`` naming 
convention
+that matches PyCharm's auto-detected uv interpreters.  This means the SDKs are
+immediately available when you open the project — no manual interpreter setup 
needed.
+
+The script also configures project-wide exclusion patterns (``__pycache__``,
+``node_modules``, ``*.egg-info``, cache directories, etc.) so that IntelliJ 
does not
+index or search generated/build artifacts.
 
 4. Alternatively, you can configure your project manually. Configure the 
source root directories
    for ``airflow-core``, ``task-sdk``, ``airflow-ctl`` and ``devel-common``. 
You also have to set

Reply via email to