English • Català • Deutsch • Español • Français • हिंदी • Italiano • Nederlands • Русский
日本語 • 한국어 • Polski • Português (BR) • Türkçe • Tiếng Việt • 简体中文 • 繁體中文
Contributing to Roo Code
Roo Code is a community-driven project, and we deeply value every contribution. To streamline collaboration, we operate on an Issue-First basis, meaning all Pull Requests (PRs) must first be linked to a GitHub Issue. Please review this guide carefully.
Table of Contents
Before You Contribute
1. Code of Conduct
All contributors must adhere to our Code of Conduct.
2. Project Roadmap
Our roadmap guides the project's direction. Align your contributions with these key goals:
Reliability First
- Ensure diff editing and command execution are consistently reliable.
- Reduce friction points that deter regular usage.
- Guarantee smooth operation across all locales and platforms.
- Expand robust support for a wide variety of AI providers and models.
Enhanced User Experience
- Streamline the UI/UX for clarity and intuitiveness.
- Continuously improve the workflow to meet the high expectations developers have for daily-use tools.
Leading on Agent Performance
- Establish comprehensive evaluation benchmarks (evals) to measure real-world productivity.
- Make it easy for everyone to easily run and interpret these evals.
- Ship improvements that demonstrate clear increases in eval scores.
Mention alignment with these areas in your PRs.
3. Join the Roo Code Community
- Primary: Join our Discord and DM Hannes Rudolph (
hrudolph).
- Alternative: Experienced contributors can engage directly via GitHub Projects.
Finding & Planning Your Contribution
Types of Contributions
- Bug Fixes: Addressing code issues.
- New Features: Adding functionality.
- Documentation: Improving guides and clarity.
Issue-First Approach
All contributions must begin with a GitHub Issue.
- Check existing issues: Search GitHub Issues.
- Create an issue: Use appropriate templates:
- Bugs: "Bug Report" template.
- Features: "Detailed Feature Proposal" template. Approval required before starting.
- Claim issues: Comment and await official assignment.
PRs without approved issues may be closed.
Deciding What to Work On
Reporting Bugs
Development & Submission Process
Development Setup
Fork & Clone:
git clone https://github.com/YOUR_USERNAME/Roo-Code.git
Install Dependencies:
pnpm install
Debugging: Open with VS Code (F5).
Writing Code Guidelines
- One focused PR per feature or fix.
- Follow ESLint and TypeScript best practices.
- Write clear, descriptive commits referencing issues (e.g.,
Fixes #123).
- Provide thorough testing (
npm test).
- Rebase onto the latest
main branch before submission.
Submitting a Pull Request
- Begin as a Draft PR if seeking early feedback.
- Clearly describe your changes following the Pull Request Template.
- Provide screenshots/videos for UI changes.
- Indicate if documentation updates are necessary.
Pull Request Policy
- Must reference pre-approved, assigned issues.
- PRs without adherence to the policy may be closed.
- PRs should pass CI tests, align with the roadmap, and have clear documentation.
Review Process
- Daily Triage: Quick checks by maintainers.
- Weekly In-depth Review: Comprehensive assessment.
- Iterate promptly based on feedback.
Legal
By contributing, you agree your contributions will be licensed under the Apache 2.0 License, consistent with Roo Code's licensing.