You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Scaffold the owdata R package on main: the index metapackage for the openwashdata R data packages. Skeleton only; parsers, harvest, data model and exports are #3 to #6.
owdata/
├── DESCRIPTION # Package owdata, License CC BY 4.0, Imports tibble + utils
├── CLAUDE.md # #16
├── R/
│ ├── sysdata.rda # internal catalog snapshot written by the harvest (#5)
│ ├── owd_accessors.R # owd_packages(), owd_datasets(), owd_variables()
│ ├── owd_search.R
│ ├── owd_install.R
│ ├── parsers.R # #3, in R/ so the tests run against the built tarball
│ └── zzz.R # .onAttach startup message only
├── inst/extdata/ # owd_packages.csv, owd_datasets.csv, owd_variables.csv
├── data-raw/
│ ├── harvest.R # #4
│ ├── harvest_helpers.R # local and GitHub backends
│ ├── exclude_repos.csv # denylist backstop
│ ├── packages.json # r-universe registry draft, generated
│ └── harvest_report.md # generated
├── tests/testthat/ # test-parsers.R, test-schema.R, fixtures/
├── .github/workflows/ # R-CMD-check.yaml, pkgdown.yaml, test-coverage.yaml, harvest.yaml (#9)
└── _pkgdown.yml # written by washr::setup_website(), branded by washr::use_brand()
The catalog tables are internal data behind accessor functions, not lazydata: a lazydata object and an exported function cannot both be called owd_packages. There is no data/ directory and no R/data.R.
Tasks
usethis::create_package(), then washr::setup_ci(), washr::update_description(), washr::setup_website(), washr::use_brand(). owdata is built with the tool it indexes.
DESCRIPTION: Title "Index of openwashdata R Data Packages", Authors@R with ORCID, License CC BY 4.0, URL and BugReports, Config/Needs/website: rmarkdown.
testthat 3 setup; copy test-coverage.yaml from washr (coverage in the job summary, no Codecov).
README: purpose, the three accessors, owd_search(), owd_install(), and one paragraph on how a package gets listed: publish with washr, mint the Zenodo DOI, the weekly harvest picks it up.
Acceptance criteria
devtools::check() passes on the skeleton
R-CMD-check, pkgdown and test-coverage workflows green on main
A second run of every washr function above changes no file
Goal
Scaffold the owdata R package on main: the index metapackage for the openwashdata R data packages. Skeleton only; parsers, harvest, data model and exports are #3 to #6.
Rewritten 2026-09-04 per dev/decisions-2026-09.md.
Target layout
The catalog tables are internal data behind accessor functions, not lazydata: a lazydata object and an exported function cannot both be called
owd_packages. There is nodata/directory and noR/data.R.Tasks
usethis::create_package(), thenwashr::setup_ci(),washr::update_description(),washr::setup_website(),washr::use_brand(). owdata is built with the tool it indexes.Config/Needs/website: rmarkdown.test-coverage.yamlfrom washr (coverage in the job summary, no Codecov)..github/workflows/, which is why PR feat: implement the owdata index metapackage at v0.0.0.9000 #15 parked them.owd_search(),owd_install(), and one paragraph on how a package gets listed: publish with washr, mint the Zenodo DOI, the weekly harvest picks it up.Acceptance criteria
devtools::check()passes on the skeleton