
Managing Astro Local Env
Start, stop, restart, and troubleshoot local Apache Airflow with Astro CLI in Docker or standalone uv mode while authoring and testing DAGs.
Overview
Managing Astro Local Env is an agent skill most often used in Build (also Ship, Operate) that starts, stops, restarts, and troubleshoots local Airflow via Astro CLI in Docker or standalone mode.
Install
npx skills add https://github.com/astronomer/agents --skill managing-astro-local-envWhat is this skill?
- Docker mode: astro dev start, stop, kill, restart with component flags for scheduler and webserver
- Standalone mode: Docker-free Airflow 3 via uv-managed `.venv/` (not on Windows)
- Default UI at http://localhost:8080 with admin/admin credentials documented
- Restart guidance after requirements.txt, packages.txt, or Dockerfile changes
- Hands off to authoring-dags and testing-dags MCP tools when Airflow is running
- 2 local modes documented: Docker (default) and Standalone (uv)
Adoption & trust: 737 installs on skills.sh; 384 GitHub stars; 3/3 security scanners passed (skills.sh audits).
What problem does it solve?
Your local Airflow stack is down, half-restarted, or out of sync after dependency changes and you cannot reliably test DAGs.
Who is it for?
Builders already on an Astro project who need daily dev start/stop, log inspection, and environment fixes before DAG deploys.
Skip if: Greenfield Astro repo initialization—use setting-up-astro-project first; not for production Astro/deployment topology.
When should I use this skill?
User wants to start, stop, or restart Airflow, view logs, query the Airflow API, troubleshoot, or fix local environment issues with Astro CLI.
What do I get? / Deliverables
You have a running local Airflow instance with known URLs and credentials, ready for authoring-dags and testing-dags MCP workflows.
- Running local Airflow UI and API
- Documented stop/start/restart procedure
- Troubleshooting steps for local env failures
Recommended Skills
Journey fit
Spans multiple journey phases - primary shelf plus alternate fits below.
Local Astro env is the default integration surface while you wire Airflow DAGs during product build. Integrations covers orchestration tooling, CLI lifecycle, and hooks into authoring and testing workflows—not one-off scripts.
Where it fits
Restart the webserver after editing Dockerfile before validating a new provider package.
Bring up astro dev start so testing-dags MCP can run parse and smoke checks against localhost:8080.
Use astro dev kill and a clean start when volumes corrupt after repeated dependency experiments.
How it compares
Local lifecycle commands for Astro CLI, not a hosted orchestration MCP or cloud deploy skill.
Common Questions / FAQ
Who is managing-astro-local-env for?
Solo developers and small data teams using Astronomer Astro CLI to develop Airflow DAGs locally with Docker or standalone uv.
When should I use managing-astro-local-env?
Use it in Build while integrating pipelines; in Ship while running local DAG tests; in Operate when diagnosing local scheduler, webserver, or API issues after config or dependency edits.
Is managing-astro-local-env safe to install?
It instructs shell and Docker operations on your machine; review the Security Audits panel on this Prism page and treat admin credentials as dev-only.
Workflow Chain
Requires first: setting up astro project
Then invoke: authoring dags, testing dags
SKILL.md
READMESKILL.md - Managing Astro Local Env
# Astro Local Environment This skill helps you manage your local Airflow environment using the Astro CLI. Two modes: **Docker** (default, uses containers) and **Standalone** (Docker-free, uses a local venv — requires Airflow 3 + `uv`). > **To set up a new project**, see the **setting-up-astro-project** skill. > **When Airflow is running**, use MCP tools from **authoring-dags** and **testing-dags** skills. --- ## Start / Stop / Restart (Docker) ```bash # Start local Airflow (webserver at http://localhost:8080) astro dev start # Stop containers (preserves data) astro dev stop # Kill and remove volumes (clean slate) astro dev kill # Restart all containers astro dev restart # Restart specific component astro dev restart --scheduler astro dev restart --webserver ``` **Default credentials:** admin / admin **Restart after modifying:** `requirements.txt`, `packages.txt`, `Dockerfile` > **Standalone mode?** See the next section. --- ## Standalone Mode Docker-free local development. Runs Airflow directly on your machine in a `.venv/` managed by `uv`. **Requirements:** Airflow 3 (runtime 3.x), `uv` on PATH. Not supported on Windows. > Plain `astro dev init` already pins a runtime 3.x image, so no version flag is needed. See **setting-up-astro-project** for project initialization. ### Start ```bash # One-time: set standalone as default mode astro config set dev.mode standalone # Or use the flag per invocation astro dev start --standalone ``` | Flag | Description | |------|-------------| | `--foreground` / `-f` | Stream output in foreground | | `--port` / `-p` | Override webserver port (default: 8080) | | `--no-proxy` | Disable reverse proxy | ### Stop / Kill / Restart ```bash # Stop (preserves .venv) astro dev stop # Kill (removes .venv and .astro/standalone/ — clean slate) astro dev kill # Restart (preserves .venv for fast restart, use -k to kill first) astro dev restart ``` > If you used `--standalone` on start instead of setting the config, pass `--standalone` on every subsequent command too (stop, kill, restart, bash, run, logs, etc.). **State locations:** venv in `.venv/`, database and logs in `.astro/standalone/`, DAGs from `dags/`. --- ## Reverse Proxy Run multiple Airflow projects locally without port conflicts. Works in both Docker and standalone modes. Each project gets a hostname like `<project-name>.localhost:6563`. Visit `http://localhost:6563` to see all active projects. ```bash # Check proxy status and active routes astro dev proxy status # Force-stop proxy (auto-restarts on next astro dev start) astro dev proxy stop ``` | Config | Command | |--------|---------| | Change proxy port | `astro config set proxy.port <port>` | | Disable per-start | `astro dev start --no-proxy` | Default proxy port: **6563** --- ## Check Status ```bash astro dev ps ``` --- ## View Logs ```bash # All logs astro dev logs # Specific component astro dev logs --scheduler astro dev logs --webserver # Follow in real-time astro dev logs -f ``` **Standalone:** `astro dev logs` works the same but shows a unified log (no per-component filtering). --- ## Run Airflow CLI Commands ```bash # Open a shell with Airflow environment astro dev bash # Run Airflow CLI commands astro dev run airflow info astro dev run airflow dags list ``` **Standalone:** Same commands work — `bash` opens a venv-activated shell, `run` executes in the venv. --- ## Querying the Airflow API Use `astro api airflow` to query a running local Airflow instance. Prefer operation IDs over URL paths. **Defaults:** localhost:8080, admin/admin (auto-detected). Override with `--api-url`, `--username`, `--password`. ### Discovery ```ba