Thank you for your interest in contributing to AgNext! This document provides guidelines for contributing to the project.
- .NET SDK (version TBD based on project requirements)
- Git
- A GitHub account
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/AgNext.git cd AgNext -
Add the upstream repository as a remote:
git remote add upstream https://github.com/AgOpenGPS-Official/AgNext.git
-
Keep your fork synchronized:
git fetch upstream git checkout develop git merge upstream/develop
Always create a new branch for your work:
git checkout develop
git pull upstream develop
git checkout -b feature/your-feature-name
# or
git checkout -b fix/your-bug-fixBranch naming conventions:
feature/- for new featuresfix/- for bug fixesdocs/- for documentation changesrefactor/- for code refactoring
- Make your changes in your feature branch
- Write clear, concise commit messages
- Keep commits focused on a single logical change
- Test your changes thoroughly
-
Push your changes to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request from your fork to the upstream repository
-
Target the
developbranch (notmainormaster) -
Provide a clear description of:
- What the PR does
- Why the change is needed
- Any relevant issue numbers (e.g., "Fixes #123")
- Maintainers will review your PR
- Address any feedback or requested changes
- Once approved, a maintainer will merge your PR
- Write clean, readable, and maintainable code
- Follow existing code style and conventions
- Add comments where necessary to explain complex logic
- Avoid unnecessary complexity
- Follow standard C# naming conventions
- Use meaningful variable and method names
- Keep methods focused and single-purpose
- Handle exceptions appropriately
- Write tests for new features
- Ensure existing tests pass before submitting PR
- Test your changes on different platforms if applicable
- Update documentation for any changed functionality
- Add XML documentation comments to public APIs
- Update README.md if adding new features or changing setup
When reporting bugs or suggesting features:
- Check if the issue already exists
- Use the issue templates if available
- Provide detailed information:
- Steps to reproduce (for bugs)
- Expected vs actual behavior
- System information (OS, .NET version, etc.)
- Screenshots if applicable
- Be respectful and inclusive
- Welcome newcomers and help them get started
- Focus on constructive feedback
- Respect differing viewpoints and experiences
If you have questions about contributing, feel free to:
- Open an issue for discussion
- Reach out to the maintainers
- Check existing documentation and issues
By contributing to AgNext, you agree that your contributions will be licensed under the same license as the project.