AgentSkillsCN

setting-up-astro-project

初始化并配置 Astro/Airflow 项目。适用于用户想要新建项目、设置依赖项、配置连接与变量,或深入了解项目结构时。如需运行本地环境,请参阅 managing-astro-local-env。

SKILL.md
--- frontmatter
name: setting-up-astro-project
description: 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.

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