|
| 1 | +# Contributing to GitHub Events Analytics |
| 2 | + |
| 3 | +Thank you for considering contributing to GitHub Events Analytics! This document provides guidelines and instructions for contributing to the project. |
| 4 | + |
| 5 | +## Table of Contents |
| 6 | + |
| 7 | +1. [Code of Conduct](#code-of-conduct) |
| 8 | +2. [Getting Started](#getting-started) |
| 9 | +3. [How to Contribute](#how-to-contribute) |
| 10 | +4. [Development Workflow](#development-workflow) |
| 11 | +5. [Pull Request Process](#pull-request-process) |
| 12 | +6. [Coding Standards](#coding-standards) |
| 13 | +7. [Testing](#testing) |
| 14 | +8. [Documentation](#documentation) |
| 15 | + |
| 16 | +## Code of Conduct |
| 17 | + |
| 18 | +This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to the project maintainers. |
| 19 | + |
| 20 | +## Getting Started |
| 21 | + |
| 22 | +1. Fork the repository on GitHub |
| 23 | +2. Clone your fork locally |
| 24 | +3. Set up the development environment following the instructions in the README.md |
| 25 | +4. Create a new branch for your feature or bug fix |
| 26 | + |
| 27 | +## How to Contribute |
| 28 | + |
| 29 | +You can contribute to the project in several ways: |
| 30 | + |
| 31 | +- **Reporting Bugs**: Create an issue describing the bug, including steps to reproduce, expected behavior, and actual behavior |
| 32 | +- **Suggesting Enhancements**: Create an issue describing your enhancement suggestion with a clear title and detailed description |
| 33 | +- **Code Contributions**: Submit a pull request with your changes |
| 34 | +- **Documentation**: Improve or add documentation |
| 35 | +- **Reviewing Pull Requests**: Review and comment on open pull requests |
| 36 | + |
| 37 | +## Development Workflow |
| 38 | + |
| 39 | +1. Create a new branch from `main` for your changes |
| 40 | +2. Make your changes in small, logical commits |
| 41 | +3. Add or update tests as necessary |
| 42 | +4. Ensure all tests pass |
| 43 | +5. Update documentation as needed |
| 44 | +6. Submit a pull request |
| 45 | + |
| 46 | +## Pull Request Process |
| 47 | + |
| 48 | +1. Ensure your code follows the project's coding standards |
| 49 | +2. Update the README.md or other documentation if necessary |
| 50 | +3. Include tests for your changes |
| 51 | +4. Ensure the test suite passes |
| 52 | +5. Submit the pull request to the `main` branch |
| 53 | +6. The pull request will be reviewed by maintainers |
| 54 | +7. Address any feedback or requested changes |
| 55 | +8. Once approved, your pull request will be merged |
| 56 | + |
| 57 | +## Coding Standards |
| 58 | + |
| 59 | +- Follow PEP 8 style guide for Python code |
| 60 | +- Use meaningful variable and function names |
| 61 | +- Write docstrings for all functions, classes, and modules |
| 62 | +- Keep functions small and focused on a single task |
| 63 | +- Use type hints where appropriate |
| 64 | +- Format code with Black and sort imports with isort |
| 65 | + |
| 66 | +## Testing |
| 67 | + |
| 68 | +- Write unit tests for all new functionality |
| 69 | +- Ensure existing tests pass with your changes |
| 70 | +- Run the test suite before submitting a pull request: |
| 71 | + ``` |
| 72 | + ./run_tests.sh |
| 73 | + ``` |
| 74 | +- Aim for high test coverage |
| 75 | + |
| 76 | +## Documentation |
| 77 | + |
| 78 | +- Update documentation for any changed functionality |
| 79 | +- Document new features or components |
| 80 | +- Keep the README.md up to date |
| 81 | +- Use clear and concise language |
| 82 | +- Include examples where appropriate |
| 83 | + |
| 84 | +Thank you for contributing to GitHub Events Analytics! |
0 commit comments