Thank you for your interest in contributing to the OpenClaw Correlation Plugin! This document provides guidelines and procedures for contributing to the project.
By participating in this project, you agree to abide by our Code of Conduct:
- Be respectful and inclusive
- Focus on constructive feedback
- Welcome newcomers and diverse perspectives
- Separate people from problems
If you encounter bugs or have feature requests:
- Check existing issues to avoid duplicates
- Create a new issue with:
- Clear, descriptive title
- Detailed steps to reproduce (for bugs)
- Expected vs. actual behavior
- Environment information (OpenClaw version, OS, etc.)
- Screenshots or logs if relevant
For feature requests or improvements:
- Describe the problem you're trying to solve
- Explain your proposed solution
- Consider alternative approaches
- Note any potential drawbacks or limitations
- Fork the repository
- Clone your fork
- Create a new branch for your feature/fix
- Make your changes
- Test thoroughly
- Submit a pull request
# Clone your fork
git clone https://github.com/YOUR_USERNAME/openclaw-correlation-plugin.git
cd openclaw-correlation-plugin
# Install dependencies
npm install
# Run tests
npm test-
Branch Naming: Use descriptive names like
feature/add-rule-validationorbugfix/correlation-timeout -
Commit Messages: Follow conventional commits format:
feat: Add validation for correlation rules fix: Resolve timeout issue in recursive correlations docs: Update deployment documentation -
Code Quality:
- Follow existing code style
- Include tests for new functionality
- Update documentation as needed
- Keep changes focused and atomic
-
Pull Request Description:
- Reference related issues
- Describe the changes
- Explain testing approach
- Note any breaking changes
The most valuable contributions are often new correlation rules. To contribute rules:
- Test rules extensively in your environment
- Document the rationale behind each rule
- Include example scenarios where the rule is helpful
- Specify appropriate confidence levels
- Consider potential false positives
Example rule contribution format:
{
"id": "cr-YOUR_PREFIX-001",
"trigger_context": "your-domain",
"trigger_keywords": ["keyword1", "keyword2"],
"must_also_fetch": ["related-concept1", "related-concept2"],
"relationship_type": "supports",
"confidence": 0.85,
"description": "Brief explanation of why these concepts are correlated",
"examples": [
"Scenario where this correlation is helpful"
]
}- Follow TypeScript best practices
- Use meaningful variable and function names
- Include JSDoc comments for public APIs
- Keep functions focused and testable
- Handle errors gracefully
- Write unit tests for new functionality
- Include integration tests for major features
- Test edge cases and error conditions
- Maintain test coverage above 80%
- Update README.md for user-facing changes
- Document new APIs and configuration options
- Include examples for complex features
- Keep documentation accurate and up-to-date
All contributions go through a review process:
- Automated checks (tests, linting)
- Maintainer review
- Address feedback
- Approval and merge
Reviews focus on:
- Code correctness and quality
- Performance implications
- Security considerations
- User experience impact
- Documentation completeness
- GitHub Issues for bug reports and feature requests
- GitHub Discussions for general discussion and Q&A
- OpenClaw Discord for real-time chat (link in main README)
Contributors are recognized in:
- Release notes
- Contributor list in README
- Project documentation
- OpenClaw Documentation
- Plugin Development Guide
- Correlation Plugin Documentation
- Research Background
If you have questions about contributing, feel free to:
- Open an issue with your question
- Reach out to maintainers directly
- Join the OpenClaw community channels
Thank you for helping improve the OpenClaw Correlation Plugin!