← astronomer-dataCONTENT HISTORYWHAT CHANGED · RULE-BASED ANALYSIS
Update to astronomer-data
Snapshot Sep 30, 2026 · 23:17 UTC · version 0.1.0
Collection source: not recorded for this historical snapshot.
First saved snapshot
No earlier snapshot is available to establish a change.
Compare saved observations
Download comparison JSONFull technical diff · 0 changed fields
Full snapshot data
{
"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.",
"included_files": [],
"skill_md_contents": "---\nname: setting-up-astro-project\ndescription: 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.\n---\n\n# Astro Project Setup\n\nThis skill helps you initialize and configure Airflow projects using the Astro CLI.\n\n> **To run the local environment**, see the **managing-astro-local-env** skill.\n> **To write DAGs**, see the **authoring-dags** skill.\n> **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.\n\n---\n\n## Initialize a New Project\n\n```bash\nastro dev init\n```\n\n> **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.\n\nCreates this structure:\n```\nproject/\n├── dags/ # DAG files\n├── include/ # SQL, configs, supporting files\n├── plugins/ # Custom Airflow plugins\n├── tests/ # Unit tests\n├── Dockerfile # Image customization\n├── packages.txt # OS-level packages\n├── requirements.txt # Python packages\n└── airflow_settings.yaml # Connections, variables, pools\n```\n\n---\n\n## Adding Dependencies\n\n### Python Packages (requirements.txt)\n\n```\napache-airflow-providers-snowflake==5.3.0\npandas==2.1.0\nrequests>=2.28.0\n```\n\n### OS Packages (packages.txt)\n\n```\ngcc\nlibpq-dev\n```\n\n### Custom Dockerfile\n\nFor complex setups (private PyPI, custom scripts):\n\n```dockerfile\nFROM quay.io/astronomer/astro-runtime:12.4.0\n\nRUN pip install --extra-index-url https://pypi.example.com/simple my-package\n```\n\n**After modifying dependencies:** Run `astro dev restart`\n\n---\n\n## Configuring Connections & Variables\n\n### airflow_settings.yaml\n\nLoaded automatically on environment start:\n\n```yaml\nairflow:\n connections:\n - conn_id: my_postgres\n conn_type: postgres\n host: host.docker.internal\n port: 5432\n login: user\n password: pass\n schema: mydb\n\n variables:\n - variable_name: env\n variable_value: dev\n\n pools:\n - pool_name: limited_pool\n pool_slot: 5\n```\n\n### Export/Import\n\n```bash\n# Export from running environment\nastro dev object export --connections --file connections.yaml\n\n# Import to environment\nastro dev object import --connections --file connections.yaml\n```\n\n---\n\n## Validate Before Running\n\nParse DAGs to catch errors without starting the full environment:\n\n```bash\nastro dev parse\n```\n\n---\n\n## Related Skills\n\n- **managing-astro-local-env**: Start, stop, and troubleshoot the local environment\n- **authoring-dags**: Write and validate DAGs (uses MCP tools)\n- **testing-dags**: Test DAGs (uses MCP tools)\n- **deploying-airflow**: Deploy DAGs to production (Astro, Docker Compose, Kubernetes)\n"
}SHA-256: d8e3d816ab2862ad8a4be29f76622bd4d640f63e7a35862ec9c0e5babd0ab899