Excellent tool Kaxil !!!!

I love it. I already installed it and I am giving it a go (and I might have
some PRs soon - I already see one thing I would like to change :D)

I do manage a lot of those manually - but it is certainly worth trying to
automate some of that especially if you work on many PRs in parallel. I
have a feeling that this is going to be my new best friend.


On Fri, Oct 31, 2025 at 2:12 PM Kaxil Naik <[email protected]> wrote:

> Hello fellow Airflow developers,
>
> Before I go on paternity leave, I wanted to share a tool I've been using
> that might help fellow contributors who work on multiple PRs
> simultaneously.
>
> ## What is ABM?
>
> *Airflow Breeze Manager (ABM)* is a CLI tool for managing multiple Airflow
> development environments with isolated breeze instances. It uses git
> worktrees and port isolation so you can work on multiple branches at the
> same time without conflicts.
>
> GitHub: https://github.com/kaxil/abm
> PyPI: `uv tool install airflow-breeze-manager`
>
> ## The Problem It Solves
>
> When working on multiple Airflow PRs/features simultaneously, we face:
> - Port conflicts when running multiple breeze instances
> - Container name collisions (all use the same Docker Compose project name)
> - Lost context when switching branches
> - Waiting for containers to restart every time you switch
>
> ## How It Works
>
> ABM creates isolated environments for each branch:
> - ✅ Git worktrees (multiple branches checked out simultaneously)
> - ✅ Unique port assignments for all services (webserver, flower, postgres,
> mysql, redis, ssh)
> - ✅ Isolated Docker containers (via unique COMPOSE_PROJECT_NAME)
> - ✅ Branch-specific documentation that persists (PROJECT.md, CLAUDE.md)
> - ✅ GitHub PR tracking
> - ✅ Disk space management (freeze/thaw node_modules)
>
> ## Quick Example
>
> ```bash
> # One-time setup (run from your Airflow repo)
> cd ~/airflow
> abm init --airflow-repo . --worktree-base ../airflow-wt
>
> # Create projects for different features
> abm add feature-async --create-branch
> abm add bugfix-scheduler --create-branch
>
> # Work on both simultaneously
> abm start-airflow feature-async      # localhost:28180
> abm start-airflow bugfix-scheduler   # localhost:28181 (different port!)
>
> # Each has its own isolated environment - no conflicts!
> abm list  # See all your projects
> ```
>
> ## Links
>
> - GitHub: https://github.com/kaxil/abm
> - Quick Start: https://github.com/kaxil/abm/blob/main/QUICKSTART.md
>
> I hope this helps some of you be more productive with parallel development!
>
> Regards,
> Kaxil
>

Reply via email to