Setting Up Astro Project

作者 astronomercbe1141f547b無授權條款451 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫今天更新

Initialize and configure Astro/Airflow projects. Use when the user wants to create a new project, set up dependencies, configure connections/variables, or understand project structure. For running the local environment, see managing-astro-local-env.

僅含說明DevOps & Cloud
AI 產生的概覽

使用 Astro CLI 初始化並設定 Astro/Airflow 專案,涵蓋相依套件、連線與變數。

功能
指導代理使用 Astro CLI 建立新的 Astro/Airflow 專案,包括產生的 dags、include、plugins、tests 目錄及各類設定檔結構。說明如何加入 Python 與作業系統相依套件、自訂 Dockerfile,以及在 airflow_settings.yaml 中定義連線、變數與集區。也涵蓋物件的匯出與匯入,以及在啟動完整環境前用解析指令驗證 DAG。
適用情境
當使用者想要新建 Astro 或 Airflow 專案、設定相依套件、設定連線或變數,或了解專案結構時使用。它不用於執行本機環境、撰寫 DAG 或部署到正式環境,這些由其他技能負責。
執行需求
需要 Astro CLI,本機執行還需要 Docker;此技能僅為說明文件,不附帶指令碼。拉取映像與套件需要網路存取,私有套件索引或連線可能需要憑證。

Astro Project Setup

This skill helps you initialize and configure Airflow projects using the Astro CLI.

To run the local environment, see the managing-astro-local-env skill. To write DAGs, see the authoring-dags skill. Open-source alternative: If the user isn't on Astro, guide them to Apache Airflow's Docker Compose quickstart for local dev and the Helm chart for production. For deployment strategies, use the deploying-airflow skill.


Initialize a New Project

bash
astro dev init

Don't pass --airflow-version or --runtime-version unless the user explicitly asks for a specific pin. Plain astro dev init resolves to the latest Astro Runtime — that's the right default. Specifying a version risks pinning to a stale value from training data. If the user wants to know what was installed, read the generated Dockerfile afterward instead of guessing.

Creates this structure:

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)

apache-airflow-providers-snowflake==5.3.0pandas==2.1.0requests>=2.28.0

OS Packages (packages.txt)

gcclibpq-dev

Custom Dockerfile

For complex setups (private PyPI, custom scripts):

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 & 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 environmentastro dev object export --connections --file connections.yaml
# Import to environmentastro 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: Start, stop, and troubleshoot the local environment
  • authoring-dags: Write and validate DAGs (uses MCP tools)
  • testing-dags: Test DAGs (uses MCP tools)
  • deploying-airflow: Deploy DAGs to production (Astro, Docker Compose, Kubernetes)

來源與署名

來源:astronomer/agents位於skills/setting-up-astro-project提交cbe1141

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架