managing-astro-local-envlisted
Install: claude install-skill vanducng/skills
# managing-astro-local-env
Local Airflow via Astro CLI. Docker mode is the default. Do not assume port 8080 - read the project config.
## Port and credentials
```bash
astro config get webserver.port # one key per call; add -g for the global value
astro dev ps
```
Check `.astro/config.yaml` and `airflow_settings.yaml` for the UI port. Default credentials are `admin` / `admin` unless the project overrides them.
## Lifecycle
```bash
astro dev start # UI on the configured port
astro dev stop # keep volumes
astro dev kill # wipe volumes
astro dev restart # no --scheduler flag exists; this restarts the whole stack
astro dev parse # import errors without waiting for the scheduler
astro dev pytest
astro dev logs --scheduler
astro dev logs -f
astro dev bash
astro dev run airflow dags list
```
Restart after `requirements.txt`, `packages.txt`, or `Dockerfile` changes (`kill` then `start` if packages fail to install).
If the repo Makefile already wraps these, prefer the target that exists (`airflow`, `scheduler-restart`, `dags-import-errors`, `dags-reparse`). Do not invent Make targets.
## Local API
Prefer a configured `af` instance named `local` (see `vd:astro-airflow`). Otherwise:
```bash
# Astro CLI (local only) - operation ids, not raw paths
astro api airflow ls
astro api airflow get_import_errors
astro api airflow get_dags -q '.dags[].dag_id'
astro api airflow get_dag_runs -p dag_id=<dag_id>