Contributing
Guidelines for contributing to the Planning Center API client library.
Getting Started
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/planningcenter-api.git cd planningcenter-api - Create a branch for your changes:
git checkout -b your-feature-name
Development Setup
Prerequisites
- .NET 8.0 SDK or later (for the main library)
- .NET 10.0 SDK (for DocParser and tests)
- A code editor (Visual Studio, VS Code, or Rider)
- Git
Building the Solution
dotnet build
Running Tests
Run all tests:
dotnet test
Run tests with coverage:
dotnet test --settings Crews.PlanningCenter.Api.Tests/.runsettings --collect:"XPlat Code Coverage"
Run specific test project:
dotnet test Crews.PlanningCenter.Api.Tests
dotnet test Crews.PlanningCenter.Api.DocParser.Tests
dotnet test Crews.PlanningCenter.Api.Generators.Tests
Making Changes
Code Style
- Follow C# coding conventions
- Use file-scoped namespaces
- Use record types where appropriate
- Add XML documentation comments for public APIs
- Keep lines under 120 characters when practical
Testing
- Write unit tests for new features
- Ensure all tests pass before submitting
- Aim for high test coverage on new code
- Test edge cases and error conditions
Documentation
- Update XML comments for code changes
- Add examples to documentation files
- Update README.md if needed
- Regenerate DocFX documentation if API changes
- Update CHANGELOG.md with your changes
- Follow Keep A Changelog's unreleased version format
Submitting Changes
Commit Messages
Write clear, descriptive commit messages:
Add support for filtering query parameters
- Implement query parameter builder
- Add unit tests for filtering
- Update documentation with examples
Pull Requests
Push your branch to your fork:
git push origin your-feature-nameCreate a pull request on GitHub
Fill out the PR template with:
- Description of changes
- Related issues (if any)
- Testing performed
- Breaking changes (if any)
Wait for review - maintainers will review your PR
Areas for Contribution
Keep an eye on the GitHub Issues for specific contribution opportunities. That said, feel free to submit a PR with your own ideas or improvements.
Reporting Issues
When reporting bugs or issues:
- Search existing issues first
- Provide clear reproduction steps
- Include error messages and stack traces
- Specify .NET version and OS
- Include sample code if possible
Code Review Process
All submissions require review. We use GitHub pull requests for this purpose.
Reviewers will check:
- Code quality and style
- Test coverage
- Documentation
- Breaking changes
- Performance impact
License
By contributing, you agree that your contributions will be licensed under the same license as the project.
Questions?
If you have questions about contributing:
- Open a discussion on GitHub
- Ask in an existing issue
- Reach out to maintainers
Thank you for contributing!