Thank you for your interest in contributing to mtlog!
- Check existing issues and pull requests
- For significant changes, open an issue first to discuss your proposal
# Clone the repository
git clone https://github.com/willibrandon/mtlog.git
cd mtlog
# Run tests
go test ./...
# Run benchmarks
go test -bench=. -benchmem ./...
# Run linter
golangci-lint run- Follow standard Go conventions and idioms
- Keep the zero-allocation promise for simple logging paths
- Add tests for new features (unit and integration where appropriate)
- Update documentation and examples as needed
- Ensure
golangci-lintpasses
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests and linter
- Commit with a descriptive message
- Push to your fork
- Open a pull request with a clear description
- Unit tests should be fast and focused
- Integration tests require Docker for Seq, Elasticsearch, and Splunk
- Use
MemorySinkfor testing log output - Benchmark critical paths to ensure performance
Open an issue or discussion - we're happy to help!