potiuk opened a new pull request, #65873: URL: https://github.com/apache/airflow/pull/65873
Replace the recommended `uv tool install -e ./dev/breeze` setup with a small shim script at `~/.local/bin/breeze` that runs breeze via `uvx --from <repo>/dev/breeze`. Each git worktree (including ephemeral worktrees used by coding agents) gets its own breeze tied to its own sources, removing the single-global-install ping-pong between checkouts. The shim is a real file on `PATH`, so every subprocess that invokes `breeze` — pre-commit hooks (incl. `breeze setup regenerate-command-images` / `check-all-params-in-groups`), CI scripts, dev tools — sees it just like a `uv tool`-installed binary. A shell-function-only design would not satisfy that: subprocesses don't inherit shell functions. ADR 0017 (new) captures the rationale and supersedes ADR 0016. `setup_breeze` is rewritten to write the shim and refuses to proceed if a legacy `uv tool` / `pipx` install of breeze is present (both target the same path). Docs and in-breeze hint strings updated to lead with the new flow; the legacy `uv tool` / `pipx` paths still work for contributors who prefer them. Migration for existing contributors: 1. `uv tool uninstall apache-airflow-breeze` (or `pipx uninstall apache-airflow-breeze`) 2. `./scripts/tools/setup_breeze` --- ##### Was generative AI tooling used to co-author this PR? - [X] Yes — Claude Code (Opus 4.7) Generated-by: Claude Code (Opus 4.7) following [the guidelines](https://github.com/apache/airflow/blob/main/contributing-docs/05_pull_requests.rst#gen-ai-assisted-contributions) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
