Thank you for your interest in contributing to Jido.Otel!
Development Setup
git clone https://github.com/agentjido/jido_otel.git
cd jido_otel
mix setup
Running Tests
# Run tests with coverage
mix test
# Run all quality checks
mix quality
# Run release-grade checks
mix release.check
# Check documentation coverage
mix doctor --raise
Code Style
- Follow standard Elixir conventions
- Code is formatted with
mix format - Run
mix credo --strictbefore submitting PRs - Use
mix dialyzerfor type checking
Commit Messages
We follow Conventional Commits:
type(scope): description
Examples:
feat(otel): add trace context propagation
fix(observer): resolve memory leak in span storage
docs: update README with examplesValid types:
feat- New featurefix- Bug fixdocs- Documentation changesstyle- Formatting (no code change)refactor- Code refactoring (no fix/feature)perf- Performance improvementtest- Test additions/fixeschore- Maintenance/toolingci- CI/CD changes
Pull Request Process
- Create a feature branch:
git checkout -b feat/my-feature - Make your changes
- Run
mix qualityto verify code quality - Run
mix testto ensure tests pass - Commit with conventional commit message
- Push and create a PR
Documentation
- All public functions must have
@docand@spec - Add examples to module documentation
- Update CHANGELOG.md for user-facing changes
- Keep guides in
guides/updated for operational workflows
License
By contributing, you agree your code is licensed under Apache 2.0.