Thank you for considering contributing to CCParser! We welcome all contributions, whether it's reporting a bug, improving documentation, adding a feature, or fixing an issue. Follow the guidelines below to ensure a smooth contribution process.
-
Click the Fork button on the top right of the repository page.
-
Clone your fork locally:
git clone https://github.com/your-username/CCParser.git cd CCParser
-
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install in development mode with all dependencies:
pip install -e ".[dev,api]"
-
Always work in a new branch for each contribution:
git checkout -b feature-or-fix-name
- Follow best practices and ensure your code is clean and documented.
- Stick to the existing code style.
- Add type hints to all new functions and methods.
- Write docstrings for all public functions and classes.
- Test your changes thoroughly.
-
Make sure all tests pass before submitting:
pytest
-
Run linting:
flake8 ccparser tests
-
Write clear, concise commit messages:
git add . git commit -m "Brief description of changes"
-
Push your changes to your forked repository:
git push origin feature-or-fix-name
- Go to the original CCParser repository.
- Click on the Pull Requests tab.
- Click New Pull Request and select your branch.
- Provide a meaningful title and description of your changes.
- Submit the pull request for review.
- Follow the PEP 8 coding style guide.
- Keep PRs focused and minimal; avoid including unrelated changes.
- Write descriptive commit messages.
- Ensure all functions and classes have proper docstrings.
- Add type hints to all function signatures.
- If adding a new feature, update the documentation accordingly.
- Include tests for new functionality.
If you find a bug or have a feature request, please open an issue and provide:
- A clear title and description.
- Steps to reproduce (if it's a bug).
- Expected vs. actual behavior.
- Any relevant logs or screenshots.
Your contributions help improve CCParser and make it better for everyone. Thank you for your support! 馃殌