Skip to content

Commit 756da41

Browse files
committed
Make CONTRIBUTING.md more concise
1 parent 4f72714 commit 756da41

File tree

1 file changed

+68
-181
lines changed

1 file changed

+68
-181
lines changed

CONTRIBUTING.md

Lines changed: 68 additions & 181 deletions
Original file line numberDiff line numberDiff line change
@@ -4,239 +4,126 @@
44

55
# Contributing to Roo Code
66

7-
Roo Code is a community-driven project, and we highly value every contribution. To ensure a smooth and effective process for everyone, **we operate on an "[Issue-First](#2-key-principle-issue-first-approach)" basis.** This means all work should be linked to a GitHub Issue _before_ a Pull Request is submitted (see our [PR Policy](#pull-request-pr-policy) for details). Please read this guide carefully to understand how to contribute.
8-
This guide outlines how to contribute to Roo Code, whether you're fixing bugs, adding features, or improving documentation.
7+
Roo Code is a community-driven project, and we deeply value every contribution. To streamline collaboration, we operate on an [Issue-First](#issue-first-approach) basis, meaning all [Pull Requests (PRs)](#submitting-a-pull-request) must first be linked to a GitHub Issue. Please review this guide carefully.
98

109
## Table of Contents
1110

12-
- [I. Before You Contribute](#i-before-you-contribute)
13-
- [1. Code of Conduct](#1-code-of-conduct)
14-
- [2. Understand the Project Roadmap](#2-understand-the-project-roadmap)
15-
- [Reliability First](#reliability-first)
16-
- [Enhanced User Experience](#enhanced-user-experience)
17-
- [Leading on Agent Performance](#leading-on-agent-performance)
18-
- [3. Join the Roo Code Community](#3-join-the-roo-code-community)
19-
- [II. Finding & Planning Your Contribution](#ii-finding--planning-your-contribution)
20-
- [1. Types of Contributions](#1-types-of-contributions)
21-
- [2. Key Principle: Issue-First Approach](#2-key-principle-issue-first-approach)
22-
- [3. Deciding What to Work On](#3-deciding-what-to-work-on)
23-
- [4. Reporting Bugs or Issues](#4-reporting-bugs-or-issues)
24-
- [III. Development & Submission Process](#iii-development--submission-process)
25-
- [1. Development Setup](#1-development-setup)
26-
- [2. Writing Code Guidelines](#2-writing-code-guidelines)
27-
- [3. Submitting Code: Pull Request (PR) Process](#3-submitting-code-pull-request-pr-process)
28-
- [Draft Pull Requests](#draft-pull-requests)
29-
- [Pull Request Description](#pull-request-description)
30-
- [Pull Request (PR) Policy](#pull-request-pr-policy)
31-
- [Objective](#objective)
32-
- [Issue-First Approach](#issue-first-approach)
33-
- [Conditions for Open PRs](#conditions-for-open-prs)
34-
- [Procedure](#procedure)
35-
- [Responsibilities](#responsibilities)
36-
- [IV. Legal](#iv-legal)
37-
- [Contribution Agreement](#contribution-agreement)
38-
39-
## I. Before You Contribute
40-
41-
First, familiarize yourself with our community standards and project direction.
11+
- [Before You Contribute](#before-you-contribute)
12+
- [Finding & Planning Your Contribution](#finding--planning-your-contribution)
13+
- [Development & Submission Process](#development--submission-process)
14+
- [Legal](#legal)
4215

43-
### 1. Code of Conduct
44-
45-
All contributors must adhere to our [Code of Conduct](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Please read it before contributing.
16+
## Before You Contribute
4617

47-
### 2. Understand the Project Roadmap
18+
### 1. Code of Conduct
4819

49-
Roo Code has a clear development roadmap that guides our priorities and future direction. Understanding our roadmap can help you:
20+
All contributors must adhere to our [Code of Conduct](./CODE_OF_CONDUCT.md).
5021

51-
- Align your contributions with project goals
52-
- Identify areas where your expertise would be most valuable
53-
- Understand the context behind certain design decisions
54-
- Find inspiration for new features that support our vision
22+
### 2. Project Roadmap
5523

56-
We're focused on making Roo Code the top choice for developers building with AI-driven coding tools. Here's how we'll get there:
24+
Our roadmap guides the project's direction. Align your contributions with these key goals:
5725

58-
#### Reliability First
26+
### Reliability First
5927

6028
- Ensure diff editing and command execution are consistently reliable.
6129
- Reduce friction points that deter regular usage.
6230
- Guarantee smooth operation across all locales and platforms.
6331
- Expand robust support for a wide variety of AI providers and models.
6432

65-
#### Enhanced User Experience
33+
### Enhanced User Experience
6634

6735
- Streamline the UI/UX for clarity and intuitiveness.
6836
- Continuously improve the workflow to meet the high expectations developers have for daily-use tools.
6937

70-
#### Leading on Agent Performance
38+
### Leading on Agent Performance
7139

7240
- Establish comprehensive evaluation benchmarks (evals) to measure real-world productivity.
7341
- Make it easy for everyone to easily run and interpret these evals.
74-
- Ship improvements to Roo Code that demonstrate clear increases in eval scores.
42+
- Ship improvements that demonstrate clear increases in eval scores.
7543

76-
We especially welcome contributions that advance our roadmap goals. If you're working on something that aligns with these pillars, please mention it in your PR description.
44+
Mention alignment with these areas in your PRs.
7745

7846
### 3. Join the Roo Code Community
7947

80-
Connecting with the Roo Code community is a great way to get started:
81-
82-
- **Primary Method**:
83-
1. Join the [Roo Code Discord community](https://discord.gg/roocode).
84-
2. Once joined, send a direct message (DM) to **Hannes Rudolph** (Discord username: `hrudolph`) to discuss your interest and get guidance.
85-
- **Alternative for Experienced Contributors**: If you're comfortable with an issue-first approach, you can engage directly through GitHub by following the [Kanban board](https://github.com/orgs/RooVetGit/projects/1) and communicating via issues and pull requests.
86-
87-
## II. Finding & Planning Your Contribution
88-
89-
Identify what you'd like to work on and how to approach it.
90-
91-
### 1. Types of Contributions
48+
- **Primary:** Join our [Discord](https://discord.gg/roocode) and DM **Hannes Rudolph (`hrudolph`)**.
49+
- **Alternative:** Experienced contributors can engage directly via [GitHub Projects](https://github.com/orgs/RooVetGit/projects/1).
9250

93-
We welcome various contributions:
51+
## Finding & Planning Your Contribution
9452

95-
- **Bug Fixes**: Addressing issues in existing code.
96-
- **New Features**: Adding new functionality.
97-
- **Documentation**: Improving guides, examples, or fixing typos.
53+
### Types of Contributions
9854

99-
### 2. Key Principle: Issue-First Approach
55+
- **Bug Fixes:** Addressing code issues.
56+
- **New Features:** Adding functionality.
57+
- **Documentation:** Improving guides and clarity.
10058

101-
**All contributions must start with a GitHub Issue.** This is a critical step to ensure alignment and prevent wasted effort.
59+
### Issue-First Approach
10260

103-
- **Find or Create an Issue**:
104-
- Before starting any work, search [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) to see if an issue for your intended contribution already exists.
105-
- If it exists and is unassigned, comment on the issue to express your interest in taking it on. A maintainer will then assign it to you.
106-
- If no issue exists, create a new one using the appropriate template on our [issues page](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
107-
- For bugs, use the "Bug Report" template.
108-
- For new features, use the "Detailed Feature Proposal" template. Await approval from a maintainer (especially @hannesrudolph) before proceeding with implementation.
109-
- **Note**: General ideas or preliminary discussions for features can start in [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Once an idea is more concrete, a "Detailed Feature Proposal" issue should be created.
110-
- **Claiming and Assignment**:
111-
- Clearly state your intention to work on an issue by commenting on it.
112-
- Wait for a maintainer to officially assign the issue to you in GitHub. This prevents multiple people from working on the same thing.
113-
- **Consequences of Not Following**:
114-
- Pull Requests (PRs) submitted without a corresponding, pre-approved, and assigned issue may be closed without a full review. This policy is in place to ensure contributions align with project priorities and to respect the time of both contributors and maintainers.
61+
All contributions must begin with a GitHub Issue.
11562

116-
This approach helps us track work, ensure changes are desired, and coordinate efforts effectively.
63+
- **Check existing issues**: Search [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues).
64+
- **Create an issue**: Use appropriate templates:
65+
- **Bugs:** "Bug Report" template.
66+
- **Features:** "Detailed Feature Proposal" template. Approval required before starting.
67+
- **Claim issues**: Comment and await official assignment.
11768

118-
### 3. Deciding What to Work On
69+
**PRs without approved issues may be closed.**
11970

120-
- **Good First Issues**: Check the "Issue [Unassigned]" section of our [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) GitHub Project.
121-
- **Documentation**: While this `CONTRIBUTING.md` is the primary guide for code contributions, if you're interested in contributing to other documentation (like user guides or API docs), please check the [Roo Code Docs repository](https://github.com/RooVetGit/Roo-Code-Docs) or inquire in the Discord community.
122-
- **Proposing New Features**:
123-
1. **Initial Idea/Discussion**: For broad or initial feature ideas, start a conversation in [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
124-
2. **Formal Proposal**: For specific, actionable feature proposals ready for consideration and potential approval, create a "Detailed Feature Proposal" issue using the template on our [issues page](https://github.com/RooVetGit/Roo-Code/issues/new/choose). This is a key part of our **Issue-First Approach**.
71+
### Deciding What to Work On
12572

126-
### 4. Reporting Bugs or Issues
73+
- Check the [GitHub Project](https://github.com/orgs/RooVetGit/projects/1) for unassigned "Good First Issues."
74+
- For docs, visit [Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs).
12775

128-
If you find a bug:
76+
### Reporting Bugs
12977

130-
1. **Search Existing Issues**: Check [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) for duplicates.
131-
2. **Create a New Issue**: If unique, use the "Bug Report" template on our [issues page](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
78+
- Check for existing reports first.
79+
- Create new bugs using the ["Bug Report" template](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
80+
- **Security issues**: Report privately via [security advisories](https://github.com/RooVetGit/Roo-Code/security/advisories/new).
13281

133-
> 🔐 **Security Vulnerabilities**: If you discover a security vulnerability, please report it privately using [GitHub's security advisory tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Do not create a public issue for security vulnerabilities.
82+
## Development & Submission Process
13483

135-
## III. Development & Submission Process
84+
### Development Setup
13685

137-
Follow these steps for coding and submitting your work.
86+
1. **Fork & Clone:**
13887

139-
### 1. Development Setup
140-
141-
1. **Fork & Clone**:
142-
- Fork the repository on GitHub.
143-
- Clone your fork locally: `git clone https://github.com/YOUR_USERNAME/Roo-Code.git`
144-
2. **Install Dependencies**: `npm run install:all`
145-
3. **Run Webview (Dev Mode)**: `npm run dev` (for Vite/React app with HMR)
146-
4. **Debug Extension**: Press `F5` in VS Code (or **Run****Start Debugging**) to open a new Extension Development Host window with Roo Code loaded.
147-
148-
Webview changes (in `webview-ui`) will appear immediately with Hot Module Replacement. Changes to the core extension (in `src`) will require a restart of the Extension Development Host.
149-
150-
Alternatively, to build and install a `.vsix` package:
151-
152-
```sh
153-
npm run build
154-
code --install-extension bin/roo-cline-<version>.vsix
88+
```
89+
git clone https://github.com/YOUR_USERNAME/Roo-Code.git
15590
```
15691

157-
(Replace `<version>` with the actual version number from the built file).
158-
159-
### 2. Writing Code Guidelines
160-
161-
- **Focused PRs**: One feature/bug fix per PR.
162-
- **Code Quality**:
163-
- Pass CI checks (linting, formatting).
164-
- Address ESLint warnings or errors (`npm run lint`).
165-
- Respond to feedback from automated code review tools (e.g., Ellipsis, if configured).
166-
- Follow TypeScript best practices and maintain type safety.
167-
- **Testing**:
168-
- Add tests for new features.
169-
- Run `npm test` to ensure all tests pass.
170-
- Update existing tests if your changes affect them.
171-
- **Commit Messages**:
172-
- Write clear, descriptive commit messages.
173-
- Reference relevant issues in commits using `#issue-number` (e.g., `Fixes #123`).
174-
- **Pre-Submission Checklist (before creating a PR)**:
175-
- Rebase your branch on the latest `main` from the upstream repository.
176-
- Ensure your code builds successfully (`npm run build`).
177-
- Double-check all tests are passing (`npm test`).
178-
- Remove any debugging code or `console.log` statements.
179-
180-
### 3. Submitting Code: Pull Request (PR) Process
181-
182-
#### Draft Pull Requests
183-
184-
Use Draft PRs for work that is not yet ready for full review but for which you'd like to:
185-
186-
- Run automated checks (CI).
187-
- Get early feedback from maintainers or other contributors.
188-
- Signal that the work is in progress.
189-
190-
Mark a PR as "Ready for Review" only when all checks are passing and you believe it meets the criteria outlined in the "Writing Code Guidelines" and "Pull Request Description" sections.
191-
192-
#### Pull Request Description
193-
194-
Your PR description must be comprehensive and follow the structure provided by our [Pull Request Template](.github/pull_request_template.md). Key elements include:
195-
196-
- A link to the approved GitHub Issue it addresses.
197-
- A clear description of the changes made and their purpose.
198-
- Detailed steps to test the changes.
199-
- A list of any breaking changes.
200-
- **For UI changes, provide clear before-and-after screenshots or videos.**
201-
- **Crucially, state whether your PR necessitates updates to user-facing documentation. If so, specify which documents or sections are affected.**
202-
203-
#### Pull Request (PR) Policy
204-
205-
##### Objective
206-
207-
Maintain a clean, focused, and actionable PR backlog.
92+
2. **Install Dependencies:**
20893

209-
##### Issue-First Approach
94+
```
95+
npm run install:all
96+
```
21097

211-
- **Required**: Before starting work, ensure there is an existing, approved, and assigned GitHub Issue (either a "Bug Report" or a "Detailed Feature Proposal"). (See "Key Principle: Issue-First Approach" under "II. Finding & Planning Your Contribution" for full details).
212-
- **Approval**: Issues, especially "Detailed Feature Proposals" or those involving significant changes, must be reviewed and approved by maintainers (particularly @hannesrudolph) _before_ coding begins.
213-
- **Reference**: PRs must explicitly reference these pre-approved issues in their description.
214-
- **Consequences**: Failure to follow this process may result in your PR being closed without a full review.
98+
3. **Debugging:** Open with VS Code (`F5`).
21599

216-
##### Conditions for Open PRs
100+
### Writing Code Guidelines
217101

218-
- **Ready for Merge**: Passes all CI tests, aligns with the project roadmap (if applicable), is linked to an approved and assigned issue, has clear documentation/comments, includes clear before-and-after images or videos for any UI changes.
219-
- **To be Closed**: Unresolved CI test failures, significant merge conflicts, misalignment with project goals, or prolonged inactivity (e.g., >30 days without updates after feedback).
102+
- One focused PR per feature or fix.
103+
- Follow ESLint and TypeScript best practices.
104+
- Write clear, descriptive commits referencing issues (e.g., `Fixes #123`).
105+
- Provide thorough testing (`npm test`).
106+
- Rebase onto the latest `main` branch before submission.
220107

221-
##### Procedure
108+
### Submitting a Pull Request
222109

223-
1. **Issue Qualification & Assignment**: @hannesrudolph (or other maintainers) reviews new and existing issues to ensure they align with the project and follow the "Issue-First Approach." Issues ready for work are assigned.
224-
2. **Initial PR Triage (Daily)**: Maintainers conduct a quick daily review of incoming PRs to filter for urgency or critical issues.
225-
3. **Thorough PR Review (Weekly - Mondays, or as capacity allows)**: Maintainers perform a more in-depth review of PRs to assess readiness, alignment with an approved issue, and overall quality.
226-
4. **Detailed Feedback & Iteration**: Based on the thorough review, maintainers provide feedback (Approve, Request Changes, or Reject). Contributors are expected to respond to feedback and iterate as needed.
227-
5. **Decision Stage**: Approved PRs are merged. PRs with unresolvable issues or misalignment may be closed with a clear explanation.
228-
6. **Follow-up**: Authors of closed PRs are encouraged to address feedback and open new ones if issues are resolved or project direction shifts.
110+
- Begin as a **Draft PR** if seeking early feedback.
111+
- Clearly describe your changes following the Pull Request Template.
112+
- Provide screenshots/videos for UI changes.
113+
- Indicate if documentation updates are necessary.
229114

230-
##### Responsibilities
115+
### Pull Request Policy
231116

232-
- **Issue Qualification & Process Adherence (@hannesrudolph & Maintainers)**: Ensure all contributions adhere to the "Issue-First Approach" by reviewing, qualifying, and assigning issues. Guide contributors on process.
233-
- **Maintainers (Dev Team)**: Conduct initial and thorough PR reviews, provide technical feedback, make approval/rejection decisions, and merge PRs.
234-
- **Contributors**: Ensure PRs are linked to an approved and assigned issue, meet quality guidelines, and respond promptly to feedback.
117+
- Must reference pre-approved, assigned issues.
118+
- PRs without adherence to the policy may be closed.
119+
- PRs should pass CI tests, align with the roadmap, and have clear documentation.
235120

236-
This policy ensures clarity and efficient integration.
121+
### Review Process
237122

238-
## IV. Legal
123+
- **Daily Triage:** Quick checks by maintainers.
124+
- **Weekly In-depth Review:** Comprehensive assessment.
125+
- **Iterate promptly** based on feedback.
239126

240-
### Contribution Agreement
127+
## Legal
241128

242-
By submitting a pull request, you agree that your contributions will be licensed under the [Apache 2.0 License](LICENSE) (or the project's current license, if different), the same as the project.
129+
By contributing, you agree your contributions will be licensed under the Apache 2.0 License, consistent with Roo Code's licensing.

0 commit comments

Comments
 (0)