Astro Project Setup
This skill helps initialize and configure Airflow projects using the Astro CLI.
Note: These are external CLI actions. For runtime inspection inside the VS Code extension, use the extension tools.
Initialize a New Project
bash
astro dev init
Creates this structure:
code
project/ ├── dags/ # DAG files ├── include/ # SQL, configs, supporting files ├── plugins/ # Custom Airflow plugins ├── tests/ # Unit tests ├── Dockerfile # Image customization ├── packages.txt # OS-level packages ├── requirements.txt # Python packages └── airflow_settings.yaml # Connections, variables, pools
Adding Dependencies
Python Packages (requirements.txt)
code
apache-airflow-providers-snowflake==5.3.0 pandas==2.1.0 requests>=2.28.0
OS Packages (packages.txt)
code
gcc libpq-dev
Custom Dockerfile
dockerfile
FROM quay.io/astronomer/astro-runtime:12.4.0 RUN pip install --extra-index-url https://pypi.example.com/simple my-package
After modifying dependencies: run astro dev restart.
Configuring Connections and Variables
airflow_settings.yaml
Loaded automatically on environment start:
yaml
airflow:
connections:
- conn_id: my_postgres
conn_type: postgres
host: host.docker.internal
port: 5432
login: user
password: pass
schema: mydb
variables:
- variable_name: env
variable_value: dev
pools:
- pool_name: limited_pool
pool_slot: 5
Export/Import
bash
# Export from running environment astro dev object export --connections --file connections.yaml # Import to environment astro dev object import --connections --file connections.yaml
Validate Before Running
Parse DAGs to catch errors without starting the full environment:
bash
astro dev parse
Related Skills
- •managing-astro-local-env
- •authoring-dags
- •testing-dags