This outlines how to propose a change to taxastand.
By participating in this project you agree to abide by its Contributor Code of Conduct.
taxastand matches and standardizes taxonomic names against a user-supplied reference taxonomy (see the README for details). Feature requests that are really about a specific taxonomic database or web service are likely a better fit for packages like taxize or taxadb; if you’re not sure, open an issue to discuss before starting work.
If you’ve found a bug, please file an issue that illustrates it with a minimal reproducible example. If you’d like to propose a new feature, open an issue describing what you’d like to see and why, before writing code — this saves everyone time if it turns out the feature is out of scope or needs a different approach.
To contribute a change:
main.devtools::document() to regenerate .Rd files after editing roxygen comments).For small fixes (typos, obvious bugs), feel free to skip the issue and go straight to a pull request.
# Install development dependencies
devtools::install_dev_deps()
# Run the test suite
devtools::test()
# Check code style (uses the .lintr config in this repo)
lintr::lint_package()
# Auto-format code to match the project's style
styler::style_pkg()
# Full package check (mirrors CI)
devtools::check()Some tests compare taxastand’s pure-R matching engine against the original taxon-tools Docker image; these are skipped automatically if Docker isn’t available, so you don’t need Docker to contribute.
Code is formatted with styler and linted with lintr (see .lintr for the active rules). Please run both before opening a PR.
Function documentation is written as roxygen2 comments above each function in R/, not edited directly in man/. Run devtools::document() to regenerate .Rd files and NAMESPACE after changing roxygen comments.
taxastand is under active development. Its public API (ts_parse_names(), ts_match_names(), ts_resolve_names()) is considered stable; internal functions may change without notice.