Contributing to manimR
Source:.github/CONTRIBUTING.md
Thank you for your interest in contributing to manimR! This document provides guidelines and information for contributors.
Code of Conduct
By participating in this project, you agree to abide by our Code of Conduct.
How to Contribute
Reporting Bugs
- Check if the bug has already been reported in Issues
- If not, create a new issue using the bug report template
- Include a minimal reproducible example (reprex)
- Describe expected vs actual behavior
- Include your environment details
Suggesting Features
- Check existing feature requests
- Create a new issue using the feature request template
- Describe the problem your feature would solve
- Propose an API if applicable
Contributing Code
- Fork the repository
- Create a new branch for your feature (
git checkout -b feature/amazing-feature) - Make your changes
- Write or update tests
- Update documentation
- Run
devtools::check()to ensure no errors - Commit your changes (
git commit -m 'Add amazing feature') - Push to your branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Setup
Setup
# Clone the repository
# git clone https://github.com/Reyanda/manimR.git
# Install development dependencies
install.packages("devtools")
devtools::install_dev_deps()
# Load the package for development
devtools::load_all()
# Run tests
devtools::test()
# Run R CMD check
devtools::check()Code Style
We follow the tidyverse style guide. Key points:
- Use snake_case for function and variable names
- Use roxygen2 for documentation
- Write unit tests for new functionality
- Keep lines under 80 characters when possible
Pull Request Process
- Update the README.md with details of changes if applicable
- Update the NEWS.md with notes on your changes
- Ensure all tests pass
- Request review from maintainers
- Address any feedback
- Once approved, your PR will be merged
Getting Help
- Open a Discussion for questions
- Join our Discord server
- Check the documentation