Thank you for your interest in contributing! This document provides guidelines for contributing to the project.
- Fork the repository
- Clone your fork:
git clone https://github.com/YOUR_USERNAME/openspace-openhands-evolution.git - Create a branch:
git checkout -b feature/your-feature - Make your changes
- Test your changes:
pytest tests/ - Commit:
git commit -m "Add your feature" - Push:
git push origin feature/your-feature - Submit a Pull Request
# Clone and setup
git clone https://github.com/YOUR_USERNAME/openspace-openhands-evolution.git
cd openspace-openhands-evolution
# Install in development mode
pip install -e .
# Install dev dependencies
pip install pytest pytest-asyncio flake8 black mypypytest tests/ -vpytest tests/test_orchestrator.py -vpytest tests/ --cov=openspace_openhands_evolutionWe use Black for code formatting and flake8 for linting.
# Format code
black openspace_openhands_evolution/
# Check linting
flake8 openspace_openhands_evolution/
# Type checking
mypy openspace_openhands_evolution/Follow conventional commits format:
type(scope): description
[optional body]
[optional footer]
Types:
feat: New featurefix: Bug fixdocs: Documentation changesstyle: Code style changes (formatting)refactor: Code refactoringtest: Adding testschore: Maintenance tasks
Examples:
feat(orchestrator): add hierarchical agent architecture
fix(config): handle missing config file gracefully
docs(readme): update installation instructions
test(orchestrator): add unit tests for TaskRequest
- Implement real OpenSpace engine integration
- Implement real OpenHands engine integration
- Add more comprehensive tests
- Improve error handling and logging
- Add visualization for reasoning traces
- Implement skill marketplace
- Add plugin system
- Create tutorial notebooks
- Add internationalization support
- Create web dashboard
- Add performance benchmarks
- Write blog posts and tutorials
Use GitHub Issues with the following template:
**Describe the bug**
A clear description of the bug.
**To Reproduce**
Steps to reproduce:
1. ...
2. ...
3. ...
**Expected behavior**
What should happen.
**Environment:**
- OS: [e.g., Windows 11, Ubuntu 22.04]
- Python: [e.g., 3.12]
- Version: [e.g., 0.1.1]
**Additional context**
Any other information.We welcome feature requests! Please:
- Check existing issues first
- Describe the use case
- Explain why it's valuable
- Suggest implementation approach (optional)
When adding features, please also:
- Update docstrings
- Add examples if applicable
- Update README if needed
- Add type hints
All submissions require review:
- Automated checks: CI must pass
- Code quality: Follow style guidelines
- Tests: New features need tests
- Documentation: Must be documented
- Reviewer approval: At least one maintainer
Contributors will be recognized in:
- README contributors section
- Release notes
- Special thanks in documentation
- Open an issue with "question" label
- Join our community discussions
- Email: [maintainer email]
By contributing, you agree that your contributions will be licensed under the MIT License.
Thank you for contributing! 🎉