First off, thank you for considering contributing to CntxtPY! It's people like you that make CntxtPY 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, Java 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
- 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/CntxtPY.git
# Add the main repository as 'upstream'
git remote add upstream https://github.com/brandondocusen/CntxtPY.git
# Install dependencies
pip install -r requirements.txt
# Create a new branch for your feature
git checkout -b feature-name
- Follow PEP 8 for Python code
- Use meaningful variable and function names
- Comment your code where necessary
- Keep functions focused and modular
- Write descriptive commit messages
- Update the README.md if you change functionality
- Maintain docstring coverage
- Update any relevant examples
- Add comments for complex logic
- Write unit tests for new functionality
- Ensure all tests pass before submitting PR
- Update tests if you modify existing functionality
- Include both positive and negative test cases
- Improving visualization capabilities
- Adding support for more Javascript 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 CntxtPY! 🎉