setting-up-astro-project

द्वारा astronomer

Astro/Airflow प्रोजेक्ट्स को डिपेंडेंसी, कनेक्शन और एनवायरनमेंट सेटअप के साथ इनिशियलाइज़ और कॉन्फ़िगर करें। astro dev init के साथ पूर्ण प्रोजेक्ट संरचना तैयार करता है, जिसमें DAGs, प्लगइन्स, टेस्ट और कॉन्फ़िगरेशन फ़ाइलों के लिए डायरेक्टरी शामिल हैं। requirements.txt और packages.txt के माध्यम से Python और OS-स्तरीय डिपेंडेंसी प्रबंधित करें, जटिल सेटअप के लिए कस्टम Dockerfile सपोर्ट के साथ। airflow_settings.yaml में कनेक्शन, वेरिए

npx skills add https://github.com/astronomer/agents --skill setting-up-astro-project

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

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.0
pandas==2.1.0
requests>=2.28.0

OS Packages (packages.txt)

gcc
libpq-dev

Custom Dockerfile

For complex setups (private PyPI, custom scripts):

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:

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

# 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:

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 की और Skills

airflow-state-store
astronomer
Persists task and asset state across retries and DAG runs using Airflow 3.3's AIP-103 key/value stores (`task_state_store`, `asset_state_store`) and the…
creating-openlineage-extractors
astronomer
कस्टम OpenLineage एक्सट्रैक्टर, असमर्थित Airflow ऑपरेटरों और जटिल लिनिएज परिदृश्यों के लिए। दो दृष्टिकोण: अपने स्वामित्व वाले ऑपरेटरों में सीधे OpenLineage विधियाँ जोड़ें (अनुशंसित), या तीसरे पक्ष के ऑपरेटरों के लिए कस्टम एक्सट्रैक्टर बनाएं जिन्हें आप संशोधित नहीं कर सकते। एक्सट्रैक्टर तीन बिंदुओं पर ऑपरेटर निष्पादन को इंटरसेप्ट करते हैं: स्थिर लिनिएज के लिए निष्पादन से पहले, रनटाइम-निर्धार
debugging-dags
astronomer
व्यवस्थित मूल कारण विश्लेषण और विफल Airflow DAGs के लिए संरचित जांच कार्यप्रवाहों के साथ सुधार। चार-चरणीय निदान प्रक्रिया के माध्यम से मार्गदर्शन करता है: विफलता की पहचान करें, त्रुटि विवरण निकालें, प्रासंगिक जानकारी एकत्र करें, और कार्रवाई योग्य सुधार कदम प्रदान करें। विफलताओं को चार प्रकारों (डेटा, कोड, बुनियादी ढांचा, निर्भरता) में वर्गीकृत करता है ताकि जांच पर ध्यान केंद्रित किया जा सके और उपयुक्त सुधार स
delegating-to-otto
astronomer
Drives Astronomer's Otto agent (`astro otto`) as a delegated sub-agent for Airflow, dbt, and data-engineering work. Use when the user explicitly asks to "use…
deploying-airflow
astronomer
Airflow DAG और प्रोजेक्ट्स को डिप्लॉय करें। इसका उपयोग तब करें जब उपयोगकर्ता कोड डिप्लॉय करना चाहता है, DAG पुश करना चाहता है, CI/CD सेट अप करना चाहता है, प्रोडक्शन में डिप्लॉय करना चाहता है, या डिप्लॉयमेंट रणनीतियों के बारे में पूछता है…
deploying-go-sdk-bundles
astronomer
संकलित Airflow Go SDK बंडलों को बनाता, पैक करता और तैनात करता है ताकि ExecutableCoordinator उन्हें चला सके। उपयोग तब करें जब उपयोगकर्ता Go टास्क बंडल को संकलित करना चाहता है, पूछता है…
testing-dags
astronomer
Airflow DAGs के लिए पुनरावृत्त परीक्षण-डीबग-फिक्स चक्र, जिसमें व्यापक विफलता निदान शामिल है। DAG चलाने और पूरा होने की प्रतीक्षा करने के लिए af runs trigger-wait <dag_id> से शुरू करें; किसी प्री-फ्लाइट जांच की आवश्यकता नहीं है। विफलता पर, व्यापक विफलता सारांश के लिए af runs diagnose और विशिष्ट कार्यों से त्रुटि विवरण का निरीक्षण करने के लिए af tasks logs का उपयोग करें। कस्टम कॉन्फ़िगरेशन, टाइमआउट और पुनः प्रयास प्रयासों का समर्थन करता है; स
tracing-downstream-lineage
astronomer
डाउनस्ट्रीम डेटा वंशावली का पता लगाएं ताकि तालिकाओं या DAGs को संशोधित करने से पहले परिवर्तन के प्रभाव का आकलन किया जा सके। स्रोत कोड खोज, व्यू निर्भरताओं और BI टूल कनेक्शनों के माध्यम से लक्ष्य तालिका या DAG के प्रत्यक्ष उपभोक्ताओं की पहचान करता है। तालिकाओं से लेकर डैशबोर्ड और ML मॉडल तक सभी डाउनस्ट्रीम प्रभावों को मैप करने वाला एक पूर्ण निर्भरता ट्री बनाता है। हितधारक संचार और परीक्षण को प्र