- Fork the repository
- Clone your fork
- Create a feature branch
- Make your changes
- Run tests:
go test ./... -race -count=1 - Submit a pull request
git clone git@github.com:YOUR_USERNAME/DocProcessor.git
cd DocProcessor
go mod tidy
go test ./... -race -count=1- All code must pass
go vet - All code must be formatted with
gofmt - All public functions must have doc comments
- All source files must have SPDX license headers
- Tests must pass with
-race -count=1
Every package must have:
- Unit tests (
*_test.go) - Integration tests (
*_integration_test.go) where applicable - Stress tests (
*_stress_test.go) for concurrent code - Security tests (
*_security_test.go) for input validation
NO test may ever be removed, disabled, skipped, or left broken.
Follow conventional commit format:
type: short description
Longer description if needed.
Co-Authored-By: Your Name <your@email.com>
Types: feat, fix, test, docs, refactor, chore
- Ensure all tests pass
- Update documentation if needed
- Add tests for new functionality
- Request review from maintainers
By contributing, you agree that your contributions will be licensed under the Apache License 2.0.