Skip to contents

Thanks for your interest in geefetch. This document is the 30-second on-ramp.

Dev setup

# 1. Fork and clone AAGI-AUS/geefetch
# 2. Open the subdir package (DESCRIPTION lives at geefetch/DESCRIPTION)
setwd("geefetch")

# 3. Install dev dependencies
pak::local_install_dev_deps()

# 4. Load the package
devtools::load_all()

# 5. Run the full check
devtools::check()

Running the tests

devtools::test()                                     # all tests (parallel, testthat edition 3)
devtools::test_active_file()                         # just the test file currently open
devtools::test(filter = "backend_rest-http")         # just the httptest2 suite

All HTTP tests replay cassettes from tests/testthat/computeFeatures-*/. They skip gracefully when a cassette directory is missing. Maintainers who recapture cassettes: see tests/testthat/README.md.

Lint and format

lintr::lint_package()
# Formatter: 'air' (post-styler). Either:
system("air format .")
# or install the pre-commit hook (see .pre-commit-config.yaml).

Opening a PR

  • Branch naming: feat/<topic>, fix/<topic>, docs/<topic>, refactor/<topic>.
  • Commits: Conventional Commits.
  • Expect CI to run: R-CMD-check (6-row matrix incl. macos-14 ARM), test-coverage, lint, pkgdown, dependency-review.
  • Update NEWS.md for any user-visible change.
  • Make sure devtools::document() was run if you touched roxygen.
  • Run air format . (or let the pre-commit hook do it).

Reporting a bug

Open an issue using the Bug report template. Include:

Security

Please do not open a public issue for security problems. See SECURITY.md for the private-disclosure channel.

Code of Conduct

By participating you agree to abide by the Contributor Covenant.

Maintainer competence matrix

This section exists because LLM-assisted development makes it easy to ship code that nobody on the team is qualified to review. Every language or framework touched by geefetch has a named Primary (and where warranted, a Secondary for bus-factor resilience).

Area Primary Secondary
R package structure, CRAN readiness Max Moldovan Adam H. Sparks
httr2 REST backend + gargle auth Max Moldovan —
terra / sf spatial handling Max Moldovan Adam H. Sparks
data.table batch extraction Max Moldovan Adam H. Sparks
CI / GitHub Actions Max Moldovan Adam H. Sparks
Documentation, vignettes, pkgdown Max Moldovan Adam H. Sparks

No compiled code in geefetch. If a contribution adds C++, Rust, or other compiled sources, a Secondary competent in that language must be added to the matrix before the PR can merge (per rubrics/llm_independence.md).

Maintainers

Primary: Max Moldovan (max.moldovan@adelaide.edu.au, ORCID). Secondary: Adam H. Sparks (adam.sparks@curtin.edu.au, ORCID).

See .github/CODEOWNERS for area-specific reviewers.