First off, thank you for considering contributing to CntxtCS! It's people like you that make CntxtCS such a great tool.
By participating in this project, you are expected to uphold our Code of Conduct:
- Use welcoming and inclusive language
- Be respectful of differing viewpoints and experiences
- Gracefully accept constructive criticism
- Focus on what is best for the community
- Show empathy towards other community members
Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps which reproduce the problem
- Provide specific examples to demonstrate the steps
- Describe the behavior you observed after following the steps
- Explain which behavior you expected to see instead and why
- Include screenshots if relevant
- Include your environment details (OS, .NET version, etc.)
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion, please include:
- A clear and descriptive title
- A detailed description of the proposed functionality
- Any possible drawbacks
- Example use cases
- Mock-ups or examples if applicable
- Fork the repo and create your branch from
main
- If you've added code that should be tested, add tests
- If you've changed APIs, update the documentation
- Ensure all tests pass
- Make sure your code follows the project's style guidelines
- Issue that pull request!
- Create an issue or respond to an existing one to discuss proposed changes
- Fork the repository and create a new branch
- Write and test your changes
- Document your changes if necessary
- Submit a pull request
# Clone your fork
git clone https://github.com/your-username/CntxtCS.git
# Add the main repository as 'upstream'
git remote add upstream https://github.com/brandondocusen/CntxtCS.git
# Install dependencies
dotnet restore
# Create a new branch for your feature
git checkout -b feature-name
- Follow Microsoft's C# Coding Conventions
- Use meaningful variable and function names
- Comment your code where necessary
- Keep functions focused and modular
- Write descriptive commit messages
- Use C# 11.0 features where appropriate
- Update the README.md if you change functionality
- Maintain XML documentation comments
- Update any relevant examples
- Add comments for complex logic
- Write unit tests using xUnit
- Ensure all tests pass before submitting PR
- Update tests if you modify existing functionality
- Include both positive and negative test cases
- Aim for high code coverage
- Improving visualization capabilities
- Adding support for more .NET frameworks
- Enhancing documentation
- Performance optimization
- Test coverage
- UI/UX improvements
Feel free to open an issue or reach out to the maintainers if you have any questions about contributing!
Thank you for contributing to CntxtCS! 🎉