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 从公开仓库中收录这些内容。

举报或申请下架