🙌 Contributing to OpenHands
Welcome to the OpenHands community! We’re building the future of AI-powered software development, and we’d love for you to be part of this journey.🌟 Our Vision: Free as in Freedom
The OpenHands community is built around the belief that AI and AI agents are going to fundamentally change the way we build software, and if this is true, we should do everything we can to make sure that the benefits provided by such powerful technology are accessible to everyone. We believe in the power of open source to democratize access to cutting-edge AI technology. Just as the internet transformed how we share information, we envision a world where AI-powered development tools are available to every developer, regardless of their background or resources. If this resonates with you, we’d love to have you join us in our quest! 🧑🚀🎯 What Can You Build?
There are countless ways to contribute to OpenHands. Whether you’re a seasoned developer, a researcher, a designer, or someone just getting started, there’s a place for you in our community.Frontend & UI/UX
Make OpenHands more beautiful and user-friendly:- React & TypeScript Development - Improve the web interface
- UI/UX Design - Enhance user experience and accessibility
- Mobile Responsiveness - Make OpenHands work great on all devices
- Component Libraries - Build reusable UI components
Agent Development
Help make our AI agents smarter and more capable:- Prompt Engineering - Improve how agents understand and respond
- New Agent Types - Create specialized agents for different tasks
- Agent Evaluation - Develop better ways to measure agent performance
- Multi-Agent Systems - Enable agents to work together
Backend & Infrastructure
Build the foundation that powers OpenHands:- Python Development - Core functionality and APIs
- Runtime Systems - Docker containers and sandboxes
- Cloud Integrations - Support for different cloud providers
- Performance Optimization - Make everything faster and more efficient
Testing & Quality Assurance
Help us maintain high quality:- Unit Testing - Write tests for new features
- Integration Testing - Ensure components work together
- Bug Hunting - Find and report issues
- Performance Testing - Identify bottlenecks and optimization opportunities
Documentation & Education
Help others learn and contribute:- Technical Documentation - API docs, guides, and tutorials
- Video Tutorials - Create learning content
- Translation - Make OpenHands accessible in more languages
- Community Support - Help other users and contributors
Research & Innovation
Push the boundaries of what’s possible:- Academic Research - Publish papers using OpenHands
- Benchmarking - Develop new evaluation methods
- Experimental Features - Try cutting-edge AI techniques
- Data Analysis - Study how developers use AI tools
🚀 Getting Started
Ready to contribute? Here’s your path to making an impact:1. Quick Wins
Start with these easy contributions:- Use OpenHands and report issues you encounter
- Give feedback using the thumbs-up/thumbs-down buttons after each session
- Star our repository on GitHub
- Share OpenHands with other developers
2. Set Up Your Development Environment
Follow our comprehensive setup guide:- Requirements: Linux/Mac/WSL, Docker, Python 3.12, Node.js 22+, Poetry 1.8+
- Quick setup:
make build
to get everything ready - Configuration:
make setup-config
to configure your LLM - Run locally:
make run
to start the application
3. Find Your First Issue
Look for beginner-friendly opportunities:- Browse good first issues
- Check our project boards for organized tasks
- Ask in Slack what needs help
4. Join the Community
Connect with other contributors in our Slack Community. You can connect with OpenHands contributors, maintainers, and more!📋 How to Contribute Code
Understanding the Codebase
Get familiar with our architecture:- Frontend - React application
- Backend - Python core
- Agents - AI agent implementations
- Runtime - Execution environments
- Evaluation - Testing and benchmarks
Pull Request Process
We welcome all pull requests! Here’s how we evaluate them:Small Improvements
- Quick review and approval for obvious improvements
- Make sure CI tests pass
- Include clear description of changes
Core Agent Changes
We’re more careful with agent changes since they affect user experience:- Accuracy - Does it make the agent better at solving problems?
- Efficiency - Does it improve speed or reduce resource usage?
- Code Quality - Is the code maintainable and well-tested?
Pull Request Guidelines
We recommend the following for smooth reviews but they’re not required. Just know that the more you follow these guidelines, the more likely you’ll get your PR reviewed faster and reduce the quantity of revisions. Title Format:feat: Add new agent capability
fix: Resolve memory leak in runtime
docs: Update installation guide
style: Fix code formatting
refactor: Simplify authentication logic
test: Add unit tests for parser
- Explain what the PR does and why
- Link to related issues
- Include screenshots for UI changes
- Add changelog entry for user-facing changes
🤝 Community Guidelines
Our Values
- Open and Welcoming - Everyone is welcome regardless of background
- Diverse and Inclusive - We actively encourage diverse perspectives
- Collaborative - We work together to solve problems
- Respectful - We treat everyone with kindness and professionalism
Code of Conduct
We follow the Contributor Covenant Code of Conduct. In summary:- Be respectful and inclusive
- Focus on constructive feedback
- Help create a welcoming environment
- Report issues to contact@openhands.dev
Communication Guidelines
- Be patient - Contributors and maintainers often have other commitments
- Be specific - Include details, links, and context in your questions
- Use appropriate channels - General questions in #general, technical issues in relevant channels
- Search first - Check if your question has been answered before
📄 License
OpenHands is released under the MIT License, which means:You Can:
- Use OpenHands for any purpose, including commercial projects
- Modify the code to fit your needs
- Share your modifications
- Distribute or sell copies of OpenHands
You Must:
- Include the original copyright notice and license text
- Preserve the license in any substantial portions you use
No Warranty:
- OpenHands is provided “as is” without warranty
- Contributors are not liable for any damages
enterprise/
directory has a separate license. See enterprise/LICENSE
for details.
🎯 Next Steps
Ready to make your first contribution?- ⭐ Star our GitHub repository
- 🔧 Set up your development environment using our Development Guide
- 💬 Join our Slack community to meet other contributors
- 🎯 Find a good first issue to work on
- 📝 Read our Code of Conduct
🆘 Need Help?
Don’t hesitate to ask for help:- Slack: Join our community for real-time support
- GitHub Issues: Open an issue for bugs or feature requests
- Email: Contact us at contact@openhands.dev
Thank you for considering contributing to OpenHands! Together, we’re building tools that will democratize AI-powered software development and make it accessible to developers everywhere. Every contribution, no matter how small, helps us move closer to that vision. Welcome to the community! 🎉