|
| 1 | +# Contributing to programets |
| 2 | + |
| 3 | +Thank you for your interest in contributing to **programets**! This document provides guidelines and information about how you can contribute. |
| 4 | + |
| 5 | +## Code of Conduct |
| 6 | + |
| 7 | +By participating in this project, you agree to abide by our [Code of Conduct](CODE_OF_CONDUCT.md). Please read it before contributing. |
| 8 | + |
| 9 | +## How to Contribute |
| 10 | + |
| 11 | +### Reporting Issues |
| 12 | + |
| 13 | +Found a bug or have a feature request? Please open an issue at [GitHub Issues](https://github.com/nih-cfde/programets/issues). |
| 14 | + |
| 15 | +When reporting a bug, please include: |
| 16 | + |
| 17 | +- A clear description of the problem |
| 18 | +- Steps to reproduce the issue |
| 19 | +- Expected behavior vs actual behavior |
| 20 | +- Your R version and operating system |
| 21 | +- Output from `sessionInfo()` |
| 22 | + |
| 23 | +### Proposing Changes |
| 24 | + |
| 25 | +We welcome pull requests! Here's how to get started: |
| 26 | + |
| 27 | +1. **Fork the repository** and clone it locally |
| 28 | +2. **Create a branch** for your changes: `git checkout -b feature/your-feature-name` |
| 29 | +3. **Make your changes** following the code style guidelines below |
| 30 | +4. **Test your changes** by running `devtools::check()` |
| 31 | +5. **Commit your changes** with a clear commit message |
| 32 | +6. **Push your branch** and open a pull request |
| 33 | + |
| 34 | +### Development Setup |
| 35 | + |
| 36 | +For detailed development setup instructions, including Google Analytics authentication and encryption configuration, see [DEVELOPER.md](DEVELOPER.md). |
| 37 | + |
| 38 | +Basic setup: |
| 39 | + |
| 40 | +```r |
| 41 | +# Install development dependencies |
| 42 | +devtools::install_deps(dependencies = TRUE) |
| 43 | + |
| 44 | +# Run tests |
| 45 | +devtools::test() |
| 46 | + |
| 47 | +# Run R CMD check |
| 48 | +devtools::check() |
| 49 | +``` |
| 50 | + |
| 51 | +## Code Style |
| 52 | + |
| 53 | +This project uses [lintr](https://lintr.r-lib.org/) for code style enforcement: |
| 54 | + |
| 55 | +- Use 2-space indentation |
| 56 | +- Follow the [tidyverse style guide](https://style.tidyverse.org/) |
| 57 | +- Document functions using roxygen2 comments |
| 58 | + |
| 59 | +Run the linter before submitting: |
| 60 | + |
| 61 | +```r |
| 62 | +lintr::lint_package() |
| 63 | +``` |
| 64 | + |
| 65 | +## Questions? |
| 66 | + |
| 67 | +If you have questions, feel free to open an issue or reach out to the maintainers listed in the [README](README.md). |
0 commit comments