Thank you for your interest in contributing to Eval2Otel! We welcome contributions from the community.
- Fork the repository on GitHub
- Clone your fork locally:
git clone https://github.com/your-username/eval2otel.git cd eval2otel - Install dependencies:
npm install
- Run the build to ensure everything works:
npm run build npm test npm run lint
-
Create a feature branch:
git checkout -b feature/your-feature-name
-
Make your changes following our coding standards
-
Run tests and linting:
npm test npm run lint npm run build -
Commit your changes using Conventional Commits:
git commit -m "feat: add new feature" -
Push to your fork:
git push origin feature/your-feature-name
-
Create a Pull Request on GitHub
- TypeScript: All code must be written in TypeScript with proper types
- ESLint: Code must pass all ESLint checks (including security rules)
- Tests: New features must include comprehensive test coverage
- Documentation: Update README.md and code comments as needed
We use Conventional Commits for commit messages:
feat:- New featuresfix:- Bug fixesdocs:- Documentation changestest:- Test additions/changesrefactor:- Code refactoringstyle:- Code formatting changeschore:- Maintenance tasks
- Write unit tests for all new functionality in the
test/directory - Use Jest testing framework with proper mocking
- Ensure all existing tests continue to pass
- Aim for high test coverage
- Use the E2E test harness to validate OpenTelemetry integration
- Test with different backends (Jaeger, Prometheus, etc.)
- Verify metric units and semantic conventions compliance
# Unit tests
npm test
# E2E testing (requires Docker)
cd /tmp/eval2otel-e2e-test
docker-compose up -d
cd /path/to/eval2otel
node examples/basic-usage.js- Title: Use descriptive titles following conventional commit format
- Description: Clearly describe what your PR does and why
- Tests: Include tests for new functionality
- Documentation: Update documentation if needed
- Breaking Changes: Clearly mark any breaking changes
- All PRs require at least one maintainer review
- All CI checks must pass
- Address any feedback from reviewers
- Maintainer will merge once approved
When adding new features, ensure they follow:
- OpenTelemetry GenAI Semantic Conventions
- OpenTelemetry API Standards
- Security best practices for handling sensitive data
- Open an issue for bugs or feature requests
- Start a discussion for questions or ideas
- Check existing issues before creating new ones
By contributing to Eval2Otel, you agree that your contributions will be licensed under the MIT License.