Thanks for taking the time to help improve bslibdash! This document outlines how to file issues and propose changes.
Before opening a new issue, please search the existing issues to make sure your problem or idea has not already been reported.
When reporting a bug, please include a small, self-contained reprex that reproduces the problem. Reprexes make it much faster for us to understand and fix issues.
Include, at minimum:
- A short description of what you expected vs. what happened.
- The bslibdash version (
packageVersion("bslibdash")) and the output ofsessionInfo()ordevtools::session_info(). - The smallest possible Shiny app or code snippet that shows the issue.
For feature requests, describe the use case first (what you are trying to accomplish) before jumping to a specific API suggestion.
Small typo fixes in documentation may be edited directly through the
GitHub web interface, as long as the change is made in the source file
(usually a roxygen comment in an .R file under R/) and not in
the generated .Rd file under man/.
Before you invest time in a substantial change, please open an issue to discuss the approach. That way we can make sure it is a good fit for the package and avoid duplicated effort.
For any pull request:
- Fork the repository and create a feature branch off
main. - Install the development dependencies:
devtools::install_dev_deps(). - Make your changes together with tests and documentation.
- Run
devtools::document()if you changed any roxygen comments, and commit the regeneratedman/andNAMESPACEfiles. - Run
devtools::test()anddevtools::check()locally and make sure both pass without new warnings or notes. - Push the branch and open a pull request. Reference the related issue in the description.
- Follow the tidyverse style guide.
- The project uses lintr — run
lintr::lint_package()before submitting. - Please avoid mixing unrelated changes (formatting, refactors, feature work) in the same pull request.
- New behaviour should be covered by tests in
tests/testthat/. - Bug fixes should include a regression test that fails before your fix and passes after it.
- Snapshot tests (
testthat::expect_snapshot()) are welcome for HTML output; commit the resulting_snaps/files.
- User-facing changes should be documented in
NEWS.mdunder a# bslibdash (development version)heading. - Public functions must have complete roxygen documentation, including
@param,@return, and at least one runnable@examplesblock.