Contributing to ltertools
Source:CONTRIBUTING.md
Please follow the contributing instructions under the relevant subheading as you consider how best to contribute to ltertools
. Thank you for your interest!
Contributing a New Function
Adding a function you’ve written is the core of ltertools
’ reason for existing. If you have a function you’d like to contribute please do the following:
Open a GitHub issue and paste the entirety of your function in that issue
-
Please also provide a 1-paragraph description of what your function does and/or the contexts where your function should be invoked
- This description should provide sufficient detail that an R expert can gain a fundamental understanding of your function’s purpose such that we can do any necessary maintenance during integration
- This will likely form the basis of the “Description” field of the function that
ltertools
users can access with?function
so feel free to use an existing function’s help file as a reference (e.g.,?dplyr::filter
, etc.)
Once you’ve provided this information we can work towards standardizing function formatting (casing, syntax, etc.) so that your function can be included in our suite of available tools!
Function Credit
If you decide to contribute a function to ltertools
we offer the following benefits:
We will list your preferred name in the
DESCRIPTION
file as an authorIf you’d like, we can add any of: your email, professional website, or a link to your ORCiD
By taking these steps we hope to ensure that your intellectual contributions will be appropriately credited and that ltertools
users can find other facets of your professional work based on your links to this R package.
Minor Edits / Suggestions
If you are either (1) calling attention to a bug/error or (2) making a small suggestion for improvement, we suggest that you open a GitHub issue.
For bugs, please include a minimal reproducible example so that we can quickly reproduce and resolve the bug
For suggestions, please be as precise as possible so that we know the scope of changes that would be needed to implement your idea(s)
Major Changes
If you have a major change necessitating systemic/structural changes to ltertools
we recommend the following:
Fork the GitHub repository
Add your function script (and any necessary data files) to the
dev
folder in your forkWhen finished with your edits, submit a pull request
Style Guide
We are happy to tweak function/argument names as needed to maintain a consistent “feel” of functions in ltertools
. That said, if you’d like to make those changes yourself you are more than welcome to though such aesthetic changes are optional. ltertools
will adhere to the following stylistic elements:
Use “snake case” (i.e., all lowercase separated by underscores) for functions and arguments (e.g.,
my_function(argument_1 = ...)
, etc.)If your function prints informative messages, include a
quiet
argument that accepts a logical (i.e.,TRUE
orFALSE
). Please suppress all of these messages whenquiet = TRUE
.Include errors / warnings for user inputs to arguments that are inappropriate class or structure (i.e., code defensively)