Contributing to OperationsPAI
Thank you for your interest in contributing to OperationsPAI! This guide will help you get started.
Getting Started
Prerequisites
Before contributing, please:
- Read our Code of Conduct
- Review the project vision
- Check the roadmap to understand current priorities
First-Time Contributors
If you’re new to the project, start with:
- Verify Documentation: Run through our Quick Start guide and report issues
- Good First Issues: Look for issues labeled
good-first-issue - Ask Questions: Don’t hesitate to ask in GitHub Discussions
How to Contribute
1. Code Contributions
Finding Work:
- Browse open issues across our repositories
- Check the roadmap for planned features
- Propose new ideas in GitHub Discussions
Development Workflow:
# 1. Fork the repository
# 2. Clone your fork
git clone https://github.com/YOUR_USERNAME/REPO_NAME.git
# 3. Create a feature branch
git checkout -b feature/your-feature-name
# 4. Make your changes
# Follow the coding standards in each repository's CLAUDE.md
# 5. Run tests
# See repository-specific testing instructions
# 6. Commit with clear messages
git commit -m "feat: add new feature description"
# 7. Push to your fork
git push origin feature/your-feature-name
# 8. Open a Pull Request
Commit Message Format:
<type>: <description>
[optional body]
Types: feat, fix, docs, test, refactor, chore
2. Documentation Contributions
Documentation is crucial for community growth:
- Fix Errors: Correct typos, broken links, or outdated information
- Add Examples: Provide real-world usage examples
- Translate: Help translate documentation to other languages
- Improve Clarity: Simplify complex explanations
3. Testing and Bug Reports
Help us improve quality:
- Verify Installation: Test on different platforms (Linux, macOS, Windows)
- Report Bugs: Use our bug report template
- Write Tests: Add unit, integration, or E2E tests
4. Community Support
Support other community members:
- Answer Questions: Help others in GitHub Discussions
- Review Pull Requests: Provide constructive feedback
- Share Knowledge: Write blog posts or tutorials
Pull Request Guidelines
Before Submitting
- Code follows repository coding standards
- Tests pass locally
- Documentation is updated
- Commit messages are clear
- PR description explains the change
PR Description Template
## Description
Brief description of what this PR does
## Motivation
Why is this change needed?
## Changes
- List of specific changes
## Testing
How was this tested?
## Screenshots (if applicable)
Add screenshots for UI changes
Review Process
- Automated Checks: CI/CD runs tests and linters
- Code Review: Maintainers review your code
- Feedback: Address review comments
- Approval: Once approved, maintainers will merge
Contributor Ladder
We recognize contributions at different levels:
1. Contributor
- Made at least one merged contribution
- Listed in repository contributors
2. Active Contributor
- 5+ merged contributions
- Regular participation in discussions
- Invited to contributor meetings
3. Reviewer
- 20+ merged contributions
- Deep knowledge of specific components
- Can review and approve PRs
4. Maintainer
- Sustained contributions over 6+ months
- Trusted with repository write access
- Participates in governance decisions
5. Core Team
- Strategic leadership
- Cross-repository expertise
- Represents the project publicly
Development Resources
Repository Structure
- AegisLab: Core orchestration platform
- chaos-experiment: Fault injection framework
- train-ticket: Demo microservices application
- loadgenerator: Traffic generation tool
- Pandora: Intelligent fault scheduler
- rcabench-platform: Algorithm evaluation framework
Key Technologies
- Languages: Go, Python, Java
- Infrastructure: Kubernetes, Docker, Helm
- Observability: OpenTelemetry, Prometheus, ClickHouse
- Chaos Engineering: Chaos Mesh
Learning Resources
Getting Help
- GitHub Discussions: Ask questions
- GitHub Issues: Report bugs
- Email: (to be established for sensitive matters)
Recognition
We value all contributions:
- Contributors are listed in repository READMEs
- Significant contributions are highlighted in release notes
- Active contributors are invited to co-author research papers
- Community achievements are celebrated on social media
License
By contributing, you agree that your contributions will be licensed under the same license as the project (typically Apache 2.0 or MIT - check individual repositories).
Thank you for contributing to OperationsPAI! Your efforts help build a better RCA ecosystem for everyone.