Thank you for your interest in contributing to ProxyPilot! This guide will help you get started.
-
Install Go 1.24+
- Download from golang.org
- Verify installation:
go version
-
Clone the repository
git clone https://github.com/your-org/ProxyPilot.git cd ProxyPilot -
Install dependencies
go mod download
Run all tests:
go test ./...Run tests with coverage:
go test -cover ./...Run tests for a specific package:
go test ./pkg/proxy/...We follow standard Go conventions:
-
Format code before committing:
go fmt ./...
-
Run static analysis:
go vet ./...
-
Follow Effective Go guidelines
-
Keep functions focused and reasonably sized
-
Add comments for exported functions and types
-
Use meaningful variable and function names
- Fork the repository and create a feature branch from
main - Make your changes with clear, atomic commits
- Ensure all tests pass and add tests for new functionality
- Run
go fmtandgo vetbefore submitting - Open a pull request with a clear description of the changes
- Link any related issues in the PR description
- Address review feedback promptly
When reporting issues, please include:
- Bug reports: Steps to reproduce, expected behavior, actual behavior, Go version, and OS
- Feature requests: Clear description of the proposed feature and its use case
- Questions: Check existing issues and documentation first
Use descriptive titles and provide as much context as possible.
We welcome contributions that add integrations with third-party providers! If you're adding a new provider integration:
- Follow the existing integration patterns in the codebase
- Include documentation for configuration options
- Add appropriate tests
- Update the README if necessary
Feel free to open an issue for any questions about contributing.