|
| 1 | +# Contributing to go-redis-entraid |
| 2 | + |
| 3 | +We welcome contributions from the community! If you'd like to contribute to this project, please follow these guidelines: |
| 4 | + |
| 5 | +## Getting Started |
| 6 | + |
| 7 | +1. Fork the repository |
| 8 | +2. Create a new branch for your feature or bugfix |
| 9 | +3. Make your changes |
| 10 | +4. Run the tests and ensure they pass |
| 11 | +5. Submit a pull request |
| 12 | + |
| 13 | +## Development Setup |
| 14 | + |
| 15 | +```bash |
| 16 | +# Clone your fork |
| 17 | +git clone https://github.com/your-username/go-redis-entraid.git |
| 18 | +cd go-redis-entraid |
| 19 | + |
| 20 | +# Install dependencies |
| 21 | +go mod download |
| 22 | + |
| 23 | +# Run tests |
| 24 | +go test ./... |
| 25 | +``` |
| 26 | + |
| 27 | +## Code Style and Standards |
| 28 | + |
| 29 | +- Follow the Go standard formatting (`go fmt`) |
| 30 | +- Write clear and concise commit messages |
| 31 | +- Include tests for new features |
| 32 | +- Update documentation as needed |
| 33 | +- Follow the existing code style and patterns |
| 34 | + |
| 35 | +## Testing |
| 36 | + |
| 37 | +We maintain high test coverage for the project. When contributing: |
| 38 | + |
| 39 | +- Add tests for new features |
| 40 | +- Ensure existing tests pass |
| 41 | +- Run the test coverage tool: |
| 42 | + ```bash |
| 43 | + go test -coverprofile=cover.out ./... |
| 44 | + go tool cover -html=cover.out |
| 45 | + ``` |
| 46 | + |
| 47 | +## Pull Request Process |
| 48 | + |
| 49 | +1. Ensure your code passes all tests |
| 50 | +2. Update the README.md if necessary |
| 51 | +3. Submit your pull request with a clear description of the changes |
| 52 | + |
| 53 | +## Reporting Issues |
| 54 | + |
| 55 | +If you find a bug or have a feature request: |
| 56 | + |
| 57 | +1. Check the existing issues to avoid duplicates |
| 58 | +2. Create a new issue with: |
| 59 | + - A clear title and description |
| 60 | + - Steps to reproduce (for bugs) |
| 61 | + - Expected and actual behavior |
| 62 | + - Environment details (Go version, OS, etc.) |
| 63 | + |
| 64 | +## Development Workflow |
| 65 | + |
| 66 | +1. Create a new branch for your feature/fix: |
| 67 | + ```bash |
| 68 | + git checkout -b feature/your-feature-name |
| 69 | + ``` |
| 70 | + |
| 71 | +2. Make your changes and commit them: |
| 72 | + ```bash |
| 73 | + git add . |
| 74 | + git commit -m "Description of your changes" |
| 75 | + ``` |
| 76 | + |
| 77 | +3. Push your changes to your fork: |
| 78 | + ```bash |
| 79 | + git push origin feature/your-feature-name |
| 80 | + ``` |
| 81 | + |
| 82 | +4. Create a pull request from your fork to the main repository |
| 83 | + |
| 84 | +## Review Process |
| 85 | + |
| 86 | +- All pull requests will be reviewed by maintainers |
| 87 | +- Be prepared to make changes based on feedback |
| 88 | +- Ensure your code meets the project's standards |
| 89 | +- Address any CI/CD failures |
| 90 | + |
| 91 | +## Documentation |
| 92 | + |
| 93 | +- Update relevant documentation when making changes |
| 94 | +- Include examples for new features |
| 95 | +- Update the README if necessary |
| 96 | +- Add comments to complex code sections |
| 97 | + |
| 98 | +## Questions? |
| 99 | + |
| 100 | +If you have any questions about contributing, please: |
| 101 | +1. Check the existing documentation |
| 102 | +2. Look through existing issues |
| 103 | +3. Create a new issue if your question hasn't been answered |
0 commit comments