Contributing to MoniGo
February 22, 2026 ยท View on GitHub
Thank you for your interest in contributing to MoniGo. This document explains the process and standards for contributions.
Getting Started
git clone https://github.com/iyashjayesh/monigo.git
cd monigo
go test ./... -race
Development Workflow
- Fork the repository and create a feature branch from
main - Write your code and tests
- Ensure all checks pass:
go test ./... -race -cover && go vet ./... - Submit a pull request with a clear description
Code Standards
- Follow standard Go conventions (
gofmt,go vet) - All exported symbols must have GoDoc comments
- Tests are required for new functionality
- Use table-driven tests where appropriate
- Run with
-raceflag before submitting
Pull Request Process
- PRs must pass CI (tests, vet, race detector)
- One approval from a maintainer is required
- Commit messages should be descriptive (not "fix bug" - explain what and why)
- Breaking changes must be documented in the PR description
Testing
# Run all tests with race detector
go test ./... -race -count=1
# Run benchmarks
go test ./... -bench=. -benchmem
# Run with coverage
go test ./... -coverprofile=coverage.out
go tool cover -html=coverage.out
Reporting Issues
- Use GitHub Issues for bug reports and feature requests
- Include Go version, OS, and a minimal reproduction case
- For security vulnerabilities, see SECURITY.md
License
By contributing, you agree that your contributions will be licensed under the Apache 2.0 License.