1.1 KiB
1.1 KiB
Contributing to {project-name}
Thank you for your interest in contributing!
Prerequisites
- Go {version} or later
- Make (optional but recommended)
- Docker (for integration tests only)
Quick Start
# Clone the repository
git clone https://github.com/{owner}/{repo}.git
cd {repo}
# Build
go build -o myapp ./cmd/main.go
# Run unit tests
go test -race ./...
# Run integration tests
go test -race -tags=integration -timeout=300s ./...
# Run linter
golangci-lint run --fix ./...
Development Workflow
- Fork the repository
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes
- Add tests for new functionality
- Run
go test ./...andgolangci-lint run - Commit with a descriptive message
- Push and open a Pull Request
Code Guidelines
- Follow Effective Go
- Add doc comments to all exported symbols
- Write table-driven tests
- Keep test coverage above {X}%
Reporting Issues
Use GitHub Issues. Include:
- Go version (
go version) - OS and architecture
- Steps to reproduce
- Expected vs actual behavior