Contributing¶
Thank you for contributing to Astro. This guide covers development setup, testing, code style, and documentation.
Source of truth¶
Audience |
Location |
|---|---|
End users |
|
Implementers and agents |
|
Coding agents |
Root-level markdown files exist for GitHub and tooling, not as a second copy of the user guides:
Root file |
Role |
|---|---|
Repository landing page — brief overview and links into |
|
GitHub contributing entry point — points here |
|
GitHub security policy and vulnerability reporting |
|
Release notes |
|
Community standards |
When you change behaviour, update the relevant page in docs/ and SPEC.md. Do not duplicate long-form guides in root markdown files.
Quality bar¶
Before merging or completing work:
make checkmust pass (lint, format, typecheck, tests)Test coverage must remain at or above 80%
New behaviour requires tests written first
Project layout¶
src/astro/ Library and CLI
tests/ pytest suite
docs/ Sphinx documentation
examples/ Sample pipeline.py
Getting started¶
See Development setup for installation and Testing for the test-first workflow.
When behaviour changes, update user docs and SPEC.md in the same change (see .cursor/rules/document-everything.mdc).
Releasing¶
See Release and PyPI publishing for version bumps, building wheels, and publishing to PyPI.
Documentation¶
See Documentation for building docs locally and publishing to Read the Docs.
License¶
Astro is released under the MIT License. See LICENSE in the repository root.