Thanks for considering a contribution.
- Read SPEC.md before proposing changes. Design constraints are intentional: composite only, zero external action deps, local-only by default.
- Discuss substantial changes in an issue before opening a PR.
- All PRs must pass CI: matrix tests, lint, zizmor, actionlint, BATS unit tests, e2e.
- Follow existing code style: LF line endings, 2-space YAML indent.
git clone https://github.com/lowlydba/stac-check-action.git
cd stac-check-action
pip install stac-check==1.9.1 # or pin to whatever you're testing againstValidate action.yml parses:
python -c "import yaml; yaml.safe_load(open('action.yml'))"Run the action's logic against a local STAC file:
stac-check ./path/to/item.jsonRun the BATS unit tests for scripts/run.sh (requires Node/npm; pinned in CI):
npx -y bats@1.13.0 tests/Run zizmor (requires installation):
GITHUB_TOKEN=$(gh auth token) zizmor .Run actionlint:
actionlint- Branch from
main - One logical change per PR
- CHANGELOG.md updated under
[Unreleased] - SPEC.md updated if behavior changes
- README.md updated if user-facing
- CI green (zizmor + actionlint + matrix tests + BATS + e2e)
- Commits follow Conventional Commits format
type(scope): short description
Longer body if needed.
Types: feat, fix, docs, chore, refactor, test, ci, perf.
Maintainers only. See SPEC.md § Release Process.
This project adheres to the Contributor Covenant. By participating, you agree to its terms.