Thank you for your interest in contributing to GopherQueue! This document provides guidelines and information for contributors.
Please be respectful and considerate of others. We aim to maintain a welcoming and inclusive community.
- Check existing issues to avoid duplicates
- Use the issue templates when available
- Provide clear reproduction steps
- Include Go version and operating system
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run tests:
go test ./... - Run linter:
golangci-lint run - Commit with clear messages
- Push and create a Pull Request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/gopherqueue.git
cd gopherqueue
# Install dependencies
go mod download
# Run tests
go test ./...
# Build
go build ./...- Follow standard Go conventions
- Use
gofmtfor formatting - Write meaningful comments for exported types and functions
- Keep functions focused and small
- Write tests for new functionality
- Write unit tests for new features
- Ensure existing tests pass
- Aim for good test coverage
- Use table-driven tests where appropriate
- Update README if adding features
- Add godoc comments for public APIs
- Update CHANGELOG for notable changes
Open an issue with the "question" label, and we'll be happy to help!