feat: Revamp contribution process and templates (#3246)

This commit is contained in:
Hannes Rudolph 2025-05-06 21:51:18 -06:00 committed by GitHub
parent 94ae4488f5
commit 3ffe946bbf
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
36 changed files with 3877 additions and 1716 deletions

View file

@ -2,6 +2,12 @@ name: Bug Report
description: Clearly report a bug with detailed repro steps
labels: ["bug"]
body:
- type: markdown
attributes:
value: |
**Thank you for taking the time to fill out this bug report!**
Please ensure this bug hasn't been reported already by searching existing [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues).
- type: input
id: version
attributes:
@ -17,19 +23,25 @@ body:
description: Choose the API provider involved
multiple: false
options:
- OpenRouter
- Anthropic
- Google Gemini
- AWS Bedrock
- Chutes AI
- DeepSeek
- Glama
- Google Gemini
- Groq
- Human Relay Provider
- LM Studio
- Mistral AI
- Ollama
- OpenAI
- OpenAI Compatible
- GCP Vertex AI
- Amazon Bedrock
- OpenRouter
- Requesty
- Glama
- VS Code LM API
- LM Studio
- Ollama
- Unbound
- VS Code Language Model API
- xAI (Grok)
- Not Applicable / Other
validations:
required: true
@ -37,7 +49,7 @@ body:
id: model
attributes:
label: Model Used
description: Clearly specify the exact model (e.g., Claude 3.7 Sonnet)
description: Clearly specify the exact model (e.g., Claude 3.7 Sonnet). If not applicable, enter N/A.
validations:
required: true
@ -69,8 +81,8 @@ body:
- type: textarea
id: logs
attributes:
label: Relevant API Request Output
description: Paste relevant API logs or outputs here (formatted automatically as code)
label: Relevant API Request Output or Error Logs
description: Paste relevant API logs, console outputs, or error messages here (formatted automatically as code).
render: shell
- type: textarea

View file

@ -0,0 +1,74 @@
name: Detailed Feature Proposal
description: Propose a specific, actionable feature or enhancement for implementation
labels: ["proposal", "enhancement"]
body:
- type: markdown
attributes:
value: |
**Thank you for proposing a detailed feature for Roo Code!**
This template is for submitting specific, actionable proposals that you or others intend to implement after discussion and approval. It's a key part of our [Issue-First Approach](https://docs.roocode.com/contributing).
- **For general ideas or less defined suggestions**, please use [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) first.
- **Before submitting**, please search existing [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) and [Discussions](https://github.com/RooVetGit/Roo-Code/discussions) to avoid duplicates.
A maintainer (especially @hannesrudolph) will review this proposal. **Do not start implementation until this proposal is approved and assigned.**
- type: textarea
id: problem-description
attributes:
label: What problem does this proposed feature solve?
description: Clearly describe the problem, use case, or opportunity this feature addresses. Why is this change needed?
placeholder: e.g., "Users currently cannot..." or "It would be beneficial if..."
validations:
required: true
- type: textarea
id: proposed-solution
attributes:
label: Describe the proposed solution in detail
description: Provide a clear and comprehensive description of the feature or enhancement. How should it work? What are the key functionalities?
placeholder: Include details on user interaction, expected behavior, and potential impact.
validations:
required: true
- type: textarea
id: technical-details
attributes:
label: Technical considerations or implementation details (optional)
description: If you have thoughts on how this could be implemented, or specific technical aspects to consider, please share them.
placeholder: e.g., "This might involve changes to X component..." or "We should consider Y library..."
- type: textarea
id: alternatives-considered
attributes:
label: Describe alternatives considered (if any)
description: What other ways could this problem be solved or this functionality be achieved? Why is your proposed solution preferred?
placeholder: Briefly outline any alternative approaches and why they were not chosen.
- type: textarea
id: additional-context
attributes:
label: Additional Context & Mockups
description: Add any other context, mockups, screenshots, or links that help illustrate the proposal.
- type: checkboxes
id: checklist
attributes:
label: Proposal Checklist
description: Please confirm the following before submitting.
options:
- label: I have searched existing Issues and Discussions to ensure this proposal is not a duplicate.
required: true
- label: This proposal is for a specific, actionable change intended for implementation (not a general idea).
required: true
- label: I understand that this proposal requires review and approval before any development work begins.
required: true
- type: checkboxes
id: willingness-to-contribute
attributes:
label: Are you interested in implementing this feature if approved?
description: (This is optional and does not affect the proposal's consideration)
options:
- label: Yes, I would like to contribute to implementing this feature.
required: false

View file

@ -1,35 +1,83 @@
## Context
<!-- Brief description of WHAT youre doing and WHY. -->
## Implementation
<!--
Thank you for contributing to Roo Code!
Some description of HOW you achieved it. Perhaps give a high level description of the program flow. Did you need to refactor something? What tradeoffs did you take? Are there things in here which youd particularly like people to pay close attention to?
Before submitting your PR, please ensure:
- It's linked to an approved GitHub Issue.
- You've reviewed our [Contributing Guidelines](https://docs.roocode.com/contributing).
-->
## Screenshots
### Related GitHub Issue
| before | after |
| ------ | ----- |
| | |
<!-- Every PR MUST be linked to an approved issue. -->
## How to Test
Closes: # <!-- Replace with the issue number, e.g., Closes: #123 -->
### Description
<!--
A straightforward scenario of how to test your changes will help reviewers that are not familiar with the part of the code that you are changing but want to see it in action. This section can include a description or step-by-step instructions of how to get to the state of v2 that your change affects.
A "How To Test" section can look something like this:
- Sign in with a user with tracks
- Activate `show_awesome_cat_gifs` feature (add `?feature.show_awesome_cat_gifs=1` to your URL)
- You should see a GIF with cats dancing
Briefly summarize the changes in this PR and how they address the linked issue.
The issue should cover the "what" and "why"; this section should focus on:
- The "how": key implementation details, design choices, or trade-offs made.
- Anything specific reviewers should pay attention to in this PR.
-->
## Get in Touch
### Test Procedure
<!-- We'd love to have a way to chat with you about your changes if necessary. If you're in the [Roo Code Discord](https://discord.gg/roocode), please share your handle here. -->
<!--
Detail the steps to test your changes. This helps reviewers verify your work.
- How did you test this specific implementation? (e.g., unit tests, manual testing steps)
- How can reviewers reproduce your tests or verify the fix/feature?
- Include relevant testing environment details if applicable.
-->
### Type of Change
<!-- Mark all applicable boxes with an 'x'. -->
- [ ] 🐛 **Bug Fix**: Non-breaking change that fixes an issue.
- [ ] ✨ **New Feature**: Non-breaking change that adds functionality.
- [ ] 💥 **Breaking Change**: Fix or feature that would cause existing functionality to not work as expected.
- [ ] ♻️ **Refactor**: Code change that neither fixes a bug nor adds a feature.
- [ ] 💅 **Style**: Changes that do not affect the meaning of the code (white-space, formatting, etc.).
- [ ] 📚 **Documentation**: Updates to documentation files.
- [ ] ⚙️ **Build/CI**: Changes to the build process or CI configuration.
- [ ] 🧹 **Chore**: Other changes that don't modify `src` or test files.
### Pre-Submission Checklist
<!-- Go through this checklist before marking your PR as ready for review. -->
- [ ] **Issue Linked**: This PR is linked to an approved GitHub Issue (see "Related GitHub Issue" above).
- [ ] **Scope**: My changes are focused on the linked issue (one major feature/fix per PR).
- [ ] **Self-Review**: I have performed a thorough self-review of my code.
- [ ] **Code Quality**:
- [ ] My code adheres to the project's style guidelines.
- [ ] There are no new linting errors or warnings (`npm run lint`).
- [ ] All debug code (e.g., `console.log`) has been removed.
- [ ] **Testing**:
- [ ] New and/or updated tests have been added to cover my changes.
- [ ] All tests pass locally (`npm test`).
- [ ] The application builds successfully with my changes.
- [ ] **Branch Hygiene**: My branch is up-to-date (rebased) with the `main` branch.
- [ ] **Documentation Impact**: I have considered if my changes require documentation updates (see "Documentation Updates" section below).
- [ ] **Changeset**: A changeset has been created using `npm run changeset` if this PR includes user-facing changes or dependency updates.
- [ ] **Contribution Guidelines**: I have read and agree to the [Contributor Guidelines](https://docs.roocode.com/contributing).
### Screenshots / Videos
<!--
For UI changes, please provide before-and-after screenshots or a short video of the *actual results*.
This greatly helps in understanding the visual impact of your changes.
-->
### Documentation Updates
<!--
Does this PR necessitate updates to user-facing documentation?
- [ ] No documentation updates are required.
- [ ] Yes, documentation updates are required. (Please describe what needs to be updated or link to a PR in the docs repository).
-->
### Additional Notes
<!-- Add any other context, questions, or information for reviewers here. -->

View file

@ -1,34 +1,49 @@
# Contributing to Roo Code
We're thrilled you're interested in contributing to Roo Code. Whether you're fixing a bug, adding a feature, or improving our docs, every contribution makes Roo Code smarter! To keep our community vibrant and welcoming, all members must adhere to our [Code of Conduct](CODE_OF_CONDUCT.md).
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.
This guide outlines how to contribute to Roo Code, whether you're fixing bugs, adding features, or improving documentation.
## Join Our Community
## Table of Contents
We strongly encourage all contributors to join our [Discord community](https://discord.gg/roocode)! Being part of our Discord server helps you:
- [I. Before You Contribute](#i-before-you-contribute)
- [1. Code of Conduct](#1-code-of-conduct)
- [2. Understand the Project Roadmap](#2-understand-the-project-roadmap)
- [Provider Support](#provider-support)
- [Model Support](#model-support)
- [System Support](#system-support)
- [Documentation](#documentation)
- [Stability](#stability)
- [Internationalization](#internationalization)
- [3. Join the Roo Code Community](#3-join-the-roo-code-community)
- [II. Finding & Planning Your Contribution](#ii-finding--planning-your-contribution)
- [1. Types of Contributions](#1-types-of-contributions)
- [2. Key Principle: Issue-First Approach](#2-key-principle-issue-first-approach)
- [3. Deciding What to Work On](#3-deciding-what-to-work-on)
- [4. Reporting Bugs or Issues](#4-reporting-bugs-or-issues)
- [III. Development & Submission Process](#iii-development--submission-process)
- [1. Development Setup](#1-development-setup)
- [2. Writing Code Guidelines](#2-writing-code-guidelines)
- [3. Submitting Code: Pull Request (PR) Process](#3-submitting-code-pull-request-pr-process)
- [Draft Pull Requests](#draft-pull-requests)
- [Pull Request Description](#pull-request-description)
- [Pull Request (PR) Policy](#pull-request-pr-policy)
- [Objective](#objective)
- [Issue-First Approach](#issue-first-approach)
- [Conditions for Open PRs](#conditions-for-open-prs)
- [Procedure](#procedure)
- [Responsibilities](#responsibilities)
- [IV. Legal](#iv-legal)
- [Contribution Agreement](#contribution-agreement)
- Get real-time help and guidance on your contributions
- Connect with other contributors and core team members
- Stay updated on project developments and priorities
- Participate in discussions that shape Roo Code's future
- Find collaboration opportunities with other developers
## I. Before You Contribute
## Reporting Bugs or Issues
First, familiarize yourself with our community standards and project direction.
Bug reports help make Roo Code better for everyone! Before creating a new issue, please [search existing ones](https://github.com/RooVetGit/Roo-Code/issues) to avoid duplicates. When you're ready to report a bug, head over to our [issues page](https://github.com/RooVetGit/Roo-Code/issues/new/choose) where you'll find a template to help you with filling out the relevant information.
### 1. Code of Conduct
<blockquote class='warning-note'>
🔐 <b>Important:</b> If you discover a security vulnerability, please use the <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">Github security tool to report it privately</a>.
</blockquote>
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.
## Deciding What to Work On
Looking for a good first contribution? Check out issues in the "Issue [Unassigned]" section of our [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) Github Project. These are specifically curated for new contributors and areas where we'd love some help!
We also welcome contributions to our [documentation](https://docs.roocode.com/)! Whether it's fixing typos, improving existing guides, or creating new educational content - we'd love to build a community-driven repository of resources that helps everyone get the most out of Roo Code. You can click "Edit this page" on any page to quickly get to the right spot in Github to edit the file, or you can dive directly into https://github.com/RooVetGit/Roo-Code-Docs.
If you're planning to work on a bigger feature, please create a [feature request](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) first so we can discuss whether it aligns with Roo Code's vision. You may also want to check our [Project Roadmap](#project-roadmap) below to see if your idea fits with our strategic direction.
## Project Roadmap
### 2. Understand the Project Roadmap
Roo Code has a clear development roadmap that guides our priorities and future direction. Understanding our roadmap can help you:
@ -39,7 +54,7 @@ Roo Code has a clear development roadmap that guides our priorities and future d
Our current roadmap focuses on six key pillars:
### Provider Support
#### Provider Support
We aim to support as many providers well as we can:
@ -47,21 +62,21 @@ We aim to support as many providers well as we can:
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Enhanced support for Ollama and LM Studio
### Model Support
#### Model Support
We want Roo to work as well on as many models as possible, including local models:
- Local model support through custom system prompting and workflows
- Benchmarking evals and test cases
### System Support
#### System Support
We want Roo to run well on everyone's computer:
- Cross platform terminal integration
- Strong and consistent support for Mac, Windows, and Linux
### Documentation
#### Documentation
We want comprehensive, accessible documentation for all users and contributors:
@ -71,14 +86,14 @@ We want comprehensive, accessible documentation for all users and contributors:
- Multilingual documentation resources
- Interactive examples and code samples
### Stability
#### Stability
We want to significantly decrease the number of bugs and increase automated testing:
- Debug logging switch
- "Machine/Task Information" copy button for sending in with bug/support requests
### Internationalization
#### Internationalization
We want Roo to speak everyone's language:
@ -89,85 +104,168 @@ We want Roo to speak everyone's language:
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.
## Development Setup
### 3. Join the Roo Code Community
1. **Clone** the repo:
Connecting with the Roo Code community is a great way to get started:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Primary Method**:
1. Join the [Roo Code Discord community](https://discord.gg/roocode).
2. Once joined, send a direct message (DM) to **Hannes Rudolph** (Discord username: `hrudolph`) to discuss your interest and get guidance.
- **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.
2. **Install dependencies**:
## II. Finding & Planning Your Contribution
```sh
npm run install:all
```
Identify what you'd like to work on and how to approach it.
3. **Start the webview (Vite/React app with HMR)**:
### 1. Types of Contributions
```sh
npm run dev
```
We welcome various contributions:
4. **Debug**:
Press `F5` (or **Run****Start Debugging**) in VSCode to open a new session with Roo Code loaded.
- **Bug Fixes**: Addressing issues in existing code.
- **New Features**: Adding new functionality.
- **Documentation**: Improving guides, examples, or fixing typos.
Changes to the webview will appear immediately. Changes to the core extension will require a restart of the extension host.
### 2. Key Principle: Issue-First Approach
Alternatively you can build a .vsix and install it directly in VSCode:
**All contributions must start with a GitHub Issue.** This is a critical step to ensure alignment and prevent wasted effort.
- **Find or Create an Issue**:
- 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.
- 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.
- 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):
- For bugs, use the "Bug Report" template.
- For new features, use the "Detailed Feature Proposal" template. Await approval from a maintainer (especially @hannesrudolph) before proceeding with implementation.
- **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.
- **Claiming and Assignment**:
- Clearly state your intention to work on an issue by commenting on it.
- Wait for a maintainer to officially assign the issue to you in GitHub. This prevents multiple people from working on the same thing.
- **Consequences of Not Following**:
- 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.
This approach helps us track work, ensure changes are desired, and coordinate efforts effectively.
### 3. Deciding What to Work On
- **Good First Issues**: Check the "Issue [Unassigned]" section of our [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) GitHub Project.
- **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.
- **Proposing New Features**:
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).
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**.
### 4. Reporting Bugs or Issues
If you find a bug:
1. **Search Existing Issues**: Check [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) for duplicates.
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).
> 🔐 **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.
## III. Development & Submission Process
Follow these steps for coding and submitting your work.
### 1. Development Setup
1. **Fork & Clone**:
- Fork the repository on GitHub.
- Clone your fork locally: `git clone https://github.com/YOUR_USERNAME/Roo-Code.git`
2. **Install Dependencies**: `npm run install:all`
3. **Run Webview (Dev Mode)**: `npm run dev` (for Vite/React app with HMR)
4. **Debug Extension**: Press `F5` in VS Code (or **Run****Start Debugging**) to open a new Extension Development Host window with Roo Code loaded.
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.
Alternatively, to build and install a `.vsix` package:
```sh
npm run build
```
A `.vsix` file will appear in the `bin/` directory which can be installed with:
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## Writing and Submitting Code
(Replace `<version>` with the actual version number from the built file).
Anyone can contribute code to Roo Code, but we ask that you follow these guidelines to ensure your contributions can be smoothly integrated:
### 2. Writing Code Guidelines
1. **Keep Pull Requests Focused**
- **Focused PRs**: One feature/bug fix per PR.
- **Code Quality**:
- Pass CI checks (linting, formatting).
- Address ESLint warnings or errors (`npm run lint`).
- Respond to feedback from automated code review tools (e.g., Ellipsis, if configured).
- Follow TypeScript best practices and maintain type safety.
- **Testing**:
- Add tests for new features.
- Run `npm test` to ensure all tests pass.
- Update existing tests if your changes affect them.
- **Commit Messages**:
- Write clear, descriptive commit messages.
- Reference relevant issues in commits using `#issue-number` (e.g., `Fixes #123`).
- **Pre-Submission Checklist (before creating a PR)**:
- Rebase your branch on the latest `main` from the upstream repository.
- Ensure your code builds successfully (`npm run build`).
- Double-check all tests are passing (`npm test`).
- Remove any debugging code or `console.log` statements.
- Limit PRs to a single feature or bug fix
- Split larger changes into smaller, related PRs
- Break changes into logical commits that can be reviewed independently
### 3. Submitting Code: Pull Request (PR) Process
2. **Code Quality**
#### Draft Pull Requests
- All PRs must pass CI checks which include both linting and formatting
- Address any ESLint warnings or errors before submitting
- Respond to all feedback from Ellipsis, our automated code review tool
- Follow TypeScript best practices and maintain type safety
Use Draft PRs for work that is not yet ready for full review but for which you'd like to:
3. **Testing**
- Run automated checks (CI).
- Get early feedback from maintainers or other contributors.
- Signal that the work is in progress.
- Add tests for new features
- Run `npm test` to ensure all tests pass
- Update existing tests if your changes affect them
- Include both unit tests and integration tests where appropriate
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.
4. **Commit Guidelines**
#### Pull Request Description
- Write clear, descriptive commit messages
- Reference relevant issues in commits using #issue-number
Your PR description must be comprehensive and follow the structure provided by our [Pull Request Template](.github/pull_request_template.md). Key elements include:
5. **Before Submitting**
- A link to the approved GitHub Issue it addresses.
- A clear description of the changes made and their purpose.
- Detailed steps to test the changes.
- A list of any breaking changes.
- **For UI changes, provide clear before-and-after screenshots or videos.**
- **Crucially, state whether your PR necessitates updates to user-facing documentation. If so, specify which documents or sections are affected.**
- Rebase your branch on the latest main
- Ensure your branch builds successfully
- Double-check all tests are passing
- Review your changes for any debugging code or console logs
#### Pull Request (PR) Policy
6. **Pull Request Description**
- Clearly describe what your changes do
- Include steps to test the changes
- List any breaking changes
- Add screenshots for UI changes
##### Objective
## Contribution Agreement
Maintain a clean, focused, and actionable PR backlog.
By submitting a pull request, you agree that your contributions will be licensed under the same license as the project ([Apache 2.0](LICENSE)).
##### Issue-First Approach
- **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).
- **Approval**: Issues, especially "Detailed Feature Proposals" or those involving significant changes, must be reviewed and approved by maintainers (particularly @hannesrudolph) _before_ coding begins.
- **Reference**: PRs must explicitly reference these pre-approved issues in their description.
- **Consequences**: Failure to follow this process may result in your PR being closed without a full review.
##### Conditions for Open PRs
- **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.
- **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).
##### Procedure
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.
2. **Initial PR Triage (Daily)**: Maintainers conduct a quick daily review of incoming PRs to filter for urgency or critical issues.
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.
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.
5. **Decision Stage**: Approved PRs are merged. PRs with unresolvable issues or misalignment may be closed with a clear explanation.
6. **Follow-up**: Authors of closed PRs are encouraged to address feedback and open new ones if issues are resolved or project direction shifts.
##### Responsibilities
- **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.
- **Maintainers (Dev Team)**: Conduct initial and thorough PR reviews, provide technical feedback, make approval/rejection decisions, and merge PRs.
- **Contributors**: Ensure PRs are linked to an approved and assigned issue, meet quality guidelines, and respond promptly to feedback.
This policy ensures clarity and efficient integration.
## IV. Legal
### Contribution Agreement
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.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • <b>Català</b> • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Codi de Conducta del Pacte de Col·laboradors
## El nostre Compromís

View file

@ -1,84 +1,107 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • <b>Català</b> • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Contribuir a Roo Code
Estem entusiasmats que estigueu interessats en contribuir a Roo Code. Ja sigui arreglant un error, afegint una funcionalitat o millorant la nostra documentació, cada contribució fa que Roo Code sigui més intel·ligent! Per mantenir la nostra comunitat vibrant i acollidora, tots els membres han de complir el nostre [Codi de Conducta](CODE_OF_CONDUCT.md).
Roo Code és un projecte impulsat per la comunitat i valorem molt cada contribució. Per garantir un procés fluid i efectiu per a tothom, **treballem amb un enfocament "[Issue-First](#2-principi-clau-enfoc-issue-first)".** Això vol dir que tota la feina ha d'estar vinculada a una Issue de GitHub _abans_ de presentar un Pull Request (consulta la nostra [Política de PR](#política-de-pull-request-pr) per a més detalls). Llegeix aquesta guia amb atenció per entendre com pots contribuir.
Aquesta guia explica com contribuir a Roo Code, ja sigui corregint errors, afegint funcionalitats o millorant la documentació.
## Uniu-vos a la nostra comunitat
## Taula de continguts
Encoratgem fortament a tots els col·laboradors a unir-se a la nostra [comunitat de Discord](https://discord.gg/roocode)! Formar part del nostre servidor de Discord us ajuda a:
- [I. Abans de contribuir](#i-abans-de-contribuir)
- [1. Codi de conducta](#1-codi-de-conducta)
- [2. Entendre la fulla de ruta del projecte](#2-entendre-la-fulla-de-ruta-del-projecte)
- [Suport de proveïdors](#suport-de-proveïdors)
- [Suport de models](#suport-de-models)
- [Suport de sistemes](#suport-de-sistemes)
- [Documentació](#documentació)
- [Estabilitat](#estabilitat)
- [Internacionalització](#internacionalització)
- [3. Uneix-te a la comunitat Roo Code](#3-uneix-te-a-la-comunitat-roo-code)
- [II. Trobar i planificar la teva contribució](#ii-trobar-i-planificar-la-teva-contribució)
- [1. Tipus de contribucions](#1-tipus-de-contribucions)
- [2. Principi clau: Enfoc Issue-First](#2-principi-clau-enfoc-issue-first)
- [3. Decidir en què treballar](#3-decidir-en-què-treballar)
- [4. Informar d'errors o problemes](#4-informar-derrors-o-problemes)
- [III. Procés de desenvolupament i enviament](#iii-procés-de-desenvolupament-i-enviament)
- [1. Configuració de desenvolupament](#1-configuració-de-desenvolupament)
- [2. Guia per escriure codi](#2-guia-per-escriure-codi)
- [3. Enviar codi: Procés de Pull Request (PR)](#3-enviar-codi-procés-de-pull-request-pr)
- [Pull Requests en esborrany](#pull-requests-en-esborrany)
- [Descripció del Pull Request](#descripció-del-pull-request)
- [Política de Pull Request (PR)](#política-de-pull-request-pr)
- [Objectiu](#objectiu)
- [Enfoc Issue-First](#enfoc-issue-first)
- [Condicions per a PRs oberts](#condicions-per-a-prs-oberts)
- [Procediment](#procediment)
- [Responsabilitats](#responsabilitats)
- [IV. Legal](#iv-legal)
- [Acord de contribució](#acord-de-contribució)
- Obtenir ajuda i orientació en temps real sobre les vostres contribucions
- Connectar amb altres col·laboradors i membres de l'equip principal
- Mantenir-vos al dia sobre els desenvolupaments i prioritats del projecte
- Participar en discussions que configuren el futur de Roo Code
- Trobar oportunitats de col·laboració amb altres desenvolupadors
## I. Abans de contribuir
## Informar d'errors o problemes
Primer, familiaritza't amb els nostres estàndards comunitaris i la direcció del projecte.
Els informes d'errors ajuden a millorar Roo Code per a tothom! Abans de crear un nou informe, si us plau [cerqueu entre els existents](https://github.com/RooVetGit/Roo-Code/issues) per evitar duplicats. Quan estigueu a punt per informar d'un error, dirigiu-vos a la nostra [pàgina d'incidències](https://github.com/RooVetGit/Roo-Code/issues/new/choose) on trobareu una plantilla per ajudar-vos a completar la informació rellevant.
### 1. Codi de conducta
<blockquote class='warning-note'>
🔐 <b>Important:</b> Si descobriu una vulnerabilitat de seguretat, utilitzeu l'<a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">eina de seguretat de Github per informar-ne privadament</a>.
</blockquote>
Tots els col·laboradors han de complir el nostre [Codi de conducta](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Si us plau, llegeix-lo abans de contribuir.
## Decidir en què treballar
### 2. Entendre la fulla de ruta del projecte
Buscant una bona primera contribució? Consulteu les incidències a la secció "Issue [Unassigned]" del nostre [Projecte de Github de Roo Code](https://github.com/orgs/RooVetGit/projects/1). Aquestes estan específicament seleccionades per a nous col·laboradors i àrees on ens encantaria rebre ajuda!
Roo Code té una fulla de ruta clara que guia les nostres prioritats i direcció futura. Entendre-la t'ajuda a:
També donem la benvinguda a contribucions a la nostra [documentació](https://docs.roocode.com/)! Ja sigui corregint errors tipogràfics, millorant guies existents o creant nou contingut educatiu - ens encantaria construir un repositori de recursos impulsat per la comunitat que ajudi a tothom a aprofitar al màxim Roo Code. Podeu fer clic a "Editar aquesta pàgina" a qualsevol pàgina per arribar ràpidament al lloc correcte a Github per editar el fitxer, o podeu anar directament a https://github.com/RooVetGit/Roo-Code-Docs.
- Alinear les teves contribucions amb els objectius del projecte
- Identificar àrees on la teva experiència sigui més valuosa
- Comprendre el context darrere de certes decisions de disseny
- Inspirar-te per a noves funcionalitats que donin suport a la nostra visió
Si esteu planejant treballar en una funcionalitat més gran, si us plau creeu primer una [sol·licitud de funcionalitat](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) perquè puguem discutir si s'alinea amb la visió de Roo Code. També podeu consultar el nostre [Full de Ruta del Projecte](#full-de-ruta-del-projecte) a continuació per veure si la vostra idea s'ajusta a la nostra direcció estratègica.
La nostra fulla de ruta actual se centra en sis pilars clau:
## Full de Ruta del Projecte
#### Suport de proveïdors
Roo Code té un full de ruta de desenvolupament clar que guia les nostres prioritats i direcció futura. Entendre el nostre full de ruta us pot ajudar a:
Volem donar suport al màxim nombre de proveïdors possible:
- Alinear les vostres contribucions amb els objectius del projecte
- Identificar àrees on la vostra experiència seria més valuosa
- Entendre el context darrere de certes decisions de disseny
- Trobar inspiració per a noves funcionalitats que donin suport a la nostra visió
El nostre full de ruta actual se centra en sis pilars clau:
### Suport de Proveïdors
Aspirem a donar suport a tants proveïdors com sigui possible:
- Suport més versàtil per a "OpenAI Compatible"
- Més suport "Compatible amb OpenAI"
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Suport millorat per a Ollama i LM Studio
- Millor suport per a Ollama i LM Studio
### Suport de Models
#### Suport de models
Volem que Roo funcioni tan bé com sigui possible amb tants models com sigui possible, inclosos els models locals:
Volem que Roo funcioni amb el màxim nombre de models possible, inclosos models locals:
- Suport de models locals a través de prompts de sistema personalitzats i fluxos de treball
- Avaluacions de rendiment i casos de prova
- Suport de models locals mitjançant prompts i fluxos de treball personalitzats
- Avaluacions i casos de prova de benchmarking
### Suport de Sistemes
#### Suport de sistemes
Volem que Roo funcioni bé a l'ordinador de tothom:
Volem que Roo funcioni bé a qualsevol ordinador:
- Integració de terminal multiplataforma
- Suport sòlid i consistent per a Mac, Windows i Linux
- Suport fort i coherent per a Mac, Windows i Linux
### Documentació
#### Documentació
Volem documentació completa i accessible per a tots els usuaris i col·laboradors:
- Guies d'usuari i tutorials ampliats
- Guies i tutorials ampliats
- Documentació clara de l'API
- Millor orientació per als col·laboradors
- Recursos de documentació multilingües
- Exemples interactius i mostres de codi
- Millor orientació per a col·laboradors
- Recursos de documentació multilingüe
- Exemples interactius i fragments de codi
### Estabilitat
#### Estabilitat
Volem reduir significativament el nombre d'errors i augmentar les proves automatitzades:
Volem reduir significativament els errors i augmentar les proves automatitzades:
- Interruptor de registre de depuració
- Botó de còpia "Informació de Màquina/Tasca" per enviar amb sol·licituds d'error/suport
- Botó per copiar "Informació de màquina/tasca" per a sol·licituds de suport o errors
### Internacionalització
#### Internacionalització
Volem que Roo parli l'idioma de tothom:
@ -87,87 +110,170 @@ Volem que Roo parli l'idioma de tothom:
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Donem especialment la benvinguda a contribucions que avancin els nostres objectius del full de ruta. Si esteu treballant en alguna cosa que s'alinea amb aquests pilars, si us plau mencioneu-ho a la descripció del vostre PR.
Agraïm especialment les contribucions que avancin els objectius de la nostra fulla de ruta. Si treballes en alguna cosa alineada amb aquests pilars, esmenta-ho a la descripció del teu PR.
## Configuració de desenvolupament
### 3. Uneix-te a la comunitat Roo Code
1. **Cloneu** el repositori:
Connectar amb la comunitat Roo Code és una excel·lent manera de començar:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Mètode principal**:
1. Uneix-te a la [comunitat Roo Code a Discord](https://discord.gg/roocode).
2. Un cop dins, envia un missatge directe (DM) a **Hannes Rudolph** (Discord: `hrudolph`) per comentar el teu interès i rebre orientació.
- **Alternativa per a col·laboradors experimentats**: Si et sents còmode amb l'enfoc issue-first, pots participar directament a GitHub seguint el [tauler Kanban](https://github.com/orgs/RooVetGit/projects/1) i comunicant-te mitjançant issues i pull requests.
2. **Instal·leu les dependències**:
## II. Trobar i planificar la teva contribució
```sh
npm run install:all
```
Identifica en què t'agradaria treballar i com abordar-ho.
3. **Inicieu la vista web (aplicació Vite/React amb HMR)**:
### 1. Tipus de contribucions
```sh
npm run dev
```
Acceptem diversos tipus de contribucions:
4. **Depuració**:
Premeu `F5` (o **Execució****Inicia la depuració**) a VSCode per obrir una nova sessió amb Roo Code carregat.
- **Correcció d'errors**: Solucionar problemes en el codi existent.
- **Noves funcionalitats**: Afegir noves funcionalitats.
- **Documentació**: Millorar guies, exemples o corregir errors tipogràfics.
Els canvis a la vista web apareixeran immediatament. Els canvis a l'extensió principal requeriran reiniciar l'amfitrió de l'extensió.
### 2. Principi clau: Enfoc Issue-First
Alternativament, podeu crear un .vsix i instal·lar-lo directament a VSCode:
**Totes les contribucions han de començar amb una Issue de GitHub.** Aquest pas és fonamental per garantir l'alineació i evitar esforços innecessaris.
- **Cerca o crea una Issue**:
- Abans de començar, busca a [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) si ja existeix una issue per a la teva contribució.
- Si existeix i no està assignada, comenta a la issue per expressar el teu interès. Un mantenidor te l'assignarà.
- Si no existeix, crea'n una de nova utilitzant la plantilla adequada a la nostra [pàgina d'issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Per a errors, utilitza la plantilla "Bug Report".
- Per a noves funcionalitats, utilitza la plantilla "Detailed Feature Proposal". Espera l'aprovació d'un mantenidor (especialment @hannesrudolph) abans de començar a implementar.
- **Nota**: Les idees generals o discussions preliminars sobre funcionalitats poden començar a [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Quan la idea sigui més concreta, s'ha de crear una issue de "Detailed Feature Proposal".
- **Reclama i assigna**:
- Indica clarament la teva intenció de treballar en una issue comentant-la.
- Espera que un mantenidor te l'assigni oficialment a GitHub. Així evitem que diverses persones treballin en el mateix.
- **Conseqüències de no seguir-ho**:
- Els Pull Requests (PRs) enviats sense una issue corresponent, preaprovada i assignada poden ser tancats sense revisió completa. Aquesta política existeix per garantir que les contribucions estiguin alineades amb les prioritats del projecte i per respectar el temps de tothom.
Aquest enfoc ens ajuda a fer el seguiment de la feina, garantir que els canvis siguin desitjats i coordinar els esforços de manera efectiva.
### 3. Decidir en què treballar
- **Good First Issues**: Consulta la secció "Issue [Unassigned]" del nostre [Projecte Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) a GitHub.
- **Documentació**: Tot i que aquest `CONTRIBUTING.md` és la guia principal per a contribucions de codi, si t'interessa contribuir a altra documentació (com guies d'usuari o API), revisa el [repositori Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) o pregunta a la comunitat de Discord.
- **Proposar noves funcionalitats**:
1. **Idea inicial/discussió**: Per a idees generals o inicials, inicia una conversa a [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Proposta formal**: Per a propostes específiques i llestes per a consideració, crea una issue de "Detailed Feature Proposal" utilitzant la plantilla a la nostra [pàgina d'issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Això és clau en el nostre **enfoc Issue-First**.
### 4. Informar d'errors o problemes
Si trobes un error:
1. **Cerca issues existents**: Revisa [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) per veure si ja està reportat.
2. **Crea una nova issue**: Si és únic, utilitza la plantilla "Bug Report" a la nostra [pàgina d'issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Vulnerabilitats de seguretat**: Si descobreixes una vulnerabilitat de seguretat, informa-la de manera privada utilitzant l'[eina d'avisos de seguretat de GitHub](https://github.com/RooVetGit/Roo-Code/security/advisories/new). No creïs una issue pública per a vulnerabilitats de seguretat.
## III. Procés de desenvolupament i enviament
Segueix aquests passos per programar i enviar la teva feina.
### 1. Configuració de desenvolupament
1. **Fork & Clona**:
- Fes un fork del repositori a GitHub.
- Clona el teu fork localment: `git clone https://github.com/EL_TEU_USUARI/Roo-Code.git`
2. **Instal·la les dependències**: `npm run install:all`
3. **Executa Webview (mode dev)**: `npm run dev` (per a l'app Vite/React amb HMR)
4. **Depura l'extensió**: Prem `F5` a VS Code (o **Run****Start Debugging**) per obrir una nova finestra Extension Development Host amb Roo Code carregat.
Els canvis a webview (`webview-ui`) apareixeran immediatament gràcies a Hot Module Replacement. Els canvis a l'extensió principal (`src`) requeriran reiniciar l'Extension Development Host.
Alternativament, per construir i instal·lar un paquet `.vsix`:
```sh
npm run build
code --install-extension bin/roo-cline-<versió>.vsix
```
Apareixerà un fitxer `.vsix` al directori `bin/` que es pot instal·lar amb:
(Substitueix `<versió>` pel número de versió real del fitxer generat).
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
### 2. Guia per escriure codi
## Escriure i enviar codi
- **PRs enfocats**: Una funcionalitat/fix per PR.
- **Qualitat del codi**:
- Passar els checks de CI (lint, format)
- Corregir advertències o errors d'ESLint (`npm run lint`)
- Respondre al feedback d'eines automàtiques de revisió de codi
- Seguir bones pràctiques de TypeScript i mantenir la seguretat de tipus
- **Proves**:
- Afegir tests per a noves funcionalitats
- Executar `npm test` per assegurar que tot passa
- Actualitzar tests existents si el teu canvi els afecta
- **Missatges de commit**:
- Escriure missatges clars i descriptius
- Referenciar issues rellevants amb `#número-issue` (ex: `Fixes #123`)
- **Checklist abans d'enviar PR**:
- Rebasejar la teva branca sobre l'últim `main` de l'upstream
- Assegura't que el codi compila (`npm run build`)
- Verifica que tots els tests passen (`npm test`)
- Elimina qualsevol codi de depuració o `console.log`
Qualsevol persona pot contribuir amb codi a Roo Code, però us demanem que seguiu aquestes directrius per assegurar que les vostres contribucions puguin ser integrades sense problemes:
### 3. Enviar codi: Procés de Pull Request (PR)
1. **Mantingueu les Pull Requests enfocades**
#### Pull Requests en esborrany
- Limiteu les PR a una sola funcionalitat o correcció d'error
- Dividiu els canvis més grans en PR més petites i relacionades
- Dividiu els canvis en commits lògics que puguin ser revisats independentment
Utilitza PRs en esborrany per a feina que encara no està llesta per a revisió completa però per la qual vols:
2. **Qualitat del codi**
- Executar checks automàtics (CI)
- Rebre feedback primerenc de mantenidors o altres col·laboradors
- Indicar que la feina està en curs
- Totes les PR han de passar les comprovacions de CI que inclouen tant anàlisi com formatació
- Solucioneu qualsevol advertència o error d'ESLint abans d'enviar
- Responeu a tots els comentaris d'Ellipsis, la nostra eina automatitzada de revisió de codi
- Seguiu les millors pràctiques de TypeScript i mantingueu la seguretat de tipus
Marca un PR com a "Llest per a revisió" només quan tots els checks passin i creguis que compleix els criteris de "Guia per escriure codi" i "Descripció del Pull Request".
3. **Proves**
#### Descripció del Pull Request
- Afegiu proves per a noves funcionalitats
- Executeu `npm test` per assegurar que totes les proves passin
- Actualitzeu les proves existents si els vostres canvis les afecten
- Incloeu tant proves unitàries com proves d'integració quan sigui apropiat
La descripció del teu PR ha de ser completa i seguir l'estructura de la nostra [Plantilla de Pull Request](.github/pull_request_template.md). Elements clau:
4. **Directrius de commits**
- Un enllaç a la Issue de GitHub aprovada que aborda
- Descripció clara dels canvis realitzats i el seu propòsit
- Passos detallats per provar els canvis
- Llista de qualsevol canvi important (breaking changes)
- **Per a canvis de UI, proporciona captures de pantalla o vídeos de l'abans i el després**
- **Indica si el teu PR requereix actualitzar documentació d'usuari i quins documents o seccions es veuen afectats**
- Escriviu missatges de commit clars i descriptius
- Feu referència a incidències rellevants als commits utilitzant #número-incidència
#### Política de Pull Request (PR)
5. **Abans d'enviar**
##### Objectiu
- Rebaseu la vostra branca sobre l'última main
- Assegureu-vos que la vostra branca es construeix amb èxit
- Comproveu doblement que totes les proves passen
- Reviseu els vostres canvis per qualsevol codi de depuració o registres de consola
Mantenir un backlog de PRs net, enfocat i gestionable.
6. **Descripció de la Pull Request**
- Descriviu clarament què fan els vostres canvis
- Incloeu passos per provar els canvis
- Enumereu qualsevol canvi important
- Afegiu captures de pantalla per a canvis d'interfície d'usuari
##### Enfoc Issue-First
## Acord de contribució
- **Requerit**: Abans de començar, ha d'existir una Issue de GitHub aprovada i assignada (ja sigui "Bug Report" o "Detailed Feature Proposal").
- **Aprovació**: Les Issues, especialment les de canvis importants, han de ser revisades i aprovades pels mantenidors (especialment @hannesrudolph) _abans_ de començar a programar.
- **Referència**: Els PRs han de referenciar explícitament aquestes Issues preaprovades a la seva descripció.
- **Conseqüències**: No seguir aquest procés pot resultar en el tancament del PR sense revisió completa.
En enviar una pull request, accepteu que les vostres contribucions estaran sota la mateixa llicència que el projecte ([Apache 2.0](../LICENSE)).
##### Condicions per a PRs oberts
- **Llest per merge**: Passa tots els tests de CI, s'alinea amb la fulla de ruta del projecte (si s'escau), està vinculat a una Issue aprovada i assignada, té documentació/comentaris clars, inclou imatges o vídeos d'abans i després per a canvis de UI
- **Per tancar**: Falla en tests de CI, conflictes de merge importants, desalineació amb els objectius del projecte o inactivitat prolongada (>30 dies sense actualitzacions després de feedback)
##### Procediment
1. **Qualificació i assignació d'Issues**: @hannesrudolph (o altres mantenidors) revisen i assignen Issues noves i existents.
2. **Triage inicial de PRs (diari)**: Els mantenidors fan una revisió ràpida dels PRs entrants per filtrar urgències o problemes crítics.
3. **Revisió exhaustiva de PRs (setmanal)**: Els mantenidors revisen a fons els PRs per avaluar preparació, alineació amb la Issue aprovada i qualitat general.
4. **Feedback detallat i iteració**: Segons la revisió, els mantenidors donen feedback (Aprovar, Sol·licitar canvis o Rebutjar). S'espera que els col·laboradors responguin i millorin segons sigui necessari.
5. **Etapa de decisió**: Els PRs aprovats es fusionen. Els PRs amb problemes irresolubles o desalineats poden ser tancats amb una explicació clara.
6. **Seguiment**: Els autors de PRs tancats poden abordar el feedback i obrir-ne de nous si es resolen els problemes o canvia la direcció del projecte.
##### Responsabilitats
- **Qualificació d'Issues i compliment del procés (@hannesrudolph & mantenidors)**: Assegurar que totes les contribucions segueixin l'enfoc Issue-First. Guiar els col·laboradors en el procés.
- **Mantenidors (equip de desenvolupament)**: Revisar PRs, donar feedback tècnic, prendre decisions d'aprovació/rebuig i fusionar PRs.
- **Col·laboradors**: Assegurar que els PRs estiguin vinculats a una Issue aprovada i assignada, compleixin amb les guies de qualitat i responguin ràpidament al feedback.
Aquesta política garanteix claredat i integració eficient.
## IV. Legal
### Acord de contribució
En enviar un pull request, acceptes que les teves contribucions es llicenciïn sota la [Llicència Apache 2.0](LICENSE) (o la llicència actual del projecte), igual que el projecte.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • <b>Deutsch</b> • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Verhaltenskodex für Mitwirkende
## Unser Versprechen

View file

@ -1,173 +1,279 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • <b>Deutsch</b> • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Beitrag zu Roo Code
Wir freuen uns, dass du Interesse hast, zu Roo Code beizutragen. Ob du einen Fehler behebst, eine Funktion hinzufügst oder unsere Dokumentation verbesserst, jeder Beitrag macht Roo Code intelligenter! Um unsere Community lebendig und einladend zu halten, müssen sich alle Mitglieder an unseren [Verhaltenskodex](CODE_OF_CONDUCT.md) halten.
Roo Code ist ein Community-getriebenes Projekt und wir schätzen jeden Beitrag sehr. Damit alles reibungslos läuft, **arbeiten wir nach dem Prinzip "[Issue-First](#2-wichtiges-prinzip-issue-first-ansatz)".** Das heißt: Jede Arbeit muss mit einem GitHub-Issue verknüpft sein, _bevor_ ein Pull Request eingereicht wird (siehe unsere [PR-Richtlinie](#pull-request-pr-richtlinie) für Details). Lies diesen Leitfaden aufmerksam, um zu verstehen, wie du beitragen kannst.
Dieser Leitfaden erklärt, wie du zu Roo Code beitragen kannst egal ob du Bugs behebst, Features hinzufügst oder die Doku verbesserst.
## Treten Sie unserer Community bei
## Inhaltsverzeichnis
Wir ermutigen alle Mitwirkenden nachdrücklich, unserer [Discord-Community](https://discord.gg/roocode) beizutreten! Teil unseres Discord-Servers zu sein, hilft dir:
- [I. Bevor du beiträgst](#i-bevor-du-beiträgst)
- [1. Verhaltenskodex](#1-verhaltenskodex)
- [2. Projekt-Roadmap verstehen](#2-projekt-roadmap-verstehen)
- [Provider-Support](#provider-support)
- [Modell-Support](#modell-support)
- [System-Support](#system-support)
- [Dokumentation](#dokumentation)
- [Stabilität](#stabilität)
- [Internationalisierung](#internationalisierung)
- [3. Werde Teil der Roo Code Community](#3-werde-teil-der-roo-code-community)
- [II. Beitrag finden & planen](#ii-beitrag-finden--planen)
- [1. Beitragsarten](#1-beitragsarten)
- [2. Wichtiges Prinzip: Issue-First-Ansatz](#2-wichtiges-prinzip-issue-first-ansatz)
- [3. Was soll ich machen?](#3-was-soll-ich-machen)
- [4. Bugs oder Probleme melden](#4-bugs-oder-probleme-melden)
- [III. Entwicklung & Einreichung](#iii-entwicklung--einreichung)
- [1. Entwicklungs-Setup](#1-entwicklungs-setup)
- [2. Code-Richtlinien](#2-code-richtlinien)
- [3. Code einreichen: Pull Request (PR) Prozess](#3-code-einreichen-pull-request-pr-prozess)
- [Entwurf-Pull-Requests](#entwurf-pull-requests)
- [Pull Request Beschreibung](#pull-request-beschreibung)
- [Pull Request (PR) Richtlinie](#pull-request-pr-richtlinie)
- [Ziel](#ziel)
- [Issue-First-Ansatz](#issue-first-ansatz)
- [Bedingungen für offene PRs](#bedingungen-für-offene-prs)
- [Ablauf](#ablauf)
- [Verantwortlichkeiten](#verantwortlichkeiten)
- [IV. Rechtliches](#iv-rechtliches)
- [Beitragsvereinbarung](#beitragsvereinbarung)
- Echtzeit-Hilfe und Anleitung für deine Beiträge zu erhalten
- Mit anderen Mitwirkenden und Kernteammitgliedern in Kontakt zu treten
- Über Projektentwicklungen und Prioritäten auf dem Laufenden zu bleiben
- An Diskussionen teilzunehmen, die die Zukunft von Roo Code gestalten
- Kooperationsmöglichkeiten mit anderen Entwicklern zu finden
## I. Bevor du beiträgst
## Fehler oder Probleme melden
Mach dich zuerst mit unseren Community-Standards und der Projekt-Richtung vertraut.
Fehlerberichte helfen, Roo Code für alle besser zu machen! Bevor du ein neues Issue erstellst, bitte [suche in bestehenden Issues](https://github.com/RooVetGit/Roo-Code/issues), um Duplikate zu vermeiden. Wenn du bereit bist, einen Fehler zu melden, gehe zu unserer [Issues-Seite](https://github.com/RooVetGit/Roo-Code/issues/new/choose), wo du eine Vorlage findest, die dir beim Ausfüllen der relevanten Informationen hilft.
### 1. Verhaltenskodex
<blockquote class='warning-note'>
🔐 <b>Wichtig:</b> Wenn du eine Sicherheitslücke entdeckst, nutze bitte das <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">Github-Sicherheitstool, um sie privat zu melden</a>.
</blockquote>
Alle Mitwirkenden müssen sich an unseren [Verhaltenskodex](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md) halten. Bitte lies ihn, bevor du beiträgst.
## Entscheiden, woran Sie arbeiten möchten
### 2. Projekt-Roadmap verstehen
Suchst du nach einem guten ersten Beitrag? Schau dir Issues im Abschnitt "Issue [Unassigned]" unseres [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) Github-Projekts an. Diese sind speziell für neue Mitwirkende und Bereiche ausgewählt, in denen wir Hilfe gebrauchen könnten!
Roo Code hat eine klare Entwicklungs-Roadmap, die unsere Prioritäten und die Zukunft vorgibt. Wenn du die Roadmap kennst, kannst du:
Wir begrüßen auch Beiträge zu unserer [Dokumentation](https://docs.roocode.com/)! Ob du Tippfehler korrigierst, bestehende Anleitungen verbesserst oder neue Bildungsinhalte erstellst - wir würden gerne ein Community-geführtes Repository von Ressourcen aufbauen, das jedem hilft, das Beste aus Roo Code herauszuholen. Du kannst auf jeder Seite auf "Edit this page" klicken, um schnell zur richtigen Stelle in Github zu gelangen, um die Datei zu bearbeiten, oder du kannst direkt zu https://github.com/RooVetGit/Roo-Code-Docs gehen.
- Deine Beiträge an den Projektzielen ausrichten
- Bereiche finden, in denen deine Skills besonders wertvoll sind
- Den Kontext hinter bestimmten Design-Entscheidungen verstehen
- Inspiration für neue Features bekommen, die unsere Vision unterstützen
Wenn du an einer größeren Funktion arbeiten möchtest, erstelle bitte zuerst eine [Funktionsanfrage](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop), damit wir diskutieren können, ob sie mit der Vision von Roo Code übereinstimmt. Du kannst auch unseren [Projekt-Fahrplan](#projekt-fahrplan) unten überprüfen, um zu sehen, ob deine Idee mit unserer strategischen Ausrichtung übereinstimmt.
Unsere aktuelle Roadmap hat sechs Hauptsäulen:
## Projekt-Fahrplan
#### Provider-Support
Roo Code hat einen klaren Entwicklungsfahrplan, der unsere Prioritäten und zukünftige Richtung leitet. Das Verständnis unseres Fahrplans kann dir helfen:
Wir wollen möglichst viele Provider gut unterstützen:
- Deine Beiträge mit den Projektzielen abzustimmen
- Bereiche zu identifizieren, in denen deine Expertise am wertvollsten wäre
- Den Kontext hinter bestimmten Designentscheidungen zu verstehen
- Inspiration für neue Funktionen zu finden, die unsere Vision unterstützen
Unser aktueller Fahrplan konzentriert sich auf sechs Schlüsselsäulen:
### Provider-Unterstützung
Wir möchten so viele Provider wie möglich gut unterstützen:
- Vielseitigere "OpenAI Compatible" Unterstützung
- Mehr "OpenAI Compatible"-Support
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Verbesserte Unterstützung für Ollama und LM Studio
- Verbesserter Support für Ollama und LM Studio
### Modell-Unterstützung
#### Modell-Support
Wir wollen, dass Roo mit so vielen Modellen wie möglich gut funktioniert, einschließlich lokaler Modelle:
Roo soll mit möglichst vielen Modellen funktionieren, auch mit lokalen Modellen:
- Lokale Modellunterstützung durch benutzerdefiniertes System-Prompting und Workflows
- Benchmark-Evaluierungen und Testfälle
- Lokale Modelle durch Custom System Prompting und Workflows
- Benchmarking, Evals und Testfälle
### System-Unterstützung
#### System-Support
Wir wollen, dass Roo auf jedem Computer gut läuft:
Roo soll auf jedem Rechner gut laufen:
- Plattformübergreifende Terminal-Integration
- Starke und konsistente Unterstützung für Mac, Windows und Linux
- Cross-Plattform-Terminal-Integration
- Starker und konsistenter Support für Mac, Windows und Linux
### Dokumentation
#### Dokumentation
Wir wollen umfassende, zugängliche Dokumentation für alle Benutzer und Mitwirkenden:
Wir wollen umfassende, zugängliche Doku für alle User und Mitwirkenden:
- Erweiterte Benutzerhandbücher und Tutorials
- Erweiterte User-Guides und Tutorials
- Klare API-Dokumentation
- Bessere Anleitung für Mitwirkende
- Mehrsprachige Dokumentationsressourcen
- Interaktive Beispiele und Codebeispiele
- Bessere Contributor-Guides
- Mehrsprachige Doku-Ressourcen
- Interaktive Beispiele und Code-Snippets
### Stabilität
#### Stabilität
Wir wollen die Anzahl der Fehler deutlich reduzieren und die automatisierte Testabdeckung erhöhen:
Wir wollen deutlich weniger Bugs und mehr automatisierte Tests:
- Debug-Logging-Schalter
- "Maschinen-/Aufgabeninformationen" Kopier-Button zum Einsenden mit Fehler-/Support-Anfragen
- "Maschinen-/Task-Info"-Kopier-Button für Bug-/Support-Anfragen
### Internationalisierung
#### Internationalisierung
Wir wollen, dass Roo die Sprache aller spricht:
Roo soll jede Sprache sprechen:
- 我们希望 Roo Code 说每个人的语言
- Wir wollen, dass Roo Code jede Sprache spricht
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- Wir wollen, dass Roo Code jede Sprache spricht
- نريد أن يتحدث Roo Code لغة الجميع
Wir begrüßen besonders Beiträge, die unsere Fahrplanziele voranbringen. Wenn du an etwas arbeitest, das mit diesen Säulen übereinstimmt, erwähne es bitte in deiner PR-Beschreibung.
Beiträge, die unsere Roadmap-Ziele voranbringen, sind besonders willkommen. Wenn du an etwas arbeitest, das zu diesen Säulen passt, erwähne das bitte in deiner PR-Beschreibung.
## Entwicklungs-Setup
### 3. Werde Teil der Roo Code Community
1. **Klone** das Repository:
Mit der Roo Code Community in Kontakt zu kommen, ist ein super Start:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Hauptweg**:
1. Tritt der [Roo Code Discord Community](https://discord.gg/roocode) bei.
2. Schreib dann eine Direktnachricht (DM) an **Hannes Rudolph** (Discord: `hrudolph`), um dein Interesse zu besprechen und Tipps zu bekommen.
- **Alternative für Erfahrene**: Wenn du mit dem Issue-First-Ansatz vertraut bist, kannst du direkt über GitHub mitmachen, indem du das [Kanban-Board](https://github.com/orgs/RooVetGit/projects/1) nutzt und über Issues und Pull Requests kommunizierst.
2. **Installiere Abhängigkeiten**:
## II. Beitrag finden & planen
```sh
npm run install:all
```
Finde heraus, woran du arbeiten willst und wie du es angehst.
3. **Starte die Webansicht (Vite/React-App mit HMR)**:
### 1. Beitragsarten
```sh
npm run dev
```
Wir freuen uns über viele Arten von Beiträgen:
4. **Debugging**:
Drücke `F5` (oder **Ausführen****Debugging starten**) in VSCode, um eine neue Sitzung mit geladenem Roo Code zu öffnen.
- **Bugfixes**: Fehler im Code beheben
- **Neue Features**: Neue Funktionen hinzufügen
- **Dokumentation**: Guides verbessern, Beispiele ergänzen oder Tippfehler korrigieren
Änderungen an der Webansicht erscheinen sofort. Änderungen an der Kern-Erweiterung erfordern einen Neustart des Erweiterungs-Hosts.
### 2. Wichtiges Prinzip: Issue-First-Ansatz
Alternativ kannst du eine .vsix-Datei erstellen und direkt in VSCode installieren:
**Jeder Beitrag muss mit einem GitHub-Issue starten.** Das ist wichtig, damit alles abgestimmt läuft und keine Arbeit umsonst ist.
- **Issue finden oder erstellen**:
- Bevor du loslegst, schau bei den [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues), ob es schon ein Issue für deinen Beitrag gibt.
- Wenn ja und es ist nicht zugewiesen, kommentiere, dass du es übernehmen willst. Ein Maintainer weist es dir dann zu.
- Wenn es noch kein Issue gibt, erstelle eins mit der passenden Vorlage auf unserer [Issues-Seite](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Für Bugs: "Bug Report"-Vorlage
- Für neue Features: "Detailed Feature Proposal"-Vorlage. Warte auf die Freigabe eines Maintainers (vor allem @hannesrudolph), bevor du loslegst.
- **Hinweis**: Allgemeine Ideen oder erste Diskussionen zu Features können in [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests) starten. Wenn die Idee konkreter wird, sollte ein "Detailed Feature Proposal"-Issue erstellt werden.
- **Claiming und Zuweisung**:
- Sag klar, dass du an einem Issue arbeiten willst, indem du es kommentierst.
- Warte, bis ein Maintainer das Issue offiziell in GitHub zuweist. So arbeiten nicht mehrere an derselben Sache.
- **Wenn du das nicht beachtest**:
- Pull Requests (PRs) ohne zugehöriges, vorab genehmigtes und zugewiesenes Issue können ohne vollständige Prüfung geschlossen werden. Das ist wichtig, damit Beiträge zu den Projektzielen passen und die Zeit aller respektiert wird.
So behalten wir den Überblick, stellen sicher, dass Änderungen gewünscht sind, und koordinieren die Arbeit effektiv.
### 3. Was soll ich machen?
- **Good First Issues**: Schau im Bereich "Issue [Unassigned]" auf unserem [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) GitHub-Projekt.
- **Dokumentation**: Während dieses `CONTRIBUTING.md` der Hauptleitfaden für Code-Beiträge ist, findest du weitere Doku (wie User-Guides oder API-Doku) im [Roo Code Docs Repository](https://github.com/RooVetGit/Roo-Code-Docs) oder frag in der Discord-Community nach.
- **Neue Features vorschlagen**:
1. **Erste Idee/Diskussion**: Für grobe oder neue Feature-Ideen starte eine Diskussion in [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Formaler Vorschlag**: Für konkrete, umsetzbare Feature-Vorschläge nutze die "Detailed Feature Proposal"-Vorlage auf unserer [Issues-Seite](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Das ist ein wichtiger Teil unseres **Issue-First-Ansatzes**.
### 4. Bugs oder Probleme melden
Wenn du einen Bug findest:
1. **Nach bestehenden Issues suchen**: Schau bei den [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) nach, ob es schon gemeldet wurde.
2. **Neues Issue erstellen**: Wenn nicht, nutze die "Bug Report"-Vorlage auf unserer [Issues-Seite](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Sicherheitslücken**: Wenn du eine Sicherheitslücke findest, melde sie bitte privat über [GitHubs Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Erstelle kein öffentliches Issue für Sicherheitslücken.
## III. Entwicklung & Einreichung
Folge diesen Schritten beim Coden und Einreichen deiner Arbeit.
### 1. Entwicklungs-Setup
1. **Fork & Clone**:
- Forke das Repository auf GitHub.
- Klone deinen Fork lokal: `git clone https://github.com/DEIN_USERNAME/Roo-Code.git`
2. **Abhängigkeiten installieren**: `npm run install:all`
3. **Webview (Dev Mode) starten**: `npm run dev` (für Vite/React-App mit HMR)
4. **Extension debuggen**: Drücke `F5` in VS Code (oder **Run****Start Debugging**), um ein neues Extension Development Host-Fenster mit Roo Code zu öffnen.
Webview-Änderungen (in `webview-ui`) erscheinen sofort dank Hot Module Replacement. Änderungen an der Core-Extension (in `src`) erfordern einen Neustart des Extension Development Host.
Alternativ kannst du ein `.vsix`-Paket bauen und installieren:
```sh
npm run build
```
Eine `.vsix`-Datei erscheint im `bin/`-Verzeichnis, die mit folgendem Befehl installiert werden kann:
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## Code schreiben und einreichen
(Ersetze `<version>` durch die tatsächliche Versionsnummer aus dem Build.)
Jeder kann Code zu Roo Code beitragen, aber wir bitten dich, diese Richtlinien zu befolgen, um sicherzustellen, dass deine Beiträge reibungslos integriert werden können:
### 2. Code-Richtlinien
1. **Halten Sie Pull Requests fokussiert**
- **Fokussierte PRs**: Ein Feature/Bugfix pro PR.
- **Code-Qualität**:
- CI-Checks bestehen (Linting, Formatierung)
- ESLint-Warnungen oder Fehler beheben (`npm run lint`)
- Auf Feedback von automatisierten Code-Review-Tools reagieren
- TypeScript Best Practices einhalten und Typensicherheit wahren
- **Tests**:
- Tests für neue Features hinzufügen
- `npm test` ausführen, damit alle Tests bestehen
- Bestehende Tests anpassen, falls nötig
- **Commit-Messages**:
- Klare, beschreibende Commit-Messages schreiben
- Relevante Issues mit `#issue-number` referenzieren (z.B. `Fixes #123`)
- **Vor dem PR-Absenden**:
- Branch auf den neuesten `main` vom Upstream rebasen
- Sicherstellen, dass der Code baut (`npm run build`)
- Alle Tests müssen bestehen (`npm test`)
- Debug-Code oder `console.log`-Statements entfernen
- Beschränke PRs auf eine einzelne Funktion oder Fehlerbehebung
- Teile größere Änderungen in kleinere, zusammenhängende PRs auf
- Unterteile Änderungen in logische Commits, die unabhängig überprüft werden können
### 3. Code einreichen: Pull Request (PR) Prozess
2. **Codequalität**
#### Entwurf-Pull-Requests
- Alle PRs müssen CI-Prüfungen bestehen, die sowohl Linting als auch Formatierung umfassen
- Behebe alle ESLint-Warnungen oder -Fehler vor dem Einreichen
- Reagiere auf alle Rückmeldungen von Ellipsis, unserem automatisierten Code-Review-Tool
- Folge TypeScript-Best-Practices und halte die Typsicherheit aufrecht
Nutze Entwurf-PRs für Arbeit, die noch nicht bereit für ein vollständiges Review ist, aber für die du:
3. **Testen**
- Automatisierte Checks (CI) laufen lassen willst
- Frühes Feedback von Maintainer:innen oder anderen Contributor:innen möchtest
- Zeigen willst, dass die Arbeit in Arbeit ist
- Füge Tests für neue Funktionen hinzu
- Führe `npm test` aus, um sicherzustellen, dass alle Tests bestanden werden
- Aktualisiere bestehende Tests, wenn deine Änderungen diese beeinflussen
- Schließe sowohl Unit-Tests als auch Integrationstests ein, wo angemessen
Markiere einen PR erst als "Ready for Review", wenn alle Checks bestehen und du glaubst, dass er die Kriterien aus "Code-Richtlinien" und "Pull Request Beschreibung" erfüllt.
4. **Commit-Richtlinien**
#### Pull Request Beschreibung
- Schreibe klare, beschreibende Commit-Nachrichten
- Verweise auf relevante Issues in Commits mit #issue-nummer
Deine PR-Beschreibung muss umfassend sein und der Struktur unserer [Pull Request Template](.github/pull_request_template.md) folgen. Wichtige Punkte:
5. **Vor dem Einreichen**
- Link zum genehmigten GitHub-Issue, das bearbeitet wird
- Klare Beschreibung der Änderungen und deren Zweck
- Detaillierte Testschritte
- Liste aller Breaking Changes
- **Für UI-Änderungen: Vorher-Nachher-Screenshots oder Videos**
- **Wichtig: Gib an, ob deine PR Änderungen an User-Doku erfordert und welche Dokumente betroffen sind**
- Rebase deinen Branch auf den neuesten main-Branch
- Stelle sicher, dass dein Branch erfolgreich baut
- Überprüfe erneut, dass alle Tests bestanden werden
- Prüfe deine Änderungen auf Debug-Code oder Konsolenausgaben
#### Pull Request (PR) Richtlinie
6. **Pull Request Beschreibung**
- Beschreibe klar, was deine Änderungen bewirken
- Füge Schritte zum Testen der Änderungen hinzu
- Liste alle Breaking Changes auf
- Füge Screenshots für UI-Änderungen hinzu
##### Ziel
## Beitragsvereinbarung
Einen sauberen, fokussierten und handhabbaren PR-Backlog erhalten.
Durch das Einreichen eines Pull Requests stimmst du zu, dass deine Beiträge unter derselben Lizenz wie das Projekt ([Apache 2.0](../LICENSE)) lizenziert werden.
##### Issue-First-Ansatz
- **Pflicht**: Vor Arbeitsbeginn muss ein genehmigtes und zugewiesenes GitHub-Issue existieren (entweder "Bug Report" oder "Detailed Feature Proposal").
- **Freigabe**: Issues, vor allem für größere Änderungen, müssen von Maintainer:innen (insbesondere @hannesrudolph) _vor_ dem Coden freigegeben werden.
- **Referenz**: PRs müssen diese Issues explizit in der Beschreibung referenzieren.
- **Folgen**: Wird das nicht beachtet, kann der PR ohne vollständige Prüfung geschlossen werden.
##### Bedingungen für offene PRs
- **Merge-bereit**: Besteht alle CI-Tests, passt zur Roadmap (falls relevant), ist mit einem genehmigten und zugewiesenen Issue verknüpft, hat klare Doku/Kommentare, enthält Vorher-Nachher-Bilder/Videos bei UI-Änderungen
- **Zu schließen**: CI-Fehler, große Merge-Konflikte, keine Übereinstimmung mit Projektzielen oder lange Inaktivität (>30 Tage ohne Updates nach Feedback)
##### Ablauf
1. **Issue-Qualifikation & Zuweisung**: @hannesrudolph (oder andere Maintainer:innen) prüfen neue und bestehende Issues auf Passung und weisen sie zu.
2. **Erste PR-Triage (täglich)**: Maintainer:innen machen einen schnellen Check neuer PRs auf Dringlichkeit oder kritische Themen.
3. **Gründliche PR-Review (wöchentlich)**: Maintainer:innen prüfen PRs auf Bereitschaft, Passung zum Issue und Qualität.
4. **Detailliertes Feedback & Iteration**: Nach dem Review gibt es Feedback (Approve, Request Changes, Reject). Contributor:innen sollen darauf reagieren und nachbessern.
5. **Entscheidung**: Genehmigte PRs werden gemerged. PRs mit unlösbaren Problemen oder ohne Passung werden mit Begründung geschlossen.
6. **Follow-up**: Autor:innen geschlossener PRs können nachbessern und neue PRs öffnen, wenn Probleme gelöst sind.
##### Verantwortlichkeiten
- **Issue-Qualifikation & Prozess (@hannesrudolph & Maintainer:innen)**: Sicherstellen, dass alle Beiträge dem Issue-First-Ansatz folgen. Contributor:innen anleiten.
- **Maintainer:innen (Dev Team)**: PRs prüfen, technisches Feedback geben, Entscheidungen treffen, PRs mergen.
- **Contributor:innen**: PRs mit genehmigtem und zugewiesenem Issue verknüpfen, Qualitätsrichtlinien einhalten, Feedback zügig umsetzen.
Diese Policy sorgt für Klarheit und effiziente Integration.
## IV. Rechtliches
### Beitragsvereinbarung
Mit dem Einreichen eines Pull Requests erklärst du dich damit einverstanden, dass deine Beiträge unter der [Apache 2.0 Lizenz](LICENSE) (oder der aktuellen Projektlizenz) stehen genau wie das Projekt selbst.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • <b>Español</b> • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Código de Conducta del Pacto de Colaboradores
## Nuestro Compromiso

View file

@ -1,84 +1,107 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • <b>Español</b> • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Contribuir a Roo Code
Estamos encantados de que estés interesado en contribuir a Roo Code. Ya sea que estés arreglando un error, añadiendo una función o mejorando nuestra documentación, ¡cada contribución hace que Roo Code sea más inteligente! Para mantener nuestra comunidad vibrante y acogedora, todos los miembros deben adherirse a nuestro [Código de Conducta](CODE_OF_CONDUCT.md).
Roo Code es un proyecto impulsado por la comunidad y valoramos mucho cada contribución. Para que todo funcione sin problemas, **trabajamos con un enfoque de "[Issue-First](#2-principio-clave-enfoque-issue-first)".** Esto significa que todo el trabajo debe estar vinculado a un Issue de GitHub _antes_ de enviar un Pull Request (consulta nuestra [Política de PR](#política-de-pull-request-pr) para más detalles). Lee esta guía con atención para entender cómo puedes contribuir.
Esta guía explica cómo contribuir a Roo Code, ya sea corrigiendo errores, agregando funciones o mejorando la documentación.
## Únete a nuestra comunidad
## Tabla de Contenidos
¡Animamos encarecidamente a todos los colaboradores a unirse a nuestra [comunidad de Discord](https://discord.gg/roocode)! Formar parte de nuestro servidor de Discord te ayuda a:
- [I. Antes de Contribuir](#i-antes-de-contribuir)
- [1. Código de Conducta](#1-código-de-conducta)
- [2. Entender la Hoja de Ruta del Proyecto](#2-entender-la-hoja-de-ruta-del-proyecto)
- [Soporte de Proveedores](#soporte-de-proveedores)
- [Soporte de Modelos](#soporte-de-modelos)
- [Soporte de Sistemas](#soporte-de-sistemas)
- [Documentación](#documentación)
- [Estabilidad](#estabilidad)
- [Internacionalización](#internacionalización)
- [3. Únete a la Comunidad Roo Code](#3-únete-a-la-comunidad-roo-code)
- [II. Encontrar y Planificar tu Contribución](#ii-encontrar-y-planificar-tu-contribución)
- [1. Tipos de Contribuciones](#1-tipos-de-contribuciones)
- [2. Principio Clave: Enfoque Issue-First](#2-principio-clave-enfoque-issue-first)
- [3. Decidir en Qué Trabajar](#3-decidir-en-qué-trabajar)
- [4. Reportar Errores o Problemas](#4-reportar-errores-o-problemas)
- [III. Proceso de Desarrollo y Envío](#iii-proceso-de-desarrollo-y-envío)
- [1. Configuración de Desarrollo](#1-configuración-de-desarrollo)
- [2. Guía para Escribir Código](#2-guía-para-escribir-código)
- [3. Enviar Código: Proceso de Pull Request (PR)](#3-enviar-código-proceso-de-pull-request-pr)
- [Pull Requests en Borrador](#pull-requests-en-borrador)
- [Descripción del Pull Request](#descripción-del-pull-request)
- [Política de Pull Request (PR)](#política-de-pull-request-pr)
- [Objetivo](#objetivo)
- [Enfoque Issue-First](#enfoque-issue-first)
- [Condiciones para PRs Abiertos](#condiciones-para-prs-abiertos)
- [Procedimiento](#procedimiento)
- [Responsabilidades](#responsabilidades)
- [IV. Legal](#iv-legal)
- [Acuerdo de Contribución](#acuerdo-de-contribución)
- Obtener ayuda y orientación en tiempo real para tus contribuciones
- Conectar con otros colaboradores y miembros del equipo principal
- Mantenerte actualizado sobre los desarrollos y prioridades del proyecto
- Participar en discusiones que dan forma al futuro de Roo Code
- Encontrar oportunidades de colaboración con otros desarrolladores
## I. Antes de Contribuir
## Reportar errores o problemas
Primero, familiarízate con nuestros estándares comunitarios y la dirección del proyecto.
¡Los informes de errores ayudan a mejorar Roo Code para todos! Antes de crear un nuevo issue, por favor [busca entre los existentes](https://github.com/RooVetGit/Roo-Code/issues) para evitar duplicados. Cuando estés listo para reportar un error, dirígete a nuestra [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose) donde encontrarás una plantilla para ayudarte a completar la información relevante.
### 1. Código de Conducta
<blockquote class='warning-note'>
🔐 <b>Importante:</b> Si descubres una vulnerabilidad de seguridad, por favor utiliza la <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">herramienta de seguridad de GitHub para reportarla de forma privada</a>.
</blockquote>
Todos los colaboradores deben cumplir con nuestro [Código de Conducta](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Por favor, léelo antes de contribuir.
## Decidir en qué trabajar
### 2. Entender la Hoja de Ruta del Proyecto
¿Buscas una buena primera contribución? Revisa los issues en la sección "Issue [Unassigned]" de nuestro [Proyecto GitHub de Roo Code](https://github.com/orgs/RooVetGit/projects/1). ¡Estos están específicamente seleccionados para nuevos colaboradores y áreas donde nos encantaría recibir ayuda!
¡También damos la bienvenida a contribuciones a nuestra [documentación](https://docs.roocode.com/)! Ya sea arreglando errores tipográficos, mejorando guías existentes o creando nuevo contenido educativo - nos encantaría construir un repositorio de recursos impulsado por la comunidad que ayude a todos a sacar el máximo provecho de Roo Code. Puedes hacer clic en "Edit this page" en cualquier página para llegar rápidamente al lugar correcto en Github para editar el archivo, o puedes ir directamente a https://github.com/RooVetGit/Roo-Code-Docs.
Si estás planeando trabajar en una función más grande, por favor crea una [solicitud de función](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) primero para que podamos discutir si se alinea con la visión de Roo Code. También puedes consultar nuestra [Hoja de Ruta del Proyecto](#hoja-de-ruta-del-proyecto) a continuación para ver si tu idea encaja con nuestra dirección estratégica.
## Hoja de Ruta del Proyecto
Roo Code tiene una hoja de ruta de desarrollo clara que guía nuestras prioridades y dirección futura. Entender nuestra hoja de ruta puede ayudarte a:
Roo Code tiene una hoja de ruta clara que guía nuestras prioridades y dirección futura. Entenderla te ayuda a:
- Alinear tus contribuciones con los objetivos del proyecto
- Identificar áreas donde tu experiencia sería más valiosa
- Entender el contexto detrás de ciertas decisiones de diseño
- Encontrar inspiración para nuevas funciones que apoyen nuestra visión
- Identificar áreas donde tu experiencia es más valiosa
- Comprender el contexto detrás de ciertas decisiones de diseño
- Inspirarte para nuevas funciones que apoyen nuestra visión
Nuestra hoja de ruta actual se centra en seis pilares clave:
### Soporte de Proveedores
#### Soporte de Proveedores
Nuestro objetivo es dar soporte a tantos proveedores como sea posible:
Queremos soportar la mayor cantidad de proveedores posible:
- Soporte más versátil para "OpenAI Compatible"
- Más soporte "Compatible con OpenAI"
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Soporte mejorado para Ollama y LM Studio
- Mejor soporte para Ollama y LM Studio
### Soporte de Modelos
#### Soporte de Modelos
Queremos que Roo funcione bien con tantos modelos como sea posible, incluidos los modelos locales:
Queremos que Roo funcione con la mayor cantidad de modelos posible, incluidos modelos locales:
- Soporte para modelos locales a través de system prompting personalizado y flujos de trabajo
- Evaluaciones de benchmarking y casos de prueba
- Soporte de modelos locales mediante prompts y flujos de trabajo personalizados
- Evaluaciones y casos de prueba de benchmarking
### Soporte de Sistemas
#### Soporte de Sistemas
Queremos que Roo funcione bien en el ordenador de todos:
Queremos que Roo funcione bien en cualquier ordenador:
- Integración de terminal multiplataforma
- Soporte sólido y consistente para Mac, Windows y Linux
- Soporte fuerte y consistente para Mac, Windows y Linux
### Documentación
#### Documentación
Queremos una documentación completa y accesible para todos los usuarios y colaboradores:
Queremos documentación completa y accesible para todos los usuarios y colaboradores:
- Guías de usuario y tutoriales ampliados
- Guías y tutoriales ampliados
- Documentación clara de la API
- Mejor orientación para colaboradores
- Recursos de documentación multilingües
- Ejemplos interactivos y muestras de código
- Recursos de documentación multilingüe
- Ejemplos interactivos y fragmentos de código
### Estabilidad
#### Estabilidad
Queremos disminuir significativamente el número de errores y aumentar las pruebas automatizadas:
Queremos reducir significativamente los errores y aumentar las pruebas automatizadas:
- Interruptor de registro de depuración
- Botón de copia de "Información de Máquina/Tarea" para enviar con solicitudes de soporte/errores
- Botón para copiar "Información de máquina/tarea" para solicitudes de soporte o errores
### Internacionalización
#### Internacionalización
Queremos que Roo hable el idioma de todos:
@ -87,87 +110,170 @@ Queremos que Roo hable el idioma de todos:
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Damos especialmente la bienvenida a contribuciones que avancen nuestros objetivos de la hoja de ruta. Si estás trabajando en algo que se alinea con estos pilares, por favor menciónalo en la descripción de tu PR.
Agradecemos especialmente las contribuciones que avancen los objetivos de nuestra hoja de ruta. Si trabajas en algo alineado con estos pilares, menciónalo en la descripción de tu PR.
## Configuración de desarrollo
### 3. Únete a la Comunidad Roo Code
1. **Clona** el repositorio:
Conectarte con la comunidad Roo Code es una excelente manera de empezar:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Método principal**:
1. Únete a la [comunidad Roo Code en Discord](https://discord.gg/roocode).
2. Una vez dentro, envía un mensaje directo (DM) a **Hannes Rudolph** (Discord: `hrudolph`) para comentar tu interés y recibir orientación.
- **Alternativa para colaboradores experimentados**: Si te sientes cómodo con el enfoque issue-first, puedes participar directamente en GitHub siguiendo el [tablero Kanban](https://github.com/orgs/RooVetGit/projects/1) y comunicándote mediante issues y pull requests.
2. **Instala dependencias**:
## II. Encontrar y Planificar tu Contribución
```sh
npm run install:all
```
Identifica en qué te gustaría trabajar y cómo abordarlo.
3. **Inicia la vista web (aplicación Vite/React con HMR)**:
### 1. Tipos de Contribuciones
```sh
npm run dev
```
Aceptamos varios tipos de contribuciones:
4. **Depuración**:
Presiona `F5` (o **Ejecutar****Iniciar depuración**) en VSCode para abrir una nueva sesión con Roo Code cargado.
- **Corrección de errores**: Solucionar problemas en el código existente.
- **Nuevas funciones**: Añadir nuevas funcionalidades.
- **Documentación**: Mejorar guías, ejemplos o corregir errores tipográficos.
Los cambios en la vista web aparecerán inmediatamente. Los cambios en la extensión principal requerirán un reinicio del host de extensión.
### 2. Principio Clave: Enfoque Issue-First
Alternativamente, puedes construir un archivo .vsix e instalarlo directamente en VSCode:
**Todas las contribuciones deben comenzar con un Issue de GitHub.** Este paso es fundamental para asegurar la alineación y evitar esfuerzos innecesarios.
- **Buscar o crear un Issue**:
- Antes de empezar, busca en [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) si ya existe un issue para tu contribución.
- Si existe y no está asignado, comenta en el issue para expresar tu interés. Un mantenedor te lo asignará.
- Si no existe, crea uno nuevo usando la plantilla adecuada en nuestra [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Para errores, usa la plantilla "Bug Report".
- Para nuevas funciones, usa la plantilla "Detailed Feature Proposal". Espera la aprobación de un mantenedor (especialmente @hannesrudolph) antes de empezar a implementar.
- **Nota**: Las ideas generales o discusiones preliminares sobre funciones pueden comenzar en [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Cuando la idea sea más concreta, se debe crear un issue de "Detailed Feature Proposal".
- **Reclamar y asignar**:
- Indica claramente tu intención de trabajar en un issue comentando en él.
- Espera a que un mantenedor te lo asigne oficialmente en GitHub. Así evitamos que varias personas trabajen en lo mismo.
- **Consecuencias de no seguirlo**:
- Los Pull Requests (PRs) enviados sin un issue correspondiente, preaprobado y asignado pueden cerrarse sin revisión completa. Esta política existe para asegurar que las contribuciones estén alineadas con las prioridades del proyecto y para respetar el tiempo de todos.
Este enfoque nos ayuda a rastrear el trabajo, asegurar que los cambios sean deseados y coordinar los esfuerzos de manera efectiva.
### 3. Decidir en Qué Trabajar
- **Good First Issues**: Consulta la sección "Issue [Unassigned]" de nuestro [Proyecto Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) en GitHub.
- **Documentación**: Aunque este `CONTRIBUTING.md` es la guía principal para contribuciones de código, si te interesa contribuir a otra documentación (como guías de usuario o API), revisa el [repositorio Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) o pregunta en la comunidad de Discord.
- **Proponer nuevas funciones**:
1. **Idea inicial/discusión**: Para ideas generales o iniciales, inicia una conversación en [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Propuesta formal**: Para propuestas específicas y listas para consideración, crea un issue de "Detailed Feature Proposal" usando la plantilla en nuestra [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Esto es clave en nuestro **enfoque Issue-First**.
### 4. Reportar Errores o Problemas
Si encuentras un error:
1. **Buscar issues existentes**: Revisa [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) para ver si ya está reportado.
2. **Crear un nuevo issue**: Si es único, usa la plantilla "Bug Report" en nuestra [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Vulnerabilidades de seguridad**: Si descubres una vulnerabilidad de seguridad, repórtala de forma privada usando la [herramienta de avisos de seguridad de GitHub](https://github.com/RooVetGit/Roo-Code/security/advisories/new). No crees un issue público para vulnerabilidades de seguridad.
## III. Proceso de Desarrollo y Envío
Sigue estos pasos para programar y enviar tu trabajo.
### 1. Configuración de Desarrollo
1. **Fork & Clona**:
- Haz un fork del repositorio en GitHub.
- Clona tu fork localmente: `git clone https://github.com/TU_USUARIO/Roo-Code.git`
2. **Instala dependencias**: `npm run install:all`
3. **Ejecuta Webview (modo dev)**: `npm run dev` (para la app Vite/React con HMR)
4. **Depura la extensión**: Pulsa `F5` en VS Code (o **Run****Start Debugging**) para abrir una nueva ventana Extension Development Host con Roo Code cargado.
Los cambios en webview (`webview-ui`) aparecerán inmediatamente gracias a Hot Module Replacement. Los cambios en la extensión principal (`src`) requerirán reiniciar el Extension Development Host.
Alternativamente, para construir e instalar un paquete `.vsix`:
```sh
npm run build
```
Un archivo `.vsix` aparecerá en el directorio `bin/` que puede ser instalado con:
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## Escribir y enviar código
(Reemplaza `<version>` por el número de versión real del archivo generado).
Cualquiera puede contribuir con código a Roo Code, pero te pedimos que sigas estas pautas para asegurar que tus contribuciones puedan integrarse sin problemas:
### 2. Guía para Escribir Código
1. **Mantén los Pull Requests enfocados**
- **PRs enfocados**: Un feature/fix por PR.
- **Calidad de código**:
- Pasar los checks de CI (lint, formato)
- Corregir advertencias o errores de ESLint (`npm run lint`)
- Responder a feedback de herramientas automáticas de revisión de código
- Seguir buenas prácticas de TypeScript y mantener la seguridad de tipos
- **Pruebas**:
- Añadir tests para nuevas funciones
- Ejecutar `npm test` para asegurar que todo pasa
- Actualizar tests existentes si tu cambio los afecta
- **Mensajes de commit**:
- Escribir mensajes claros y descriptivos
- Referenciar issues relevantes usando `#número-issue` (ej: `Fixes #123`)
- **Checklist antes de enviar PR**:
- Rebasear tu rama sobre el último `main` del upstream
- Asegurarte de que el código compila (`npm run build`)
- Verificar que todos los tests pasan (`npm test`)
- Eliminar cualquier código de depuración o `console.log`
- Limita los PRs a una sola función o corrección de errores
- Divide los cambios más grandes en PRs más pequeños y relacionados
- Separa los cambios en commits lógicos que puedan revisarse independientemente
### 3. Enviar Código: Proceso de Pull Request (PR)
2. **Calidad del código**
#### Pull Requests en Borrador
- Todos los PRs deben pasar las comprobaciones de CI que incluyen tanto linting como formateo
- Soluciona cualquier advertencia o error de ESLint antes de enviar
- Responde a todos los comentarios de Ellipsis, nuestra herramienta automatizada de revisión de código
- Sigue las mejores prácticas de TypeScript y mantén la seguridad de tipos
Usa PRs en borrador para trabajo que aún no está listo para revisión completa pero para el que quieres:
3. **Pruebas**
- Ejecutar checks automáticos (CI)
- Recibir feedback temprano de mantenedores u otros colaboradores
- Señalar que el trabajo está en progreso
- Añade pruebas para nuevas funciones
- Ejecuta `npm test` para asegurar que todas las pruebas pasen
- Actualiza las pruebas existentes si tus cambios les afectan
- Incluye tanto pruebas unitarias como de integración cuando sea apropiado
Marca un PR como "Listo para revisión" solo cuando todos los checks pasen y creas que cumple con los criterios de "Guía para Escribir Código" y "Descripción del Pull Request".
4. **Directrices para commits**
#### Descripción del Pull Request
- Escribe mensajes de commit claros y descriptivos
- Haz referencia a los issues relevantes en los commits usando #número-de-issue
La descripción de tu PR debe ser completa y seguir la estructura de nuestra [Plantilla de Pull Request](.github/pull_request_template.md). Elementos clave:
5. **Antes de enviar**
- Un enlace al Issue de GitHub aprobado que aborda
- Descripción clara de los cambios realizados y su propósito
- Pasos detallados para probar los cambios
- Lista de cualquier cambio importante (breaking changes)
- **Para cambios de UI, proporciona capturas de pantalla o videos del antes y después**
- **Indica si tu PR requiere actualizar documentación de usuario y cuáles documentos o secciones se ven afectados**
- Haz rebase de tu rama sobre la última main
- Asegúrate de que tu rama se construye correctamente
- Comprueba que todas las pruebas están pasando
- Revisa tus cambios para detectar código de depuración o logs de consola
#### Política de Pull Request (PR)
6. **Descripción del Pull Request**
- Describe claramente lo que hacen tus cambios
- Incluye pasos para probar los cambios
- Enumera cualquier cambio que rompa la compatibilidad
- Añade capturas de pantalla para cambios en la interfaz de usuario
##### Objetivo
## Acuerdo de contribución
Mantener un backlog de PRs limpio, enfocado y manejable.
Al enviar un pull request, aceptas que tus contribuciones serán licenciadas bajo la misma licencia que el proyecto ([Apache 2.0](../LICENSE)).
##### Enfoque Issue-First
- **Requerido**: Antes de empezar, debe existir un Issue de GitHub aprobado y asignado (ya sea "Bug Report" o "Detailed Feature Proposal").
- **Aprobación**: Los Issues, especialmente los de cambios importantes, deben ser revisados y aprobados por los mantenedores (especialmente @hannesrudolph) _antes_ de comenzar a programar.
- **Referencia**: Los PRs deben referenciar explícitamente estos Issues preaprobados en su descripción.
- **Consecuencias**: No seguir este proceso puede resultar en el cierre del PR sin revisión completa.
##### Condiciones para PRs Abiertos
- **Listo para merge**: Pasa todos los tests de CI, se alinea con la hoja de ruta del proyecto (si aplica), está vinculado a un Issue aprobado y asignado, tiene documentación/comentarios claros, incluye imágenes o videos de antes y después para cambios de UI
- **Para cerrar**: Falla en tests de CI, conflictos de merge importantes, desalineación con los objetivos del proyecto o inactividad prolongada (>30 días sin actualizaciones tras feedback)
##### Procedimiento
1. **Calificación y asignación de Issues**: @hannesrudolph (u otros mantenedores) revisan y asignan Issues nuevos y existentes.
2. **Triage inicial de PRs (diario)**: Los mantenedores hacen una revisión rápida de los PRs entrantes para filtrar urgencias o problemas críticos.
3. **Revisión exhaustiva de PRs (semanal)**: Los mantenedores revisan a fondo los PRs para evaluar preparación, alineación con el Issue aprobado y calidad general.
4. **Feedback detallado e iteración**: Según la revisión, los mantenedores dan feedback (Aprobar, Solicitar cambios o Rechazar). Se espera que los colaboradores respondan y mejoren según sea necesario.
5. **Etapa de decisión**: Los PRs aprobados se fusionan. Los PRs con problemas irresolubles o desalineados pueden cerrarse con una explicación clara.
6. **Seguimiento**: Los autores de PRs cerrados pueden abordar el feedback y abrir nuevos si se resuelven los problemas o cambia la dirección del proyecto.
##### Responsabilidades
- **Calificación de Issues y cumplimiento del proceso (@hannesrudolph & mantenedores)**: Asegurar que todas las contribuciones sigan el enfoque Issue-First. Guiar a los colaboradores en el proceso.
- **Mantenedores (equipo de desarrollo)**: Revisar PRs, dar feedback técnico, tomar decisiones de aprobación/rechazo y fusionar PRs.
- **Colaboradores**: Asegurar que los PRs estén vinculados a un Issue aprobado y asignado, cumplan con las guías de calidad y respondan rápidamente al feedback.
Esta política asegura claridad e integración eficiente.
## IV. Legal
### Acuerdo de Contribución
Al enviar un pull request, aceptas que tus contribuciones se licenciarán bajo la [Licencia Apache 2.0](LICENSE) (o la licencia actual del proyecto), igual que el proyecto.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • <b>Français</b> • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Code de Conduite des Contributeurs
## Notre Engagement

View file

@ -1,173 +1,279 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • <b>Français</b> • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Contribuer à Roo Code
Nous sommes ravis que vous soyez intéressé à contribuer à Roo Code. Que vous corrigiez un bug, ajoutiez une fonctionnalité ou amélioriez notre documentation, chaque contribution rend Roo Code plus intelligent ! Pour maintenir notre communauté dynamique et accueillante, tous les membres doivent adhérer à notre [Code de Conduite](CODE_OF_CONDUCT.md).
Roo Code est un projet porté par la communauté et chaque contribution compte beaucoup pour nous. Pour garantir un processus fluide et efficace, **nous fonctionnons selon le principe "[Issue-First](#2-principe-clé-approche-issue-first)".** Cela signifie que tout travail doit être lié à un ticket GitHub _avant_ de soumettre une Pull Request (voir notre [Politique PR](#politique-de-pull-request-pr) pour plus de détails). Lis attentivement ce guide pour comprendre comment contribuer.
Ce guide explique comment contribuer à Roo Code, que ce soit pour corriger des bugs, ajouter des fonctionnalités ou améliorer la documentation.
## Rejoindre Notre Communauté
## Table des matières
Nous encourageons fortement tous les contributeurs à rejoindre notre [communauté Discord](https://discord.gg/roocode) ! Faire partie de notre serveur Discord vous aide à :
- [I. Avant de contribuer](#i-avant-de-contribuer)
- [1. Code de conduite](#1-code-de-conduite)
- [2. Comprendre la feuille de route du projet](#2-comprendre-la-feuille-de-route-du-projet)
- [Support des fournisseurs](#support-des-fournisseurs)
- [Support des modèles](#support-des-modèles)
- [Support des systèmes](#support-des-systèmes)
- [Documentation](#documentation)
- [Stabilité](#stabilité)
- [Internationalisation](#internationalisation)
- [3. Rejoindre la communauté Roo Code](#3-rejoindre-la-communauté-roo-code)
- [II. Trouver et planifier ta contribution](#ii-trouver-et-planifier-ta-contribution)
- [1. Types de contributions](#1-types-de-contributions)
- [2. Principe clé : Approche Issue-First](#2-principe-clé--approche-issue-first)
- [3. Décider sur quoi travailler](#3-décider-sur-quoi-travailler)
- [4. Signaler des bugs ou des problèmes](#4-signaler-des-bugs-ou-des-problèmes)
- [III. Processus de développement et de soumission](#iii-processus-de-développement-et-de-soumission)
- [1. Configuration du développement](#1-configuration-du-développement)
- [2. Guide décriture du code](#2-guide-décriture-du-code)
- [3. Soumettre du code : Processus de Pull Request (PR)](#3-soumettre-du-code--processus-de-pull-request-pr)
- [Pull Requests en brouillon](#pull-requests-en-brouillon)
- [Description de la Pull Request](#description-de-la-pull-request)
- [Politique de Pull Request (PR)](#politique-de-pull-request-pr)
- [Objectif](#objectif)
- [Approche Issue-First](#approche-issue-first)
- [Conditions pour les PR ouvertes](#conditions-pour-les-pr-ouvertes)
- [Procédure](#procédure)
- [Responsabilités](#responsabilités)
- [IV. Légal](#iv-légal)
- [Accord de contribution](#accord-de-contribution)
- Obtenir de l'aide et des conseils en temps réel sur vos contributions
- Vous connecter avec d'autres contributeurs et membres de l'équipe principale
- Rester informé des développements et priorités du projet
- Participer aux discussions qui façonnent l'avenir de Roo Code
- Trouver des opportunités de collaboration avec d'autres développeurs
## I. Avant de contribuer
## Signaler des Bugs ou des Problèmes
Commence par te familiariser avec nos standards communautaires et la direction du projet.
Les rapports de bugs aident à améliorer Roo Code pour tout le monde ! Avant de créer un nouveau problème, veuillez [rechercher parmi les existants](https://github.com/RooVetGit/Roo-Code/issues) pour éviter les doublons. Lorsque vous êtes prêt à signaler un bug, rendez-vous sur notre [page d'issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose) où vous trouverez un modèle pour vous aider à remplir les informations pertinentes.
### 1. Code de conduite
<blockquote class='warning-note'>
🔐 <b>Important :</b> Si vous découvrez une vulnérabilité de sécurité, veuillez utiliser <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">l'outil de sécurité Github pour la signaler en privé</a>.
</blockquote>
Tous les contributeurs doivent respecter notre [Code de conduite](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Merci de le lire avant de contribuer.
## Décider Sur Quoi Travailler
### 2. Comprendre la feuille de route du projet
Vous cherchez une bonne première contribution ? Consultez les issues dans la section "Issue [Unassigned]" de notre [Projet Github Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1). Celles-ci sont spécifiquement sélectionnées pour les nouveaux contributeurs et les domaines où nous aimerions recevoir de l'aide !
Roo Code a une feuille de route claire qui guide nos priorités et notre direction future. La comprendre taide à :
Nous accueillons également les contributions à notre [documentation](https://docs.roocode.com/) ! Qu'il s'agisse de corriger des fautes de frappe, d'améliorer les guides existants ou de créer du nouveau contenu éducatif - nous aimerions construire un référentiel de ressources guidé par la communauté qui aide chacun à tirer le meilleur parti de Roo Code. Vous pouvez cliquer sur "Edit this page" sur n'importe quelle page pour accéder rapidement au bon endroit dans Github pour éditer le fichier, ou vous pouvez plonger directement dans https://github.com/RooVetGit/Roo-Code-Docs.
- Aligner tes contributions avec les objectifs du projet
- Identifier les domaines où tes compétences sont les plus utiles
- Comprendre le contexte de certaines décisions de conception
- Trouver linspiration pour de nouvelles fonctionnalités qui soutiennent notre vision
Si vous prévoyez de travailler sur une fonctionnalité plus importante, veuillez d'abord créer une [demande de fonctionnalité](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) afin que nous puissions discuter si elle s'aligne avec la vision de Roo Code. Vous pouvez également consulter notre [Feuille de route du projet](#feuille-de-route-du-projet) ci-dessous pour voir si votre idée s'inscrit dans notre orientation stratégique.
Notre feuille de route actuelle se concentre sur six piliers principaux :
## Feuille de route du projet
#### Support des fournisseurs
Roo Code dispose d'une feuille de route de développement claire qui guide nos priorités et notre orientation future. Comprendre notre feuille de route peut vous aider à :
Nous voulons prendre en charge autant de fournisseurs que possible :
- Aligner vos contributions avec les objectifs du projet
- Identifier les domaines où votre expertise serait la plus précieuse
- Comprendre le contexte derrière certaines décisions de conception
- Trouver de l'inspiration pour de nouvelles fonctionnalités qui soutiennent notre vision
Notre feuille de route actuelle se concentre sur six piliers clés :
### Support des fournisseurs
Nous visons à prendre en charge autant de fournisseurs que possible :
- Support plus polyvalent pour "OpenAI Compatible"
- Plus de support "Compatible OpenAI"
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Support amélioré pour Ollama et LM Studio
- Meilleur support pour Ollama et LM Studio
### Support des modèles
#### Support des modèles
Nous voulons que Roo fonctionne aussi bien que possible avec autant de modèles que possible, y compris les modèles locaux :
Nous voulons que Roo fonctionne avec le plus de modèles possible, y compris les modèles locaux :
- Support des modèles locaux via des prompts système personnalisés et des flux de travail
- Évaluations de benchmarking et cas de test
- Support des modèles locaux via des prompts système personnalisés et des workflows
- Benchmarks, évaluations et cas de test
### Support des systèmes
#### Support des systèmes
Nous voulons que Roo fonctionne bien sur l'ordinateur de chacun :
Nous voulons que Roo fonctionne bien sur tous les ordinateurs :
- Intégration de terminal multiplateforme
- Support solide et cohérent pour Mac, Windows et Linux
- Intégration du terminal multiplateforme
- Support fort et cohérent pour Mac, Windows et Linux
### Documentation
#### Documentation
Nous voulons une documentation complète et accessible pour tous les utilisateurs et contributeurs :
- Guides utilisateur et tutoriels étendus
- Guides et tutoriels étendus
- Documentation API claire
- Meilleure orientation pour les contributeurs
- Meilleur accompagnement des contributeurs
- Ressources de documentation multilingues
- Exemples interactifs et échantillons de code
- Exemples interactifs et extraits de code
### Stabilité
#### Stabilité
Nous voulons réduire considérablement le nombre de bugs et augmenter les tests automatisés :
Nous voulons réduire significativement les bugs et augmenter les tests automatisés :
- Interrupteur de journalisation de débogage
- Bouton de copie "Informations machine/tâche" pour l'envoi avec les demandes de support/bug
- Interrupteur de logs de debug
- Bouton "Informations machine/tâche" à copier pour les demandes de support ou de bug
### Internationalisation
#### Internationalisation
Nous voulons que Roo parle la langue de tous :
Nous voulons que Roo parle la langue de tout le monde :
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Nous accueillons particulièrement les contributions qui font progresser nos objectifs de feuille de route. Si vous travaillez sur quelque chose qui s'aligne avec ces piliers, veuillez le mentionner dans la description de votre PR.
Nous accueillons particulièrement les contributions qui font avancer les objectifs de notre feuille de route. Si tu travailles sur quelque chose qui saligne avec ces piliers, mentionne-le dans la description de ta PR.
## Configuration de Développement
### 3. Rejoindre la communauté Roo Code
1. **Clonez** le dépôt :
Se connecter à la communauté Roo Code est un excellent moyen de commencer :
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Méthode principale** :
1. Rejoins la [communauté Roo Code sur Discord](https://discord.gg/roocode).
2. Une fois inscrit, envoie un message privé (DM) à **Hannes Rudolph** (Discord : `hrudolph`) pour discuter de ton intérêt et obtenir des conseils.
- **Alternative pour les contributeurs expérimentés** : Si tu es à laise avec lapproche issue-first, tu peux participer directement sur GitHub en suivant le [tableau Kanban](https://github.com/orgs/RooVetGit/projects/1) et en communiquant via issues et pull requests.
2. **Installez les dépendances** :
## II. Trouver et planifier ta contribution
```sh
npm run install:all
```
Identifie ce sur quoi tu veux travailler et comment ty prendre.
3. **Démarrez la vue web (application Vite/React avec HMR)** :
### 1. Types de contributions
```sh
npm run dev
```
Nous acceptons différents types de contributions :
4. **Débogage** :
Appuyez sur `F5` (ou **Exécuter****Démarrer le débogage**) dans VSCode pour ouvrir une nouvelle session avec Roo Code chargé.
- **Corrections de bugs** : Résoudre des problèmes dans le code existant.
- **Nouvelles fonctionnalités** : Ajouter de nouvelles fonctions.
- **Documentation** : Améliorer les guides, exemples ou corriger des fautes de frappe.
Les modifications apportées à la vue web apparaîtront immédiatement. Les modifications apportées à l'extension principale nécessiteront un redémarrage de l'hôte d'extension.
### 2. Principe clé : Approche Issue-First
Vous pouvez également créer un fichier .vsix et l'installer directement dans VSCode :
**Toutes les contributions doivent commencer par un ticket GitHub.** Cest essentiel pour garantir lalignement et éviter les efforts inutiles.
- **Trouver ou créer un ticket** :
- Avant de commencer, cherche dans les [Issues GitHub](https://github.com/RooVetGit/Roo-Code/issues) si un ticket existe déjà pour ta contribution.
- Sil existe et nest pas assigné, commente pour exprimer ton intérêt. Un mainteneur te lassignera.
- Sil nexiste pas, crée-en un nouveau avec le bon modèle sur notre [page dissues](https://github.com/RooVetGit/Roo-Code/issues/new/choose) :
- Pour les bugs, utilise le modèle "Bug Report".
- Pour les nouvelles fonctionnalités, utilise le modèle "Detailed Feature Proposal". Attends lapprobation dun mainteneur (surtout @hannesrudolph) avant de commencer à coder.
- **Note** : Les idées générales ou discussions préliminaires peuvent commencer dans [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Une fois lidée plus concrète, crée un ticket "Detailed Feature Proposal".
- **Réclamer et assigner** :
- Indique clairement ton intention de travailler sur un ticket en commentant dessus.
- Attends quun mainteneur te lassigne officiellement sur GitHub. Cela évite que plusieurs personnes travaillent sur la même chose.
- **Conséquences si tu ne respectes pas** :
- Les Pull Requests (PR) soumises sans ticket correspondant, pré-approuvé et assigné peuvent être fermées sans examen complet. Cette politique vise à garantir lalignement des contributions avec les priorités du projet et à respecter le temps de chacun.
Cette approche nous aide à suivre le travail, à garantir que les changements sont souhaités et à coordonner efficacement les efforts.
### 3. Décider sur quoi travailler
- **Good First Issues** : Consulte la section "Issue [Unassigned]" de notre [projet Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) sur GitHub.
- **Documentation** : Bien que ce `CONTRIBUTING.md` soit le guide principal pour les contributions de code, si tu veux contribuer à dautres docs (guides utilisateurs ou API), consulte le [repo Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) ou demande sur Discord.
- **Proposer de nouvelles fonctionnalités** :
1. **Idée/discussion initiale** : Pour des idées larges ou nouvelles, commence une discussion dans [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Proposition formelle** : Pour des propositions spécifiques et prêtes à être examinées, crée un ticket "Detailed Feature Proposal" avec le modèle sur notre [page dissues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Cest une étape clé de notre **approche Issue-First**.
### 4. Signaler des bugs ou des problèmes
Si tu trouves un bug :
1. **Cherche des tickets existants** : Consulte les [Issues GitHub](https://github.com/RooVetGit/Roo-Code/issues) pour voir si le problème a déjà été signalé.
2. **Crée un nouveau ticket** : Si cest unique, utilise le modèle "Bug Report" sur notre [page dissues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Vulnérabilités de sécurité** : Si tu découvres une faille de sécurité, signale-la en privé via l[outil davis de sécurité GitHub](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Ne crée pas de ticket public pour les failles de sécurité.
## III. Processus de développement et de soumission
Suis ces étapes pour coder et soumettre ton travail.
### 1. Configuration du développement
1. **Fork & Clone** :
- Forke le repo sur GitHub.
- Clone ton fork localement : `git clone https://github.com/TON_UTILISATEUR/Roo-Code.git`
2. **Installe les dépendances** : `npm run install:all`
3. **Lance le Webview (mode dev)** : `npm run dev` (pour lapp Vite/React avec HMR)
4. **Débugge lextension** : Appuie sur `F5` dans VS Code (ou **Run****Start Debugging**) pour ouvrir une nouvelle fenêtre Extension Development Host avec Roo Code chargé.
Les changements dans le webview (`webview-ui`) apparaîtront immédiatement grâce au Hot Module Replacement. Les changements dans lextension principale (`src`) nécessitent de redémarrer lExtension Development Host.
Tu peux aussi construire et installer un paquet `.vsix` :
```sh
npm run build
```
Un fichier `.vsix` apparaîtra dans le répertoire `bin/` qui peut être installé avec :
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## Écrire et Soumettre du Code
(Remplace `<version>` par le numéro de version réel du fichier généré).
Tout le monde peut contribuer avec du code à Roo Code, mais nous vous demandons de suivre ces directives pour vous assurer que vos contributions puissent être intégrées en douceur :
### 2. Guide décriture du code
1. **Gardez les Pull Requests Ciblées**
- **PRs ciblées** : Une fonctionnalité/correction par PR.
- **Qualité du code** :
- Passer les checks CI (lint, formatage)
- Corriger les avertissements ou erreurs ESLint (`npm run lint`)
- Répondre au feedback des outils automatiques de revue de code
- Suivre les bonnes pratiques TypeScript et maintenir la sécurité des types
- **Tests** :
- Ajouter des tests pour les nouvelles fonctionnalités
- Lancer `npm test` pour sassurer que tout passe
- Mettre à jour les tests existants si besoin
- **Messages de commit** :
- Rédiger des messages clairs et descriptifs
- Référencer les tickets concernés avec `#numéro-issue` (ex : `Fixes #123`)
- **Checklist avant de soumettre une PR** :
- Rebaser ta branche sur le dernier `main` de lupstream
- Vérifier que le code compile (`npm run build`)
- Sassurer que tous les tests passent (`npm test`)
- Supprimer tout code de debug ou `console.log`
- Limitez les PRs à une seule fonctionnalité ou correction de bug
- Divisez les changements plus importants en PRs plus petites et liées
- Divisez les changements en commits logiques qui peuvent être examinés indépendamment
### 3. Soumettre du code : Processus de Pull Request (PR)
2. **Qualité du Code**
#### Pull Requests en brouillon
- Toutes les PRs doivent passer les vérifications CI qui incluent à la fois le linting et le formatage
- Résolvez toutes les alertes ou erreurs ESLint avant de soumettre
- Répondez à tous les retours d'Ellipsis, notre outil automatisé de revue de code
- Suivez les meilleures pratiques TypeScript et maintenez la sécurité des types
Utilise les PRs en brouillon pour du travail pas encore prêt pour une revue complète mais pour lequel tu veux :
3. **Tests**
- Lancer les checks automatiques (CI)
- Obtenir un feedback précoce des mainteneurs ou dautres contributeurs
- Signaler que le travail est en cours
- Ajoutez des tests pour les nouvelles fonctionnalités
- Exécutez `npm test` pour vous assurer que tous les tests passent
- Mettez à jour les tests existants si vos changements les affectent
- Incluez à la fois des tests unitaires et d'intégration lorsque c'est approprié
Marque une PR comme "Prête pour revue" seulement quand tous les checks passent et que tu penses quelle respecte les critères du "Guide décriture du code" et de la "Description de la Pull Request".
4. **Directives pour les Commits**
#### Description de la Pull Request
- Écrivez des messages de commit clairs et descriptifs
- Référencez les issues pertinentes dans les commits en utilisant #numéro-issue
La description de ta PR doit être complète et suivre la structure de notre [Modèle de Pull Request](.github/pull_request_template.md). Points clés :
5. **Avant de Soumettre**
- Un lien vers le ticket GitHub approuvé concerné
- Une description claire des changements et de leur but
- Des étapes détaillées pour tester les changements
- Une liste de tout changement majeur (breaking change)
- **Pour les changements UI, fournis des captures décran ou vidéos avant/après**
- **Indique si ta PR nécessite une mise à jour de la doc utilisateur et quels documents/sections sont concernés**
- Rebasez votre branche sur la dernière main
- Assurez-vous que votre branche se construit avec succès
- Vérifiez à nouveau que tous les tests passent
- Revoyez vos changements pour détecter tout code de débogage ou logs de console
#### Politique de Pull Request (PR)
6. **Description du Pull Request**
- Décrivez clairement ce que font vos changements
- Incluez des étapes pour tester les changements
- Listez tous les changements incompatibles
- Ajoutez des captures d'écran pour les changements d'interface utilisateur
##### Objectif
## Accord de Contribution
Maintenir un backlog de PR propre, ciblé et gérable.
En soumettant une pull request, vous acceptez que vos contributions soient sous licence selon la même licence que le projet ([Apache 2.0](../LICENSE)).
##### Approche Issue-First
- **Obligatoire** : Avant de commencer, il doit exister un ticket GitHub approuvé et assigné (soit "Bug Report" soit "Detailed Feature Proposal").
- **Approbation** : Les tickets, surtout pour les changements importants, doivent être revus et approuvés par les mainteneurs (notamment @hannesrudolph) _avant_ de commencer à coder.
- **Référence** : Les PRs doivent référencer explicitement ces tickets pré-approuvés dans leur description.
- **Conséquences** : Ne pas suivre ce processus peut entraîner la fermeture de la PR sans revue complète.
##### Conditions pour les PR ouvertes
- **Prête à merger** : Passe tous les tests CI, saligne avec la feuille de route (si applicable), est liée à un ticket approuvé et assigné, a une doc/commentaires clairs, inclut des images/vidéos avant/après pour les changements UI
- **À fermer** : Échecs CI, conflits de merge importants, désalignement avec les objectifs du projet ou inactivité prolongée (>30 jours sans mise à jour après feedback)
##### Procédure
1. **Qualification & assignation des tickets** : @hannesrudolph (ou dautres mainteneurs) examinent et assignent les nouveaux tickets.
2. **Triage initial des PRs (quotidien)** : Les mainteneurs font un premier tri rapide des PRs entrantes pour filtrer les urgences ou problèmes critiques.
3. **Revue approfondie des PRs (hebdo)** : Les mainteneurs examinent en détail les PRs pour évaluer leur préparation, leur alignement avec le ticket approuvé et leur qualité globale.
4. **Feedback détaillé & itération** : Selon la revue, les mainteneurs donnent un feedback (Approuver, Demander des changements, Rejeter). Les contributeurs doivent répondre et améliorer si besoin.
5. **Décision** : Les PRs approuvées sont mergées. Les PRs avec des problèmes non résolus ou désalignées peuvent être fermées avec explication.
6. **Suivi** : Les auteurs de PRs fermées peuvent corriger et ouvrir de nouvelles PRs si les problèmes sont résolus ou si la direction du projet change.
##### Responsabilités
- **Qualification des tickets & respect du process (@hannesrudolph & mainteneurs)** : Sassurer que toutes les contributions suivent lapproche Issue-First. Guider les contributeurs.
- **Mainteneurs (équipe dev)** : Revoir les PRs, donner un feedback technique, prendre les décisions dapprobation/rejet, merger les PRs.
- **Contributeurs** : Sassurer que les PRs sont liées à un ticket approuvé et assigné, respectent les guidelines de qualité et répondent rapidement au feedback.
Cette politique garantit clarté et intégration efficace.
## IV. Légal
### Accord de contribution
En soumettant une pull request, tu acceptes que tes contributions soient sous licence [Apache 2.0](LICENSE) (ou la licence actuelle du projet), comme le projet.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • <b>हिंदी</b> • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# योगदानकर्ता संधि आचार संहिता
## हमारी प्रतिज्ञा

View file

@ -1,84 +1,107 @@
# Roo Code में योगदान देना
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • <b>हिंदी</b> • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Roo Code में योगदान करें
हम खुश हैं कि आप Roo Code में योगदान देने में रुचि रखते हैं। चाहे आप एक बग ठीक कर रहे हों, एक फीचर जोड़ रहे हों, या हमारे दस्तावेज़ों को सुधार रहे हों, हर योगदान Roo Code को अधिक स्मार्ट बनाता है! हमारे समुदाय को जीवंत और स्वागतयोग्य बनाए रखने के लिए, सभी सदस्यों को हमारे [आचार संहिता](CODE_OF_CONDUCT.md) का पालन करना चाहिए।
Roo Code एक समुदाय-आधारित प्रोजेक्ट है और हम हर योगदान को बहुत महत्व देते हैं। सभी के लिए प्रक्रिया को आसान और प्रभावी बनाने के लिए, **हम "[Issue-First](#2-मुख्य-सिद्धांत-issue-first-एप्रोच)" पद्धति अपनाते हैं।** इसका मतलब है कि हर काम को Pull Request सबमिट करने से _पहले_ एक GitHub Issue से जोड़ा जाना चाहिए (विस्तार से जानने के लिए हमारी [PR नीति](#pull-request-pr-नीति) देखें)। कृपया इस गाइड को ध्यान से पढ़ें ताकि आप समझ सकें कि कैसे योगदान करें।
यह गाइड बताता है कि Roo Code में कैसे योगदान करें, चाहे आप बग फिक्स कर रहे हों, फीचर जोड़ रहे हों या डाक्यूमेंटेशन सुधार रहे हों।
## हमारे समुदाय में शामिल हों
## विषय सूची
हम सभी योगदानकर्ताओं को हमारे [Discord समुदाय](https://discord.gg/roocode) में शामिल होने के लिए दृढ़ता से प्रोत्साहित करते हैं! हमारे Discord सर्वर का हिस्सा होने से आपको मदद मिलती है:
- [I. योगदान करने से पहले](#i-योगदान-करने-से-पहले)
- [1. आचार संहिता](#1-आचार-संहिता)
- [2. प्रोजेक्ट रोडमैप समझें](#2-प्रोजेक्ट-रोडमैप-समझें)
- [प्रोवाइडर सपोर्ट](#प्रोवाइडर-सपोर्ट)
- [मॉडल सपोर्ट](#मॉडल-सपोर्ट)
- [सिस्टम सपोर्ट](#सिस्टम-सपोर्ट)
- [डाक्यूमेंटेशन](#डाक्यूमेंटेशन)
- [स्थिरता](#स्थिरता)
- [अंतरराष्ट्रीयकरण](#अंतरराष्ट्रीयकरण)
- [3. Roo Code कम्युनिटी से जुड़ें](#3-roo-code-कम्युनिटी-से-जुड़ें)
- [II. अपना योगदान ढूंढना और योजना बनाना](#ii-अपना-योगदान-ढूंढना-और-योजना-बनाना)
- [1. योगदान के प्रकार](#1-योगदान-के-प्रकार)
- [2. मुख्य सिद्धांत: Issue-First एप्रोच](#2-मुख्य-सिद्धांत-issue-first-एप्रोच)
- [3. क्या काम करें चुनना](#3-क्या-काम-करें-चुनना)
- [4. बग या समस्या रिपोर्ट करना](#4-बग-या-समस्या-रिपोर्ट-करना)
- [III. विकास और सबमिशन प्रक्रिया](#iii-विकास-और-सबमिशन-प्रक्रिया)
- [1. विकास सेटअप](#1-विकास-सेटअप)
- [2. कोड लिखने के दिशा-निर्देश](#2-कोड-लिखने-के-दिशा-निर्देश)
- [3. कोड सबमिट करना: Pull Request (PR) प्रक्रिया](#3-कोड-सबमिट-करना-pull-request-pr-प्रक्रिया)
- [ड्राफ्ट Pull Requests](#ड्राफ्ट-pull-requests)
- [Pull Request विवरण](#pull-request-विवरण)
- [Pull Request (PR) नीति](#pull-request-pr-नीति)
- [उद्देश्य](#उद्देश्य)
- [Issue-First एप्रोच](#issue-first-एप्रोच)
- [ओपन PR के लिए शर्तें](#ओपन-pr-के-लिए-शर्तें)
- [प्रक्रिया](#प्रक्रिया)
- [जिम्मेदारियां](#जिम्मेदारियां)
- [IV. कानूनी](#iv-कानूनी)
- [योगदान समझौता](#योगदान-समझौता)
- अपने योगदान पर रीयल-टाइम मदद और मार्गदर्शन प्राप्त करें
- अन्य योगदानकर्ताओं और कोर टीम के सदस्यों से जुड़ें
- प्रोजेक्ट के विकास और प्राथमिकताओं से अपडेट रहें
- ऐसी चर्चाओं में भाग लें जो Roo Code के भविष्य को आकार देती हैं
- अन्य डेवलपर्स के साथ सहयोग के अवसर खोजें
## I. योगदान करने से पहले
## बग या समस्याओं की रिपोर्ट करना
सबसे पहले, हमारे समुदाय मानकों और प्रोजेक्ट की दिशा को समझें।
बग रिपोर्ट हर किसी के लिए Roo Code को बेहतर बनाने में मदद करती हैं! नई समस्या बनाने से पहले, कृपया डुप्लिकेट से बचने के लिए [मौजूदा समस्याओं की खोज करें](https://github.com/RooVetGit/Roo-Code/issues)। जब आप बग की रिपोर्ट करने के लिए तैयार हों, तो हमारे [इश्यूज पेज](https://github.com/RooVetGit/Roo-Code/issues/new/choose) पर जाएं जहां आपको प्रासंगिक जानकारी भरने में मदद करने के लिए एक टेम्पलेट मिलेगा।
### 1. आचार संहिता
<blockquote class='warning-note'>
🔐 <b>महत्वपूर्ण:</b> यदि आप कोई सुरक्षा कमजोरी खोजते हैं, तो कृपया <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">इसे निजी तौर पर रिपोर्ट करने के लिए Github सुरक्षा उपकरण का उपयोग करें</a>
</blockquote>
सभी योगदानकर्ताओं को हमारे [आचार संहिता](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md) का पालन करना चाहिए। कृपया योगदान करने से पहले इसे पढ़ें।
## किस पर काम करना है यह तय करना
### 2. प्रोजेक्ट रोडमैप समझें
पहले योगदान के लिए एक अच्छा अवसर खोज रहे हैं? हमारे [Roo Code इश्यूज](https://github.com/orgs/RooVetGit/projects/1) Github प्रोजेक्ट के "Issue [Unassigned]" सेक्शन में इश्यूज देखें। ये विशेष रूप से नए योगदानकर्ताओं के लिए और ऐसे क्षेत्रों के लिए क्यूरेट किए गए हैं जहां हमें कुछ मदद की जरूरत होगी!
Roo Code के पास एक स्पष्ट विकास रोडमैप है जो हमारी प्राथमिकताओं और भविष्य की दिशा को दर्शाता है। इसे समझने से आपको मदद मिलेगी:
हम अपने [दस्तावेज़ीकरण](https://docs.roocode.com/) में योगदान का भी स्वागत करते हैं! चाहे वह टाइपो ठीक करना हो, मौजूदा गाइड को सुधारना हो, या नई शैक्षिक सामग्री बनाना हो - हम संसाधनों का एक समुदाय-संचालित भंडार बनाना चाहते हैं जो हर किसी को Roo Code का अधिकतम उपयोग करने में मदद करे। आप फ़ाइल को संपादित करने के लिए किसी भी पृष्ठ पर "Edit this page" पर क्लिक कर सकते हैं या सीधे https://github.com/RooVetGit/Roo-Code-Docs में जा सकते हैं।
- अपने योगदान को प्रोजेक्ट के लक्ष्यों के साथ संरेखित करने में
- उन क्षेत्रों की पहचान करने में जहां आपकी विशेषज्ञता सबसे अधिक उपयोगी हो सकती है
- कुछ डिज़ाइन निर्णयों के पीछे का संदर्भ समझने में
- नई विशेषताओं के लिए प्रेरणा पाने में जो हमारे विजन को सपोर्ट करती हैं
यदि आप एक बड़ी विशेषता पर काम करने की योजना बना रहे हैं, तो कृपया पहले एक [फीचर अनुरोध](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) बनाएं ताकि हम चर्चा कर सकें कि क्या यह Roo Code के दृष्टिकोण के अनुरूप है। आप नीचे दिए गए हमारे [प्रोजेक्ट रोडमैप](#प्रोजेक्ट-रोडमैप) को भी देख सकते हैं यह जानने के लिए कि क्या आपका विचार हमारी रणनीतिक दिशा के अनुरूप है।
हमारा मौजूदा रोडमैप छह मुख्य स्तंभों पर केंद्रित है:
## प्रोजेक्ट रोडमैप
#### प्रोवाइडर सपोर्ट
Roo Code का एक स्पष्ट विकास रोडमैप है जो हमारी प्राथमिकताओं और भविष्य की दिशा का मार्गदर्शन करता है। हमारे रोडमैप को समझने से आपको मदद मिल सकती है:
हम अधिक से अधिक प्रोवाइडर्स को अच्छे से सपोर्ट करना चाहते हैं:
- अपने योगदान को प्रोजेक्ट के लक्ष्यों के साथ संरेखित करना
- ऐसे क्षेत्रों की पहचान करना जहां आपकी विशेषज्ञता सबसे मूल्यवान होगी
- कुछ डिज़ाइन निर्णयों के पीछे के संदर्भ को समझना
- नई विशेषताओं के लिए प्रेरणा पाना जो हमारे दृष्टिकोण का समर्थन करती हैं
हमारा वर्तमान रोडमैप छह प्रमुख स्तंभों पर केंद्रित है:
### प्रोवाइडर सपोर्ट
हम जितने संभव हो सके उतने प्रोवाइडर्स को सपोर्ट करना चाहते हैं:
- "OpenAI Compatible" के लिए अधिक बहुमुखी समर्थन
- अधिक "OpenAI Compatible" सपोर्ट
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Ollama और LM Studio के लिए बेहतर समर्थन
- Ollama और LM Studio के लिए बेहतर सपोर्ट
### मॉडल सपोर्ट
#### मॉडल सपोर्ट
हम चाहते हैं कि Roo जितना संभव हो उतने मॉडल पर अच्छी तरह से काम करे, जिसमें लोकल मॉडल भी शामिल हैं:
हम चाहते हैं कि Roo अधिक से अधिक मॉडलों (स्थानीय सहित) पर काम करे:
- कस्टम सिस्टम प्रॉम्प्टिंग और वर्कफ़्लोज़ के माध्यम से लोकल मॉडल सपोर्ट
- बेंचमार्किंग एवैल्युएशन और टेस्ट केस
- कस्टम सिस्टम प्रॉम्प्टिंग और वर्कफ़्लो के जरिए लोकल मॉडल सपोर्ट
- बेंचमार्किंग, इवैल्स और टेस्ट केस
### सिस्टम सपोर्ट
#### सिस्टम सपोर्ट
हम चाहते हैं कि Roo हर किसी के कंप्यूटर पर अच्छी तरह से चले:
हम चाहते हैं कि Roo हर कंप्यूटर पर अच्छे से चले:
- क्रॉस प्लेटफॉर्म टर्मिनल इंटीग्रेशन
- Mac, Windows और Linux के लिए मजबूत और सुसंगत समर्थन
- क्रॉस-प्लेटफॉर्म टर्मिनल इंटीग्रेशन
- Mac, Windows और Linux के लिए मजबूत और स्थिर सपोर्ट
### डॉक्युमेंटेशन
#### डाक्यूमेंटेशन
हम सभी उपयोगकर्ताओं और योगदानकर्ताओं के लिए व्यापक, सुलभ दस्तावेज़ीकरण चाहते हैं:
हम सभी यूजर्स और योगदानकर्ताओं के लिए व्यापक, सुलभ डाक्यूमेंटेशन चाहते हैं:
- विस्तारित उपयोगकर्ता गाइड और ट्यूटोरियल
- स्पष्ट API दस्तावेज़ीकरण
- योगदानकर्ताओं के लिए बेहतर मार्गदर्शन
- बहुभाषी दस्तावेज़ीकरण संसाधन
- इंटरक्टिव उदाहरण और कोड सैंपल
- विस्तृत यूजर गाइड्स और ट्यूटोरियल्स
- स्पष्ट API डाक्यूमेंटेशन
- बेहतर योगदानकर्ता गाइडेंस
- बहुभाषी डाक्यूमेंटेशन संसाधन
- इंटरक्टिव उदाहरण और कोड सैंपल्स
### स्थिरता
#### स्थिरता
हम बग की संख्या को काफी कम करना और स्वचालित परीक्षण को बढ़ाना चाहते हैं:
हम बग्स की संख्या को काफी कम करना और ऑटोमेटेड टेस्टिंग बढ़ाना चाहते हैं:
- डबग लॉगिंग स्विच
- बग/सपोर्ट अनुरोधों के साथ भेजने के लिए "मशीन/टास्क इन्फॉर्मेशन" कॉपी बटन
- डिबग लॉगिंग स्विच
- बग/सपोर्ट अनुरोधों के लिए "मशीन/टास्क जानकारी" कॉपी बटन
### अंतरराष्ट्रीयकरण
#### अंतरराष्ट्रीयकरण
हम चाहते हैं कि Roo हर किसी की भाषा बोले:
@ -87,87 +110,170 @@ Roo Code का एक स्पष्ट विकास रोडमैप ह
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
हम विशेष रूप से उन योगदानों का स्वागत करते हैं जो हमारे रोडमैप लक्ष्यों को आगे बढ़ाते हैं। यदि आप कुछ ऐसा कर रहे हैं जो इन स्तंभों के अनुरूप है, तो कृपया अपने PR विवरण में इसका उल्लेख करें।
हम उन योगदानों का विशेष स्वागत करते हैं जो हमारे रोडमैप लक्ष्यों को आगे बढ़ाते हैं। यदि आप किसी ऐसे काम पर हैं जो इन स्तंभों से मेल खाता है, तो कृपया इसे अपने PR विवरण में उल्लेख करें।
## डेवलपमेंट सेटअप
### 3. Roo Code कम्युनिटी से जुड़ें
1. रिपो **क्लोन** करें:
Roo Code कम्युनिटी से जुड़ना शुरू करने का एक शानदार तरीका है:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **मुख्य तरीका**:
1. [Roo Code Discord कम्युनिटी](https://discord.gg/roocode) से जुड़ें।
2. जुड़ने के बाद, **Hannes Rudolph** (Discord: `hrudolph`) को डायरेक्ट मैसेज (DM) भेजें, अपनी रुचि बताएं और मार्गदर्शन पाएं।
- **अनुभवी योगदानकर्ताओं के लिए विकल्प**: यदि आप Issue-First एप्रोच में सहज हैं, तो सीधे GitHub पर [Kanban बोर्ड](https://github.com/orgs/RooVetGit/projects/1) फॉलो करें और Issues व Pull Requests के जरिए संवाद करें।
2. **डिपेंडेंसीज इंस्टॉल** करें:
## II. अपना योगदान ढूंढना और योजना बनाना
```sh
npm run install:all
```
यह तय करें कि आप क्या करना चाहते हैं और कैसे करेंगे।
3. **वेबव्यू शुरू करें (Vite/React ऐप HMR के साथ)**:
### 1. योगदान के प्रकार
```sh
npm run dev
```
हम कई तरह के योगदान का स्वागत करते हैं:
4. **डिबग**:
VSCode में `F5` दबाएं (या **Run****Start Debugging**) Roo Code लोड के साथ एक नया सेशन खोलने के लिए।
- **बग फिक्स**: मौजूदा कोड में समस्याओं को ठीक करना
- **नई विशेषताएं**: नई कार्यक्षमता जोड़ना
- **डाक्यूमेंटेशन**: गाइड्स सुधारना, उदाहरण जोड़ना या टाइपो ठीक करना
वेबव्यू में परिवर्तन तुरंत दिखाई देंगे। कोर एक्सटेंशन में परिवर्तनों के लिए एक्सटेंशन होस्ट को रीस्टार्ट करने की आवश्यकता होगी।
### 2. मुख्य सिद्धांत: Issue-First एप्रोच
वैकल्पिक रूप से आप .vsix बना सकते हैं और इसे सीधे VSCode में इंस्टॉल कर सकते हैं:
**हर योगदान GitHub Issue से शुरू होना चाहिए।** यह कदम संरेखण सुनिश्चित करने और बेकार मेहनत से बचने के लिए जरूरी है।
- **Issue खोजें या बनाएं**:
- शुरू करने से पहले, [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) में देखें कि आपके योगदान के लिए कोई Issue पहले से है या नहीं।
- अगर है और असाइन नहीं है, तो उस पर कमेंट करें कि आप इसे लेना चाहते हैं। एक मेंटेनर आपको असाइन करेगा।
- अगर नहीं है, तो हमारी [Issues पेज](https://github.com/RooVetGit/Roo-Code/issues/new/choose) पर उपयुक्त टेम्पलेट से नया Issue बनाएं:
- बग के लिए "Bug Report" टेम्पलेट
- नई विशेषता के लिए "Detailed Feature Proposal" टेम्पलेट। कार्य शुरू करने से पहले मेंटेनर (खासकर @hannesrudolph) की मंजूरी का इंतजार करें।
- **नोट**: फीचर के लिए सामान्य विचार या शुरुआती चर्चा [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests) में शुरू हो सकती है। जब विचार ठोस हो जाए, तो "Detailed Feature Proposal" Issue बनाएं।
- **क्लेम और असाइनमेंट**:
- किसी Issue पर काम करने की इच्छा स्पष्ट रूप से कमेंट करके बताएं।
- मेंटेनर के GitHub में Issue को औपचारिक रूप से असाइन करने का इंतजार करें। इससे एक ही काम पर कई लोग नहीं लगते।
- **नहीं मानने के परिणाम**:
- बिना संबंधित, पूर्व-अनुमोदित और असाइन किए गए Issue के सबमिट किए गए Pull Requests (PRs) बिना पूरी समीक्षा के बंद किए जा सकते हैं। यह नीति यह सुनिश्चित करने के लिए है कि योगदान प्रोजेक्ट की प्राथमिकताओं के अनुरूप हों और सभी का समय सम्मानित हो।
यह तरीका हमें काम ट्रैक करने, बदलावों की जरूरत सुनिश्चित करने और प्रयासों का समन्वय करने में मदद करता है।
### 3. क्या काम करें चुनना
- **Good First Issues**: हमारे [Roo Code Issues प्रोजेक्ट](https://github.com/orgs/RooVetGit/projects/1) के "Issue [Unassigned]" सेक्शन को देखें।
- **डाक्यूमेंटेशन**: यह `CONTRIBUTING.md` कोड योगदान के लिए मुख्य गाइड है, लेकिन अगर आप अन्य डाक्यूमेंटेशन (जैसे यूजर गाइड या API डाक्यूमेंटेशन) में योगदान करना चाहते हैं, तो [Roo Code Docs रिपॉजिटरी](https://github.com/RooVetGit/Roo-Code-Docs) देखें या Discord कम्युनिटी में पूछें।
- **नई विशेषताएं प्रस्तावित करना**:
1. **प्रारंभिक विचार/चर्चा**: सामान्य या शुरुआती फीचर विचारों के लिए [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests) में चर्चा शुरू करें।
2. **औपचारिक प्रस्ताव**: ठोस, लागू करने योग्य फीचर प्रस्तावों के लिए हमारी [Issues पेज](https://github.com/RooVetGit/Roo-Code/issues/new/choose) पर "Detailed Feature Proposal" टेम्पलेट से Issue बनाएं। यह हमारे **Issue-First एप्रोच** का मुख्य हिस्सा है।
### 4. बग या समस्या रिपोर्ट करना
अगर आपको कोई बग मिले:
1. **मौजूदा Issues खोजें**: [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) में देखें कि क्या पहले से रिपोर्ट है।
2. **नया Issue बनाएं**: अगर यूनिक है, तो हमारी [Issues पेज](https://github.com/RooVetGit/Roo-Code/issues/new/choose) पर "Bug Report" टेम्पलेट का उपयोग करें।
> 🔐 **सुरक्षा कमजोरियां**: अगर आप कोई सुरक्षा कमजोरी पाते हैं, तो कृपया [GitHub की Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new) से निजी तौर पर रिपोर्ट करें। सुरक्षा कमजोरियों के लिए सार्वजनिक Issue न बनाएं।
## III. विकास और सबमिशन प्रक्रिया
कोडिंग और सबमिट करने के लिए इन स्टेप्स को फॉलो करें।
### 1. विकास सेटअप
1. **Fork & Clone**:
- GitHub पर रिपॉजिटरी को फोर्क करें।
- अपने फोर्क को लोकली क्लोन करें: `git clone https://github.com/आपका_यूज़रनेम/Roo-Code.git`
2. **डिपेंडेंसी इंस्टॉल करें**: `npm run install:all`
3. **Webview (Dev Mode) चलाएं**: `npm run dev` (Vite/React ऐप के लिए HMR के साथ)
4. **एक्सटेंशन डिबग करें**: VS Code में `F5` दबाएं (या **Run****Start Debugging**) ताकि Roo Code के साथ नया Extension Development Host विंडो खुले।
Webview (`webview-ui`) में बदलाव तुरंत Hot Module Replacement के साथ दिखेंगे। कोर एक्सटेंशन (`src`) में बदलाव के लिए Extension Development Host को रीस्टार्ट करना होगा।
वैकल्पिक रूप से, `.vsix` पैकेज बनाने और इंस्टॉल करने के लिए:
```sh
npm run build
```
`bin/` डायरेक्टरी में एक `.vsix` फ़ाइल दिखाई देगी जिसे इस कमांड से इंस्टॉल किया जा सकता है:
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## कोड लिखना और सबमिट करना
(`<version>` को बिल्ट फाइल के असली वर्शन नंबर से बदलें।)
कोई भी Roo Code में कोड का योगदान दे सकता है, लेकिन हम आपसे अनुरोध करते हैं कि आप इन दिशानिर्देशों का पालन करें ताकि आपके योगदान को सुचारू रूप से एकीकृत किया जा सके:
### 2. कोड लिखने के दिशा-निर्देश
1. **पुल रिक्वेस्ट को फोकस्ड रखें**
- **फोकस्ड PRs**: एक फीचर/बग फिक्स प्रति PR।
- **कोड क्वालिटी**:
- CI चेक्स पास करें (लिंटिंग, फॉर्मेटिंग)
- ESLint वार्निंग्स या एरर ठीक करें (`npm run lint`)
- ऑटोमेटेड कोड रिव्यू टूल्स के फीडबैक का जवाब दें
- TypeScript बेस्ट प्रैक्टिस फॉलो करें और टाइप सेफ्टी बनाए रखें
- **टेस्टिंग**:
- नए फीचर्स के लिए टेस्ट जोड़ें
- `npm test` चलाएं ताकि सभी टेस्ट पास हों
- अगर आपके बदलाव से मौजूदा टेस्ट प्रभावित होते हैं तो उन्हें अपडेट करें
- **कमिट मैसेज**:
- स्पष्ट, वर्णनात्मक कमिट मैसेज लिखें
- संबंधित Issues को `#issue-number` (जैसे `Fixes #123`) से रेफर करें
- **PR सबमिट करने से पहले चेकलिस्ट**:
- अपनी ब्रांच को अपस्ट्रीम के लेटेस्ट `main` पर रीबेस करें
- सुनिश्चित करें कि कोड बिल्ड होता है (`npm run build`)
- सभी टेस्ट पास हों (`npm test`)
- कोई भी डिबगिंग कोड या `console.log` हटा दें
- PR को एक ही फीचर या बग फिक्स तक सीमित रखें
- बड़े परिवर्तनों को छोटी, संबंधित PR में विभाजित करें
- परिवर्तनों को तार्किक कमिट्स में तोड़ें जिन्हें स्वतंत्र रूप से समीक्षा की जा सके
### 3. कोड सबमिट करना: Pull Request (PR) प्रक्रिया
2. **कोड क्वालिटी**
#### ड्राफ्ट Pull Requests
- सभी PR को CI चेक पास करना चाहिए जिसमें लिंटिंग और फॉर्मेटिंग दोनों शामिल हैं
- सबमिट करने से पहले किसी भी ESLint चेतावनी या त्रुटि को संबोधित करें
- Ellipsis, हमारे स्वचालित कोड समीक्षा टूल से सभी फीडबैक का जवाब दें
- TypeScript के बेस्ट प्रैक्टिस का पालन करें और टाइप सुरक्षा बनाए रखें
ऐसे काम के लिए ड्राफ्ट PRs का उपयोग करें जो अभी पूरी तरह से रिव्यू के लिए तैयार नहीं है, लेकिन जिसके लिए आप:
3. **टेस्टिंग**
- ऑटोमेटेड चेक्स (CI) चलाना चाहते हैं
- मेंटेनर्स या अन्य योगदानकर्ताओं से जल्दी फीडबैक पाना चाहते हैं
- दिखाना चाहते हैं कि काम प्रगति पर है
- नई विशेषताओं के लिए टेस्ट जोड़ें
- यह सुनिश्चित करने के लिए `npm test` चलाएं कि सभी टेस्ट पास हों
- यदि आपके परिवर्तन उन्हें प्रभावित करते हैं तो मौजूदा टेस्ट अपडेट करें
- जहां उपयुक्त हो, यूनिट टेस्ट और इंटीग्रेशन टेस्ट दोनों शामिल करें
PR को "Ready for Review" तभी मार्क करें जब सभी चेक्स पास हों और आपको लगे कि यह "कोड लिखने के दिशा-निर्देश" और "Pull Request विवरण" के मानदंडों को पूरा करता है।
4. **कमिट दिशानिर्देश**
#### Pull Request विवरण
- स्पष्ट, वर्णनात्मक कमिट संदेश लिखें
- #issue-number का उपयोग करके कमिट्स में प्रासंगिक मुद्दों का संदर्भ दें
आपके PR का विवरण पूरा होना चाहिए और हमारी [Pull Request टेम्पलेट](.github/pull_request_template.md) की संरचना का पालन करना चाहिए। मुख्य बिंदु:
5. **सबमिट करने से पहले**
- संबद्ध GitHub Issue का लिंक
- किए गए बदलावों और उनके उद्देश्य का स्पष्ट विवरण
- बदलावों को टेस्ट करने के लिए विस्तृत स्टेप्स
- किसी भी ब्रेकिंग चेंज की सूची
- **UI बदलावों के लिए, पहले और बाद के स्क्रीनशॉट या वीडियो दें**
- **जरूरी: बताएं कि क्या आपके PR से यूजर डाक्यूमेंटेशन अपडेट करना जरूरी है और कौन से डॉक्यूमेंट्स या सेक्शन प्रभावित हैं**
- अपनी ब्रांच को लेटेस्ट मेन पर रीबेस करें
- सुनिश्चित करें कि आपकी ब्रांच सफलतापूर्वक बिल्ड होती है
- डबल-चेक करें कि सभी टेस्ट पास हो रहे हैं
- अपने परिवर्तनों की समीक्षा करें किसी भी डिबगिंग कोड या कंसोल लॉग के लिए
#### Pull Request (PR) नीति
6. **पुल रिक्वेस्ट विवरण**
- स्पष्ट रूप से बताएं कि आपके परिवर्तन क्या करते हैं
- परिवर्तनों का परीक्षण करने के लिए चरण शामिल करें
- किसी भी ब्रेकिंग चेंज की सूची बनाएं
- UI परिवर्तनों के लिए स्क्रीनशॉट जोड़ें
##### उद्देश्य
## योगदान समझौता
PR बैकलॉग को साफ, केंद्रित और प्रबंधनीय बनाए रखना।
पुल रिक्वेस्ट सबमिट करके, आप सहमत होते हैं कि आपके योगदान को प्रोजेक्ट के समान लाइसेंस ([Apache 2.0](../LICENSE)) के तहत लाइसेंस दिया जाएगा।
##### Issue-First एप्रोच
- **आवश्यक**: काम शुरू करने से पहले एक मौजूदा, अनुमोदित और असाइन किया गया GitHub Issue होना चाहिए ("Bug Report" या "Detailed Feature Proposal")।
- **अनुमोदन**: Issues, खासकर बड़े बदलावों के लिए, मेंटेनर्स (खासकर @hannesrudolph) द्वारा _कोडिंग शुरू करने से पहले_ रिव्यू और अप्रूव होना चाहिए।
- **संदर्भ**: PRs को इन पूर्व-अनुमोदित Issues को अपनी विवरण में स्पष्ट रूप से संदर्भित करना चाहिए।
- **परिणाम**: इस प्रक्रिया का पालन न करने पर PR बिना पूरी समीक्षा के बंद किया जा सकता है।
##### ओपन PR के लिए शर्तें
- **मर्ज के लिए तैयार**: सभी CI टेस्ट पास करता है, रोडमैप से मेल खाता है (अगर लागू हो), अनुमोदित और असाइन किए गए Issue से जुड़ा है, स्पष्ट डाक्यूमेंटेशन/कमेंट्स हैं, UI बदलावों के लिए पहले/बाद की इमेज/वीडियो शामिल हैं
- **बंद करने के लिए**: CI टेस्ट फेल, बड़े मर्ज कॉन्फ्लिक्ट, प्रोजेक्ट लक्ष्यों से मेल न खाना, या लंबे समय (>30 दिन) तक फीडबैक के बाद कोई अपडेट न होना
##### प्रक्रिया
1. **Issue क्वालिफिकेशन और असाइनमेंट**: @hannesrudolph (या अन्य मेंटेनर्स) नए और मौजूदा Issues की समीक्षा करते हैं और उन्हें असाइन करते हैं।
2. **प्रारंभिक PR ट्रायज (रोजाना)**: मेंटेनर्स नए PRs की जल्दी समीक्षा करते हैं ताकि जरूरी या गंभीर मुद्दों को छांटा जा सके।
3. **विस्तृत PR रिव्यू (साप्ताहिक)**: मेंटेनर्स PRs की गहराई से समीक्षा करते हैं ताकि उनकी तैयारी, अनुमोदित Issue से मेल और गुणवत्ता का आकलन किया जा सके।
4. **विस्तृत फीडबैक और पुनरावृत्ति**: रिव्यू के आधार पर मेंटेनर्स फीडबैक देते हैं (Approve, Request Changes, या Reject)। योगदानकर्ताओं से अपेक्षा है कि वे फीडबैक का जवाब दें और जरूरत के अनुसार सुधार करें।
5. **निर्णय चरण**: अनुमोदित PRs मर्ज किए जाते हैं। जिन PRs में अनसुलझी समस्याएं हैं या जो मेल नहीं खाते, उन्हें स्पष्ट कारण के साथ बंद किया जा सकता है।
6. **फॉलो-अप**: बंद किए गए PRs के लेखक फीडबैक के अनुसार सुधार कर सकते हैं और अगर समस्याएं हल हो जाएं या प्रोजेक्ट की दिशा बदल जाए तो नए PRs खोल सकते हैं।
##### जिम्मेदारियां
- **Issue क्वालिफिकेशन और प्रक्रिया अनुपालन (@hannesrudolph & मेंटेनर्स)**: सुनिश्चित करें कि सभी योगदान Issue-First एप्रोच का पालन करें। योगदानकर्ताओं को प्रक्रिया में मार्गदर्शन दें।
- **मेंटेनर्स (डेव टीम)**: PRs की समीक्षा करें, तकनीकी फीडबैक दें, अप्रूवल/रिजेक्शन के फैसले लें, PRs मर्ज करें।
- **योगदानकर्ता**: PRs को अनुमोदित और असाइन किए गए Issue से लिंक करें, गुणवत्ता दिशानिर्देशों का पालन करें, फीडबैक का तुरंत जवाब दें।
यह नीति स्पष्टता और कुशल एकीकरण सुनिश्चित करती है।
## IV. कानूनी
### योगदान समझौता
Pull Request सबमिट करके, आप सहमत होते हैं कि आपके योगदान [Apache 2.0 लाइसेंस](LICENSE) (या प्रोजेक्ट की मौजूदा लाइसेंस) के तहत होंगे, जैसे कि प्रोजेक्ट है।

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • <b>Italiano</b> • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Codice di Condotta del Patto del Contributore
## Il Nostro Impegno

View file

@ -1,84 +1,107 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • <b>Italiano</b> • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Contribuire a Roo Code
Siamo entusiasti che tu sia interessato a contribuire a Roo Code. Che tu stia correggendo un bug, aggiungendo una funzionalità o migliorando la nostra documentazione, ogni contributo rende Roo Code più intelligente! Per mantenere la nostra comunità vivace e accogliente, tutti i membri devono aderire al nostro [Codice di Condotta](CODE_OF_CONDUCT.md).
Roo Code è un progetto guidato dalla community e apprezziamo molto ogni contributo. Per garantire un processo fluido ed efficace per tutti, **operiamo secondo un approccio "[Issue-First](#2-principio-chiave-approccio-issue-first)".** Questo significa che ogni lavoro deve essere collegato a una Issue GitHub _prima_ di inviare una Pull Request (vedi la nostra [Politica PR](#politica-di-pull-request-pr) per i dettagli). Leggi attentamente questa guida per capire come contribuire.
Questa guida spiega come contribuire a Roo Code, che tu stia correggendo bug, aggiungendo funzionalità o migliorando la documentazione.
## Unisciti alla Nostra Comunità
## Indice
Incoraggiamo fortemente tutti i contributori a unirsi alla nostra [comunità Discord](https://discord.gg/roocode)! Far parte del nostro server Discord ti aiuta a:
- [I. Prima di contribuire](#i-prima-di-contribuire)
- [1. Codice di condotta](#1-codice-di-condotta)
- [2. Comprendere la roadmap del progetto](#2-comprendere-la-roadmap-del-progetto)
- [Supporto provider](#supporto-provider)
- [Supporto modelli](#supporto-modelli)
- [Supporto sistemi](#supporto-sistemi)
- [Documentazione](#documentazione)
- [Stabilità](#stabilità)
- [Internazionalizzazione](#internazionalizzazione)
- [3. Unisciti alla community Roo Code](#3-unisciti-alla-community-roo-code)
- [II. Trovare e pianificare il tuo contributo](#ii-trovare-e-pianificare-il-tuo-contributo)
- [1. Tipi di contributi](#1-tipi-di-contributi)
- [2. Principio chiave: Approccio Issue-First](#2-principio-chiave-approccio-issue-first)
- [3. Decidere su cosa lavorare](#3-decidere-su-cosa-lavorare)
- [4. Segnalare bug o problemi](#4-segnalare-bug-o-problemi)
- [III. Processo di sviluppo e invio](#iii-processo-di-sviluppo-e-invio)
- [1. Configurazione dello sviluppo](#1-configurazione-dello-sviluppo)
- [2. Linee guida per scrivere codice](#2-linee-guida-per-scrivere-codice)
- [3. Inviare codice: Processo di Pull Request (PR)](#3-inviare-codice-processo-di-pull-request-pr)
- [Pull Request in bozza](#pull-request-in-bozza)
- [Descrizione della Pull Request](#descrizione-della-pull-request)
- [Politica di Pull Request (PR)](#politica-di-pull-request-pr)
- [Obiettivo](#obiettivo)
- [Approccio Issue-First](#approccio-issue-first)
- [Condizioni per PR aperte](#condizioni-per-pr-aperte)
- [Procedura](#procedura)
- [Responsabilità](#responsabilità)
- [IV. Legale](#iv-legale)
- [Accordo di contributo](#accordo-di-contributo)
- Ottenere aiuto e guida in tempo reale sui tuoi contributi
- Connetterti con altri contributori e membri del team principale
- Rimanere aggiornato sugli sviluppi e le priorità del progetto
- Partecipare a discussioni che modellano il futuro di Roo Code
- Trovare opportunità di collaborazione con altri sviluppatori
## I. Prima di contribuire
## Segnalare Bug o Problemi
Per prima cosa, familiarizza con i nostri standard di community e la direzione del progetto.
Le segnalazioni di bug aiutano a migliorare Roo Code per tutti! Prima di creare un nuovo problema, per favore [cerca tra quelli esistenti](https://github.com/RooVetGit/Roo-Code/issues) per evitare duplicati. Quando sei pronto a segnalare un bug, vai alla nostra [pagina dei problemi](https://github.com/RooVetGit/Roo-Code/issues/new/choose) dove troverai un modello per aiutarti a compilare le informazioni rilevanti.
### 1. Codice di condotta
<blockquote class='warning-note'>
🔐 <b>Importante:</b> Se scopri una vulnerabilità di sicurezza, utilizza lo <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">strumento di sicurezza Github per segnalarla privatamente</a>.
</blockquote>
Tutti i collaboratori devono rispettare il nostro [Codice di condotta](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Leggilo prima di contribuire.
## Decidere Su Cosa Lavorare
### 2. Comprendere la roadmap del progetto
Cerchi un buon primo contributo? Controlla i problemi nella sezione "Issue [Unassigned]" del nostro [Progetto Github di Roo Code](https://github.com/orgs/RooVetGit/projects/1). Questi sono specificamente selezionati per nuovi contributori e aree in cui ci piacerebbe avere un po' di aiuto!
Roo Code ha una roadmap di sviluppo chiara che guida le nostre priorità e la direzione futura. Comprenderla ti aiuta a:
Accogliamo anche contributi alla nostra [documentazione](https://docs.roocode.com/)! Che si tratti di correggere errori di battitura, migliorare guide esistenti o creare nuovi contenuti educativi - ci piacerebbe costruire un repository di risorse guidato dalla comunità che aiuti tutti a ottenere il massimo da Roo Code. Puoi cliccare su "Edit this page" su qualsiasi pagina per arrivare rapidamente al punto giusto in Github per modificare il file, oppure puoi andare direttamente a https://github.com/RooVetGit/Roo-Code-Docs.
Se stai pianificando di lavorare su una funzionalità più grande, per favore crea prima una [richiesta di funzionalità](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) così possiamo discutere se si allinea con la visione di Roo Code. Puoi anche consultare la nostra [Roadmap del Progetto](#roadmap-del-progetto) qui sotto per vedere se la tua idea si adatta alla nostra direzione strategica.
## Roadmap del Progetto
Roo Code ha una chiara roadmap di sviluppo che guida le nostre priorità e la direzione futura. Comprendere la nostra roadmap può aiutarti a:
- Allineare i tuoi contributi con gli obiettivi del progetto
- Identificare aree in cui la tua esperienza sarebbe più preziosa
- Comprendere il contesto dietro certe decisioni di design
- Trovare ispirazione per nuove funzionalità che supportino la nostra visione
- Allineare i tuoi contributi agli obiettivi del progetto
- Individuare le aree dove la tua esperienza è più preziosa
- Capire il contesto dietro alcune decisioni di design
- Trovare ispirazione per nuove funzionalità che supportano la nostra visione
La nostra roadmap attuale si concentra su sei pilastri chiave:
### Supporto Provider
#### Supporto provider
Miriamo a supportare quanti più provider possibile:
Vogliamo supportare il maggior numero possibile di provider:
- Supporto più versatile per "OpenAI Compatible"
- Più supporto "OpenAI Compatible"
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Supporto migliorato per Ollama e LM Studio
### Supporto Modelli
#### Supporto modelli
Vogliamo che Roo funzioni al meglio su quanti più modelli possibile, inclusi i modelli locali:
Vogliamo che Roo funzioni con il maggior numero possibile di modelli, inclusi quelli locali:
- Supporto per modelli locali attraverso prompt di sistema personalizzati e flussi di lavoro
- Valutazioni di benchmark e casi di test
- Supporto modelli locali tramite prompt di sistema personalizzati e workflow
- Benchmarking, valutazioni e casi di test
### Supporto Sistemi
#### Supporto sistemi
Vogliamo che Roo funzioni bene sul computer di tutti:
Vogliamo che Roo funzioni bene su ogni computer:
- Integrazione del terminale multipiattaforma
- Integrazione terminale multipiattaforma
- Supporto forte e coerente per Mac, Windows e Linux
### Documentazione
#### Documentazione
Vogliamo una documentazione completa e accessibile per tutti gli utenti e contributori:
Vogliamo una documentazione completa e accessibile per tutti gli utenti e collaboratori:
- Guide utente e tutorial ampliati
- Documentazione API chiara
- Migliore orientamento per i contributori
- Migliore guida per i collaboratori
- Risorse di documentazione multilingue
- Esempi interattivi e campioni di codice
- Esempi interattivi e frammenti di codice
### Stabilità
#### Stabilità
Vogliamo ridurre significativamente il numero di bug e aumentare i test automatizzati:
Vogliamo ridurre significativamente i bug e aumentare i test automatizzati:
- Interruttore di registrazione debug
- Pulsante di copia "Informazioni Macchina/Attività" per l'invio con richieste di supporto/bug
- Interruttore per il debug logging
- Pulsante "Informazioni macchina/task" per richieste di bug/supporto
### Internazionalizzazione
#### Internazionalizzazione
Vogliamo che Roo parli la lingua di tutti:
@ -87,87 +110,170 @@ Vogliamo che Roo parli la lingua di tutti:
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Accogliamo particolarmente i contributi che fanno progredire gli obiettivi della nostra roadmap. Se stai lavorando su qualcosa che si allinea con questi pilastri, per favore menzionalo nella descrizione della tua PR.
Accogliamo con particolare favore i contributi che fanno avanzare gli obiettivi della nostra roadmap. Se stai lavorando su qualcosa che si allinea con questi pilastri, menzionalo nella descrizione della tua PR.
## Configurazione per lo Sviluppo
### 3. Unisciti alla community Roo Code
1. **Clona** il repository:
Entrare in contatto con la community Roo Code è un ottimo modo per iniziare:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Metodo principale**:
1. Unisciti alla [community Roo Code su Discord](https://discord.gg/roocode).
2. Una volta dentro, invia un messaggio diretto (DM) a **Hannes Rudolph** (Discord: `hrudolph`) per discutere il tuo interesse e ricevere consigli.
- **Alternativa per collaboratori esperti**: Se ti senti a tuo agio con l'approccio issue-first, puoi partecipare direttamente tramite GitHub seguendo la [Kanban board](https://github.com/orgs/RooVetGit/projects/1) e comunicando tramite issues e pull request.
2. **Installa le dipendenze**:
## II. Trovare e pianificare il tuo contributo
```sh
npm run install:all
```
Individua su cosa vuoi lavorare e come affrontarlo.
3. **Avvia la webview (app Vite/React con HMR)**:
### 1. Tipi di contributi
```sh
npm run dev
```
Accettiamo vari tipi di contributi:
4. **Debug**:
Premi `F5` (o **Run****Start Debugging**) in VSCode per aprire una nuova sessione con Roo Code caricato.
- **Correzione bug**: Risolvere problemi nel codice esistente.
- **Nuove funzionalità**: Aggiungere nuove funzionalità.
- **Documentazione**: Migliorare guide, esempi o correggere errori di battitura.
Le modifiche alla webview appariranno immediatamente. Le modifiche all'estensione principale richiederanno un riavvio dell'host dell'estensione.
### 2. Principio chiave: Approccio Issue-First
In alternativa puoi creare un file .vsix e installarlo direttamente in VSCode:
**Tutti i contributi devono iniziare con una Issue GitHub.** Questo è fondamentale per garantire l'allineamento ed evitare sforzi inutili.
- **Cerca o crea una Issue**:
- Prima di iniziare, cerca su [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) se esiste già una issue per il tuo contributo.
- Se esiste e non è assegnata, commenta per esprimere il tuo interesse. Un maintainer te la assegnerà.
- Se non esiste, creane una nuova usando il template appropriato sulla nostra [pagina delle issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Per i bug, usa il template "Bug Report".
- Per nuove funzionalità, usa il template "Detailed Feature Proposal". Attendi l'approvazione di un maintainer (soprattutto @hannesrudolph) prima di iniziare a implementare.
- **Nota**: Idee generali o discussioni preliminari sulle funzionalità possono iniziare su [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Quando l'idea è più concreta, crea una issue "Detailed Feature Proposal".
- **Claim e assegnazione**:
- Indica chiaramente la tua intenzione di lavorare su una issue commentando.
- Attendi che un maintainer te la assegni ufficialmente su GitHub. Così evitiamo che più persone lavorino sulla stessa cosa.
- **Conseguenze del mancato rispetto**:
- Le Pull Request (PR) inviate senza una issue corrispondente, pre-approvata e assegnata possono essere chiuse senza revisione completa. Questa politica serve a garantire che i contributi siano allineati con le priorità del progetto e a rispettare il tempo di tutti.
Questo approccio ci aiuta a tracciare il lavoro, garantire che i cambiamenti siano desiderati e coordinare efficacemente gli sforzi.
### 3. Decidere su cosa lavorare
- **Good First Issues**: Consulta la sezione "Issue [Unassigned]" del nostro [progetto Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) su GitHub.
- **Documentazione**: Anche se questo `CONTRIBUTING.md` è la guida principale per i contributi al codice, se vuoi contribuire ad altra documentazione (come guide utente o API), consulta il [repo Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) o chiedi nella community Discord.
- **Proporre nuove funzionalità**:
1. **Idea/discussione iniziale**: Per idee generali o iniziali, avvia una discussione su [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Proposta formale**: Per proposte specifiche e pronte per la valutazione, crea una issue "Detailed Feature Proposal" usando il template sulla nostra [pagina delle issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Questo è fondamentale nel nostro **approccio Issue-First**.
### 4. Segnalare bug o problemi
Se trovi un bug:
1. **Cerca issues esistenti**: Controlla su [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) se è già stato segnalato.
2. **Crea una nuova issue**: Se è unico, usa il template "Bug Report" sulla nostra [pagina delle issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Vulnerabilità di sicurezza**: Se scopri una vulnerabilità di sicurezza, segnalala privatamente tramite lo [strumento di avviso di sicurezza di GitHub](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Non creare una issue pubblica per vulnerabilità di sicurezza.
## III. Processo di sviluppo e invio
Segui questi passaggi per programmare e inviare il tuo lavoro.
### 1. Configurazione dello sviluppo
1. **Fork & Clona**:
- Fai il fork del repository su GitHub.
- Clona il tuo fork localmente: `git clone https://github.com/TUO_USERNAME/Roo-Code.git`
2. **Installa le dipendenze**: `npm run install:all`
3. **Esegui Webview (Dev Mode)**: `npm run dev` (per l'app Vite/React con HMR)
4. **Debugga l'estensione**: Premi `F5` in VS Code (o **Run****Start Debugging**) per aprire una nuova finestra Extension Development Host con Roo Code caricato.
Le modifiche al webview (`webview-ui`) appariranno immediatamente grazie all'Hot Module Replacement. Le modifiche all'estensione principale (`src`) richiederanno il riavvio dell'Extension Development Host.
In alternativa, per costruire e installare un pacchetto `.vsix`:
```sh
npm run build
```
Un file `.vsix` apparirà nella directory `bin/` che può essere installato con:
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## Scrivere e Inviare Codice
(Sostituisci `<version>` con il numero di versione reale del file generato).
Chiunque può contribuire con codice a Roo Code, ma ti chiediamo di seguire queste linee guida per assicurare che i tuoi contributi possano essere integrati senza problemi:
### 2. Linee guida per scrivere codice
1. **Mantieni le Pull Request Focalizzate**
- **PR focalizzate**: Una funzionalità/fix per PR.
- **Qualità del codice**:
- Superare i check CI (lint, formattazione)
- Correggere avvisi o errori ESLint (`npm run lint`)
- Rispondere al feedback degli strumenti automatici di code review
- Seguire le best practice TypeScript e mantenere la sicurezza dei tipi
- **Testing**:
- Aggiungere test per nuove funzionalità
- Eseguire `npm test` per assicurarsi che tutto passi
- Aggiornare i test esistenti se il tuo cambiamento li influenza
- **Messaggi di commit**:
- Scrivere messaggi chiari e descrittivi
- Fare riferimento alle issues rilevanti usando `#numero-issue` (es: `Fixes #123`)
- **Checklist prima di inviare PR**:
- Rebase della tua branch sull'ultimo `main` dell'upstream
- Assicurati che il codice compili (`npm run build`)
- Verifica che tutti i test passino (`npm test`)
- Rimuovi qualsiasi codice di debug o `console.log`
- Limita le PR a una singola funzionalità o correzione di bug
- Suddividi i cambiamenti più grandi in PR più piccole e correlate
- Suddividi i cambiamenti in commit logici che possono essere revisionati indipendentemente
### 3. Inviare codice: Processo di Pull Request (PR)
2. **Qualità del Codice**
#### Pull Request in bozza
- Tutte le PR devono passare i controlli CI che includono sia linting che formattazione
- Risolvi qualsiasi avviso o errore di ESLint prima di inviare
- Rispondi a tutti i feedback da Ellipsis, il nostro strumento automatico di revisione del codice
- Segui le migliori pratiche di TypeScript e mantieni la sicurezza dei tipi
Usa PR in bozza per lavori non ancora pronti per una revisione completa ma per cui vuoi:
3. **Testing**
- Eseguire i check automatici (CI)
- Ricevere feedback precoce dai maintainer o altri collaboratori
- Segnalare che il lavoro è in corso
- Aggiungi test per le nuove funzionalità
- Esegui `npm test` per assicurarti che tutti i test passino
- Aggiorna i test esistenti se le tue modifiche li influenzano
- Includi sia test unitari che test di integrazione dove appropriato
Segna una PR come "Pronta per la revisione" solo quando tutti i check sono superati e pensi che soddisfi i criteri delle "Linee guida per scrivere codice" e della "Descrizione della Pull Request".
4. **Linee Guida per i Commit**
#### Descrizione della Pull Request
- Scrivi messaggi di commit chiari e descrittivi
- Fai riferimento ai problemi rilevanti nei commit usando #numero-problema
La descrizione della tua PR deve essere completa e seguire la struttura del nostro [Template di Pull Request](.github/pull_request_template.md). Punti chiave:
5. **Prima di Inviare**
- Un link alla Issue GitHub approvata che affronta
- Descrizione chiara delle modifiche apportate e del loro scopo
- Passaggi dettagliati per testare le modifiche
- Elenco di eventuali breaking changes
- **Per modifiche UI, fornisci screenshot o video prima/dopo**
- **Indica se la tua PR richiede aggiornamenti alla documentazione utente e quali documenti/sezioni sono interessati**
- Fai il rebase del tuo branch sull'ultimo main
- Assicurati che il tuo branch si costruisca con successo
- Ricontrolla che tutti i test stiano passando
- Rivedi le tue modifiche per qualsiasi codice di debug o log della console
#### Politica di Pull Request (PR)
6. **Descrizione della Pull Request**
- Descrivi chiaramente cosa fanno le tue modifiche
- Includi passaggi per testare le modifiche
- Elenca eventuali breaking changes
- Aggiungi screenshot per modifiche UI
##### Obiettivo
## Accordo di Contribuzione
Mantenere un backlog di PR pulito, focalizzato e gestibile.
Inviando una pull request, accetti che i tuoi contributi saranno concessi in licenza con la stessa licenza del progetto ([Apache 2.0](../LICENSE)).
##### Approccio Issue-First
- **Richiesto**: Prima di iniziare, deve esistere una Issue GitHub approvata e assegnata (sia "Bug Report" che "Detailed Feature Proposal").
- **Approvazione**: Le Issues, soprattutto per cambiamenti importanti, devono essere riviste e approvate dai maintainer (in particolare @hannesrudolph) _prima_ di iniziare a programmare.
- **Riferimento**: Le PR devono fare riferimento esplicito a queste Issues pre-approvate nella descrizione.
- **Conseguenze**: Il mancato rispetto di questo processo può comportare la chiusura della PR senza revisione completa.
##### Condizioni per PR aperte
- **Pronta per il merge**: Supera tutti i test CI, è allineata con la roadmap (se applicabile), è collegata a una Issue approvata e assegnata, ha documentazione/commenti chiari, include immagini/video prima/dopo per modifiche UI
- **Da chiudere**: Fallimenti CI, conflitti di merge importanti, disallineamento con gli obiettivi del progetto o inattività prolungata (>30 giorni senza aggiornamenti dopo feedback)
##### Procedura
1. **Qualificazione e assegnazione Issue**: @hannesrudolph (o altri maintainer) esaminano e assegnano le nuove ed esistenti Issues.
2. **Triage iniziale PR (giornaliero)**: I maintainer fanno una rapida revisione dei nuovi PR per filtrare urgenze o problemi critici.
3. **Revisione approfondita PR (settimanale)**: I maintainer esaminano a fondo i PR per valutarne la prontezza, l'allineamento con la Issue approvata e la qualità generale.
4. **Feedback dettagliato e iterazione**: In base alla revisione, i maintainer forniscono feedback (Approve, Request Changes, Reject). I collaboratori sono tenuti a rispondere e migliorare se necessario.
5. **Fase decisionale**: I PR approvati vengono uniti. I PR con problemi irrisolvibili o non allineati possono essere chiusi con spiegazione.
6. **Follow-up**: Gli autori dei PR chiusi possono risolvere i problemi e aprirne di nuovi se necessario.
##### Responsabilità
- **Qualificazione Issue & rispetto del processo (@hannesrudolph & maintainer)**: Assicurarsi che tutti i contributi seguano l'approccio Issue-First. Guidare i collaboratori nel processo.
- **Maintainer (Dev Team)**: Revisionare i PR, fornire feedback tecnico, prendere decisioni di approvazione/rifiuto, unire i PR.
- **Collaboratori**: Assicurarsi che i PR siano collegati a una Issue approvata e assegnata, rispettino le linee guida di qualità e rispondano prontamente al feedback.
Questa politica garantisce chiarezza e integrazione efficiente.
## IV. Legale
### Accordo di contributo
Inviando una pull request, accetti che i tuoi contributi siano concessi in licenza sotto la [Licenza Apache 2.0](LICENSE) (o la licenza attuale del progetto), come il progetto.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
<b>日本語</b> • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# コントリビューター行動規範
## 私たちの誓約

View file

@ -1,173 +1,279 @@
# Roo Codeへの貢献
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
<b>日本語</b> • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Roo Code への貢献
Roo Codeへの貢献に興味を持っていただき、ありがとうございます。バグの修正、機能の追加、またはドキュメントの改善など、すべての貢献がRoo Codeをよりスマートにしますコミュニティを活気に満ちた歓迎的なものに保つため、すべてのメンバーは[行動規範](CODE_OF_CONDUCT.md)を順守する必要があります。
Roo Code はコミュニティ主導のプロジェクトであり、すべての貢献を大切にしています。みんながスムーズかつ効果的に参加できるように、**「[Issue-First](#2-重要な原則-issue-firstアプローチ)」方式で運営しています。** つまり、すべての作業は Pull Request を出す _前に_ GitHub Issue に紐付ける必要があります(詳細は[PRポリシー](#pull-request-pr-ポリシー)を参照)。このガイドをよく読んで、貢献方法を理解してください。
このガイドは、バグ修正、新機能追加、ドキュメント改善など、Roo Code への貢献方法を説明します。
## コミュニティに参加する
## 目次
すべての貢献者に[Discordコミュニティ](https://discord.gg/roocode)への参加を強く推奨しますDiscordサーバーに参加することで以下のメリットがあります
- [I. 貢献する前に](#i-貢献する前に)
- [1. 行動規範](#1-行動規範)
- [2. プロジェクトロードマップの理解](#2-プロジェクトロードマップの理解)
- [プロバイダーサポート](#プロバイダーサポート)
- [モデルサポート](#モデルサポート)
- [システムサポート](#システムサポート)
- [ドキュメント](#ドキュメント)
- [安定性](#安定性)
- [国際化](#国際化)
- [3. Roo Code コミュニティに参加する](#3-roo-code-コミュニティに参加する)
- [II. 貢献内容の発見と計画](#ii-貢献内容の発見と計画)
- [1. 貢献の種類](#1-貢献の種類)
- [2. 重要な原則: Issue-First アプローチ](#2-重要な原則-issue-first-アプローチ)
- [3. 何に取り組むか決める](#3-何に取り組むか決める)
- [4. バグや問題の報告](#4-バグや問題の報告)
- [III. 開発と提出のプロセス](#iii-開発と提出のプロセス)
- [1. 開発環境のセットアップ](#1-開発環境のセットアップ)
- [2. コーディングガイドライン](#2-コーディングガイドライン)
- [3. コード提出: Pull Request (PR) プロセス](#3-コード提出-pull-request-pr-プロセス)
- [ドラフト Pull Request](#ドラフト-pull-request)
- [Pull Request の説明](#pull-request-の説明)
- [Pull Request (PR) ポリシー](#pull-request-pr-ポリシー)
- [目的](#目的)
- [Issue-First アプローチ](#issue-first-アプローチ)
- [オープンPRの条件](#オープンprの条件)
- [手順](#手順)
- [責任](#責任)
- [IV. 法的事項](#iv-法的事項)
- [貢献契約](#貢献契約)
- 貢献に関するリアルタイムのヘルプとガイダンスを得られる
- 他の貢献者やコアチームメンバーとつながれる
- プロジェクトの開発と優先事項について最新情報を得られる
- Roo Codeの将来を形作るディスカッションに参加できる
- 他の開発者とのコラボレーションの機会を見つけられる
## I. 貢献する前に
## バグや問題の報告
まず、コミュニティの基準やプロジェクトの方向性を理解しましょう。
バグレポートはRoo Codeをより良くするのに役立ちます新しい課題を作成する前に、重複を避けるために[既存の課題を検索](https://github.com/RooVetGit/Roo-Code/issues)してください。バグを報告する準備ができたら、関連情報の入力を手助けするテンプレートが用意されている[課題ページ](https://github.com/RooVetGit/Roo-Code/issues/new/choose)にアクセスしてください。
### 1. 行動規範
<blockquote class='warning-note'>
🔐 <b>重要:</b> セキュリティ脆弱性を発見した場合は、<a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">Githubセキュリティツールを使用して非公開で報告</a>してください。
</blockquote>
すべてのコントリビューターは[行動規範](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md)を守る必要があります。貢献前に必ず読んでください。
## 取り組む内容の決定
### 2. プロジェクトロードマップの理解
良い最初の貢献を探していますか?[Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) Githubプロジェクトの「Issue [Unassigned]」セクションの課題をチェックしてください。これらは新しい貢献者や私たちが助けを必要としている領域のために特別に選ばれています!
Roo Code には明確な開発ロードマップがあり、優先順位や今後の方向性を示しています。ロードマップを理解することで、以下のことができます:
また、[ドキュメント](https://docs.roocode.com/)への貢献も歓迎しますタイプミスの修正、既存ガイドの改善、または新しい教育コンテンツの作成など、Roo Codeを最大限に活用するためのコミュニティ主導のリソースリポジトリの構築を目指しています。任意のページで「Edit this page」をクリックすると、ファイルを編集するためのGithubの適切な場所にすぐに移動できます。または、https://github.com/RooVetGit/Roo-Code-Docs に直接アクセスすることもできます。
- 貢献をプロジェクトの目標に合わせられる
- 自分のスキルが最も活かせる分野を見つけられる
- 特定の設計判断の背景を理解できる
- ビジョンに沿った新機能のアイデアを得られる
より大きな機能に取り組む予定がある場合は、Roo Codeのビジョンに合致するかどうかを議論するために、まず[機能リクエスト](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop)を作成してください。また、アイデアが私たちの戦略的方向性に合っているかどうかを確認するために、下記の[プロジェクトロードマップ](#プロジェクトロードマップ)をチェックすることもできます。
現在のロードマップは6つの柱に重点を置いています
## プロジェクトロードマップ
#### プロバイダーサポート
Roo Codeには、私たちの優先事項と将来の方向性を導く明確な開発ロードマップがあります。私たちのロードマップを理解することで、以下のような助けになります
できるだけ多くのプロバイダーをしっかりサポートしたい
- あなたの貢献をプロジェクトの目標に合わせる
- あなたの専門知識が最も価値がある領域を特定する
- 特定のデザイン決定の背景を理解する
- 私たちのビジョンをサポートする新機能のインスピレーションを得る
現在のロードマップは、6つの主要な柱に焦点を当てています
### プロバイダーサポート
できるだけ多くのプロバイダーをサポートすることを目指しています:
- より汎用的な「OpenAI互換」サポート
- より多くの「OpenAI Compatible」サポート
- xAI、Microsoft Azure AI、Alibaba Cloud Qwen、IBM Watsonx、Together AI、DeepInfra、Fireworks AI、Cohere、Perplexity AI、FriendliAI、Replicate
- OllamaとLM Studioの強化されたサポート
- Ollama と LM Studio のサポート強化
### モデルサポート
#### モデルサポート
ローカルモデルを含め、できるだけ多くのモデルでRooが良好に動作することを望んでいます:
Roo ができるだけ多くのモデル(ローカルモデル含む)で動作することを目指します:
- カスタムシステムプロンプティングとワークフローを通じたローカルモデルサポート
- ベンチマーク評価とテストケース
- カスタムシステムプロンプトやワークフローによるローカルモデルサポート
- ベンチマーク、評価、テストケース
### システムサポート
#### システムサポート
Rooが誰のコンピュータでも良好に動作することを望んでいます:
Roo がすべてのPCで快適に動作することを目指します:
- クロスプラットフォームターミナル統合
- Mac、Windows、Linuxの強力で一貫したサポート
- クロスプラットフォームターミナル統合
- Mac、Windows、Linux での強力かつ安定したサポート
### ドキュメンテーション
#### ドキュメント
すべてのユーザーと貢献者のための包括的でアクセスしやすいドキュメントを望んでいます:
すべてのユーザーとコントリビューターのために、充実した分かりやすいドキュメントを目指します:
- 拡張されたユーザーガイドチュートリアル
- 拡張されたユーザーガイドチュートリアル
- 明確なAPIドキュメント
- 貢献者のためのより良いガイダンス
- より良いコントリビューターガイド
- 多言語ドキュメントリソース
- インタラクティブな例コードサンプル
- インタラクティブな例コードサンプル
### 安定性
#### 安定性
バグの数を大幅に減らし、自動テストを増やすことを望んでいます:
バグを大幅に減らし、自動テストを増やすことを目指します:
- デバッグロギングスイッチ
- バグ/サポートリクエストと一緒に送信するための「マシン/タスク情報」コピーボタン
- デバッグログ切り替えスイッチ
- バグ/サポート依頼用の「マシン/タスク情報」コピー用ボタン
### 国際化
#### 国際化
Rooが誰の言語も話すことを望んでいます
Roo がみんなの言語を話せるようにしたい
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
私たちは特に、ロードマップの目標を前進させる貢献を歓迎します。これらの柱に沿った何かに取り組んでいる場合は、PRの説明でそれについて言及してください。
ロードマップの目標を推進する貢献は特に歓迎します。これらの柱に沿った作業をしている場合は、PRの説明でぜひ言及してください。
## 開発のセットアップ
### 3. Roo Code コミュニティに参加する
1. リポジトリを**クローン**します:
Roo Code コミュニティとつながるのは、始めるのに最適な方法です:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **メインの方法**
1. [Roo Code Discord コミュニティ](https://discord.gg/roocode)に参加する。
2. 参加後、**Hannes Rudolph**Discord: `hrudolph`にDMを送り、興味を伝えてアドバイスをもらう。
- **経験者向けの代替案**Issue-First アプローチに慣れている場合は、[Kanbanボード](https://github.com/orgs/RooVetGit/projects/1)を使い、GitHub上でIssueやPull Requestを通じて直接参加できます。
2. **依存関係をインストール**します:
## II. 貢献内容の発見と計画
```sh
npm run install:all
```
何に取り組むか、どう進めるかを決めましょう。
3. **ウェブビューVite/ReactアプリとHMRを起動**します:
### 1. 貢献の種類
```sh
npm run dev
```
さまざまな貢献を歓迎します:
4. **デバッグ**
VSCodeで`F5`キー(または**実行**→**デバッグの開始**を押すと、Roo Codeがロードされた新しいセッションが開きます。
- **バグ修正**:既存コードの問題を修正
- **新機能**:新しい機能の追加
- **ドキュメント**:ガイドや例の改善、誤字修正
ウェブビューへの変更はすぐに反映されます。コア拡張機能への変更は、拡張機能ホストの再起動が必要です。
### 2. 重要な原則: Issue-First アプローチ
または、.vsixファイルをビルドしてVSCodeに直接インストールすることもできます
**すべての貢献は GitHub Issue から始めてください。** これは方向性の統一と無駄な作業を防ぐために重要です。
- **Issue を探す/作成する**
- 作業を始める前に、[GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) で既存のIssueがあるか確認してください。
- 既存で未割り当てなら、コメントして担当希望を伝えてください。メンテナーが割り当てます。
- なければ、[Issuesページ](https://github.com/RooVetGit/Roo-Code/issues/new/choose)で適切なテンプレートを使って新規作成:
- バグは「Bug Report」テンプレート
- 新機能は「Detailed Feature Proposal」テンプレート。実装前にメンテナー特に@hannesrudolph)の承認を待ってください。
- **注**:機能のアイデアや初期議論は[GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests)で始められます。具体化したら「Detailed Feature Proposal」Issueを作成してください。
- **担当表明と割り当て**
- 担当したいIssueにはコメントで意思表示してください。
- メンテナーが正式にGitHubで割り当てるのを待ちましょう。重複作業を防げます。
- **守らない場合の結果**
- 関連Issueがない、承認・割り当てされていないPRは、完全なレビューなしでクローズされる場合があります。これはプロジェクトの優先順位を守り、みんなの時間を大切にするためです。
このアプローチで作業の追跡、変更の必要性の確認、効果的な連携ができます。
### 3. 何に取り組むか決める
- **Good First Issues**GitHubの[「Issue [Unassigned]」セクション](https://github.com/orgs/RooVetGit/projects/1)をチェック
- **ドキュメント**:この `CONTRIBUTING.md` はコード貢献の主なガイドですが、他のドキュメントユーザーガイドやAPIドキュメントなどに貢献したい場合は、[Roo Code Docsリポジトリ](https://github.com/RooVetGit/Roo-Code-Docs)を参照するか、Discordコミュニティで質問してください。
- **新機能の提案**
1. **初期アイデア/議論**:大まかなアイデアや初期の提案は[GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests)で始めてください。
2. **正式な提案**:具体的で実装可能な提案は[Issuesページ](https://github.com/RooVetGit/Roo-Code/issues/new/choose)の「Detailed Feature Proposal」テンプレートでIssueを作成してください。これは**Issue-Firstアプローチ**の重要な部分です。
### 4. バグや問題の報告
バグを見つけた場合:
1. **既存Issueの検索**[GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues)で重複がないか確認
2. **新規Issueの作成**:ユニークな場合は[Issuesページ](https://github.com/RooVetGit/Roo-Code/issues/new/choose)の「Bug Report」テンプレートを使う
> 🔐 **セキュリティ脆弱性**:脆弱性を発見した場合は[GitHubのSecurity Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new)で非公開で報告してください。公開Issueは作成しないでください。
## III. 開発と提出のプロセス
以下の手順でコーディングと提出を進めてください。
### 1. 開発環境のセットアップ
1. **Fork & Clone**
- GitHubでリポジトリをフォーク
- 自分のフォークをローカルにクローン:`git clone https://github.com/あなたのユーザー名/Roo-Code.git`
2. **依存関係のインストール**`npm run install:all`
3. **Webview開発モードを起動**`npm run dev`Vite/ReactアプリのHMR用
4. **拡張機能のデバッグ**VS Codeで `F5`(または **Run****Start Debugging**を押して、Roo Codeが読み込まれた新しい Extension Development Host ウィンドウを開く
webview`webview-ui`の変更はHot Module Replacementですぐ反映されます。コア拡張`src`の変更はExtension Development Hostの再起動が必要です。
また、`.vsix`パッケージをビルド・インストールする場合:
```sh
npm run build
```
`bin/`ディレクトリに`.vsix`ファイルが作成され、以下のコマンドでインストールできます:
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## コードの作成と提出
`<version>`はビルドされたファイルの実際のバージョン番号に置き換えてください)
誰でもRoo Codeにコードを貢献できますが、貢献がスムーズに統合されるように以下のガイドラインに従ってください
1. **プルリクエストを焦点を絞ったものにする**
- PRを単一の機能またはバグ修正に限定する
- より大きな変更を小さく関連したPRに分割する
- 変更を独立してレビューできる論理的なコミットに分ける
2. **コード品質**
- すべてのPRはlintingとフォーマットの両方を含むCIチェックに合格する必要がある
- 提出前にESLintの警告やエラーを解決する
- 自動コードレビューツールであるEllipsisからのすべてのフィードバックに対応する
- TypeScriptのベストプラクティスに従い、型の安全性を維持する
3. **テスト**
- 新機能にはテストを追加する
- `npm test`を実行してすべてのテストが合格することを確認する
- 変更が影響する既存のテストを更新する
- 適切な場合は単体テストと統合テストの両方を含める
4. **コミットガイドライン**
### 2. コーディングガイドライン
- **フォーカスしたPR**1つの機能/バグ修正ごとに1つのPR
- **コード品質**
- CIチェックリント、フォーマットを通す
- ESLintの警告やエラーを修正`npm run lint`
- 自動コードレビューのフィードバックに対応
- TypeScriptのベストプラクティスを守り、型安全を維持
- **テスト**
- 新機能にはテストを追加
- `npm test`で全テストが通ることを確認
- 既存テストに影響がある場合は更新
- **コミットメッセージ**
- 明確で説明的なコミットメッセージを書く
- #issue-number を使用してコミットで関連する課題を参照する
- 関連Issueを `#issue-number`(例:`Fixes #123`)で参照
- **PR提出前のチェックリスト**
- ブランチを最新のupstream `main`にリベース
- コードがビルドできることを確認(`npm run build`
- すべてのテストが通ることを確認(`npm test`
- デバッグ用コードや `console.log` を削除
5. **提出前に**
### 3. コード提出: Pull Request (PR) プロセス
- 最新のmainブランチに対してあなたのブランチをリベースする
- あなたのブランチが正常にビルドされることを確認する
- すべてのテストが合格していることを再確認する
- デバッグコードやコンソールログがないか変更を見直す
#### ドラフト Pull Request
6. **プルリクエストの説明**
- 変更内容を明確に説明する
- 変更をテストするための手順を含める
- 破壊的変更がある場合はリストアップする
- UI変更の場合はスクリーンショットを追加する
まだ完全なレビュー準備ができていない作業にはドラフトPRを使いましょう
## 貢献同意
- 自動チェックCIを走らせたい
- メンテナーや他のコントリビューターから早めにフィードバックが欲しい
- 作業中であることを示したい
プルリクエストを提出することにより、あなたの貢献がプロジェクトと同じライセンス([Apache 2.0](../LICENSE))の下でライセンスされることに同意したものとみなします。
すべてのチェックが通り、「コーディングガイドライン」と「Pull Request の説明」の基準を満たしていると思ったら「Ready for Review」にしてください。
#### Pull Request の説明
PRの説明は十分に詳細で、[Pull Request テンプレート](.github/pull_request_template.md)の構成に従ってください。主なポイント:
- 対応する承認済みGitHub Issueへのリンク
- 変更内容と目的の明確な説明
- 変更をテストするための詳細な手順
- 重大な変更点breaking changesのリスト
- **UI変更の場合はビフォーアフターのスクリーンショットや動画**
- **PRでユーザードキュメントの更新が必要な場合は、どのドキュメント/セクションか明記**
#### Pull Request (PR) ポリシー
##### 目的
クリーンでフォーカスされた、管理しやすいPRバックログを維持すること。
##### Issue-First アプローチ
- **必須**作業開始前に、既存で承認・割り当て済みのGitHub Issue「Bug Report」または「Detailed Feature Proposal」が必要
- **承認**:特に大きな変更の場合、メンテナー(特に@hannesrudolph)による事前承認が必要
- **参照**PRの説明でこれらのIssueを明示的に参照すること
- **違反時の結果**このプロセスを守らないPRは、完全なレビューなしでクローズされる場合があります
##### オープンPRの条件
- **マージ準備完了**すべてのCIテストに合格し、該当する場合ロードマップに沿い、承認・割り当て済みIssueに紐付けられ、明確なドキュメント/コメントがあり、UI変更にはビフォーアフター画像/動画がある
- **クローズ対象**CIテスト失敗、大きなマージコンフリクト、プロジェクト目標と不一致、長期間30日超フィードバック後に更新なし
##### 手順
1. **Issueの確認と割り当て**@hannesrudolphまたは他のメンテナーが新規・既存Issueを確認し、割り当てる
2. **初期PRトリアージ毎日**メンテナーが新規PRを素早くチェックし、緊急・重要なものを振り分け
3. **詳細なPRレビュー週次**メンテナーがPRの準備状況、Issueとの整合性、全体品質を詳細に確認
4. **詳細なフィードバックと反復**レビューに基づき、Approve/Request Changes/Rejectのフィードバック。コントリビューターは対応・修正
5. **決定段階**承認されたPRはマージ。不適合や解決不能なPRは理由を明記してクローズ
6. **フォローアップ**クローズされたPRの著者は、問題解決や方向転換後に新たなPRを提出可能
##### 責任
- **Issueの確認とプロセス遵守@hannesrudolph & メンテナー)**すべての貢献がIssue-Firstアプローチに従うよう確認し、コントリビューターをガイド
- **メンテナー(開発チーム)**PRの初期・詳細レビュー、技術的フィードバック、承認/却下判断、マージ
- **コントリビューター**承認・割り当て済みIssueに紐付け、品質ガイドライン遵守、迅速なフィードバック対応
このポリシーは明確さと効率的な統合を保証します。
## IV. 法的事項
### 貢献契約
Pull Request を提出することで、あなたの貢献が [Apache 2.0 ライセンス](LICENSE)(またはプロジェクトの現行ライセンス)で提供されることに同意したことになります。プロジェクトと同じです。

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • <b>한국어</b> • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# 기여자 서약 행동 강령
## 우리의 약속

View file

@ -1,174 +1,279 @@
# Roo Code에 기여하기
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • <b>한국어</b> • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Roo Code 기여 가이드
Roo Code에 기여하는 데 관심을 가져주셔서 기쁩니다. 버그를 수정하든, 기능을 추가하든, 문서를 개선하든, 모든 기여는 Roo Code를 더 스마트하게 만듭니다! 우리 커뮤니티를 활기차고 친절하게 유지하기 위해, 모든 구성원은 우리의 [행동 강령](CODE_OF_CONDUCT.md)을 준수해야 합니다.
Roo Code는 커뮤니티 주도의 프로젝트이며, 모든 기여를 소중하게 생각합니다. 모두를 위한 원활하고 효과적인 프로세스를 위해 **"[Issue-First](#2-핵심-원칙-issue-first-접근법)" 원칙**을 따릅니다. 즉, 모든 작업은 Pull Request를 제출하기 _전에_ 반드시 GitHub Issue와 연결되어야 합니다(자세한 내용은 [PR 정책](#pull-request-pr-정책) 참고). 이 가이드를 꼼꼼히 읽고 기여 방법을 이해해 주세요.
이 가이드는 Roo Code에 버그 수정, 기능 추가, 문서 개선 등 다양한 방식으로 기여하는 방법을 안내합니다.
## 우리 커뮤니티에 참여하세요
## 목차
모든 기여자가 우리의 [Discord 커뮤니티](https://discord.gg/roocode)에 참여할 것을 강력히 권장합니다! Discord 서버의 일원이 되면 다음과 같은 도움을 받을 수 있습니다:
- [I. 기여 전 준비](#i-기여-전-준비)
- [1. 행동 강령](#1-행동-강령)
- [2. 프로젝트 로드맵 이해](#2-프로젝트-로드맵-이해)
- [프로바이더 지원](#프로바이더-지원)
- [모델 지원](#모델-지원)
- [시스템 지원](#시스템-지원)
- [문서화](#문서화)
- [안정성](#안정성)
- [국제화](#국제화)
- [3. Roo Code 커뮤니티 참여](#3-roo-code-커뮤니티-참여)
- [II. 기여 내용 찾기 및 계획 세우기](#ii-기여-내용-찾기-및-계획-세우기)
- [1. 기여 유형](#1-기여-유형)
- [2. 핵심 원칙: Issue-First 접근법](#2-핵심-원칙-issue-first-접근법)
- [3. 작업 선택하기](#3-작업-선택하기)
- [4. 버그 및 이슈 신고](#4-버그-및-이슈-신고)
- [III. 개발 및 제출 프로세스](#iii-개발-및-제출-프로세스)
- [1. 개발 환경 설정](#1-개발-환경-설정)
- [2. 코드 작성 가이드라인](#2-코드-작성-가이드라인)
- [3. 코드 제출: Pull Request (PR) 프로세스](#3-코드-제출-pull-request-pr-프로세스)
- [드래프트 Pull Request](#드래프트-pull-request)
- [Pull Request 설명](#pull-request-설명)
- [Pull Request (PR) 정책](#pull-request-pr-정책)
- [목표](#목표)
- [Issue-First 접근법](#issue-first-접근법)
- [오픈 PR 조건](#오픈-pr-조건)
- [절차](#절차)
- [책임](#책임)
- [IV. 법적 안내](#iv-법적-안내)
- [기여 동의서](#기여-동의서)
- 기여에 대한 실시간 도움과 지침 얻기
- 다른 기여자 및 핵심 팀원과 연결
- 프로젝트 개발 및 우선순위에 대한 최신 정보 유지
- Roo Code의 미래를 형성하는 토론에 참여
- 다른 개발자와의 협업 기회 찾기
## I. 기여 전 준비
## 버그 또는 이슈 보고하기
먼저, 커뮤니티 기준과 프로젝트 방향을 숙지하세요.
버그 보고는 모두를 위해 Roo Code를 더 좋게 만드는 데 도움이 됩니다! 새 이슈를 만들기 전에, 중복을 피하기 위해 [기존 이슈 검색](https://github.com/RooVetGit/Roo-Code/issues)을 해주세요. 버그를 보고할 준비가 되면, 관련 정보를 작성하는 데 도움이 되는 템플릿이 있는 [이슈 페이지](https://github.com/RooVetGit/Roo-Code/issues/new/choose)로 이동하세요.
### 1. 행동 강령
<blockquote class='warning-note'>
🔐 <b>중요:</b> 보안 취약점을 발견한 경우, <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">비공개로 보고하기 위해 Github 보안 도구를 사용하세요</a>.
</blockquote>
모든 기여자는 [행동 강령](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md)을 준수해야 합니다. 기여 전 반드시 읽어주세요.
## 작업할 내용 결정하기
### 2. 프로젝트 로드맵 이해
첫 기여를 위한 좋은 시작점을 찾고 계신가요? 우리의 [Roo Code 이슈](https://github.com/orgs/RooVetGit/projects/1) Github 프로젝트의 "Issue [Unassigned]" 섹션에서 이슈를 확인하세요. 이러한 이슈들은 새로운 기여자와 우리가 도움을 필요로 하는 영역을 위해 특별히 선별되었습니다!
Roo Code는 명확한 개발 로드맵을 가지고 있으며, 우리의 우선순위와 미래 방향을 제시합니다. 로드맵을 이해하면 다음과 같은 도움이 됩니다:
우리는 [문서](https://docs.roocode.com/)에 대한 기여도 환영합니다! 오타 수정, 기존 가이드 개선 또는 새로운 교육 콘텐츠 생성 등 - 모든 사람이 Roo Code를 최대한 활용할 수 있도록 도와주는 커뮤니티 기반 리소스 저장소를 구축하고 싶습니다. 모든
페이지에서 "Edit this page"를 클릭하여 파일을 편집할 수 있는 Github의 적절한 위치로 빠르게 이동하거나, https://github.com/RooVetGit/Roo-Code-Docs에 직접 접근할 수 있습니다.
- 기여를 프로젝트 목표에 맞출 수 있음
- 본인의 전문성이 가장 필요한 영역을 찾을 수 있음
- 특정 설계 결정의 배경을 이해할 수 있음
- 비전을 지원하는 새로운 기능에 대한 영감을 얻을 수 있음
더 큰 기능 작업을 계획하고 있다면, Roo Code의 비전과 일치하는지 논의할 수 있도록 먼저 [기능 요청](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop)을 생성해주세요. 또한 아이디어가 우리의 전략적 방향과 일치하는지 확인하기 위해 아래의 [프로젝트 로드맵](#프로젝트-로드맵)을 확인할 수도 있습니다.
현재 로드맵은 6가지 핵심 기둥에 중점을 둡니다:
## 프로젝트 로드맵
#### 프로바이더 지원
Roo Code는 우리의 우선순위와 미래 방향을 안내하는 명확한 개발 로드맵을 가지고 있습니다. 우리의 로드맵을 이해하면 다음과 같은 도움을 받을 수 있습니다:
더 많은 프로바이더를 잘 지원하는 것이 목표입니다:
- 프로젝트 목표에 맞게 기여 조정
- 당신의 전문 지식이 가장 가치 있는 영역 식별
- 특정 디자인 결정 배경 이해
- 우리의 비전을 지원하는 새로운 기능에 대한 영감 찾기
현재 로드맵은 여섯 가지 주요 기둥에 초점을 맞추고 있습니다:
### 제공업체 지원
가능한 한 많은 제공업체를 지원하는 것을 목표로 합니다:
- 더 다재다능한 "OpenAI 호환" 지원
- 더 다양한 "OpenAI Compatible" 지원
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Ollama와 LM Studio에 대한 향상된 지원
- Ollama 및 LM Studio 지원 강화
### 모델 지원
#### 모델 지원
로컬 모델을 포함하여 가능한 한 많은 모델에서 Roo가 잘 작동하기를 원합니다:
Roo가 더 많은 모델(로컬 모델 포함)에서 잘 동작하도록 하고 싶습니다:
- 사용자 정의 시스템 프롬프팅 및 워크플로우를 통한 로컬 모델 지원
- 벤치마킹 평가 및 테스트 케이스
- 커스텀 시스템 프롬프트 및 워크플로우를 통한 로컬 모델 지원
- 벤치마킹, 평가, 테스트 케이스
### 시스템 지원
#### 시스템 지원
Roo가 모든 사람의 컴퓨터에서 잘 작동하기를 원합니다:
Roo가 모든 컴퓨터에서 잘 동작하도록 하고 싶습니다:
- 크로스 플랫폼 터미널 통합
- Mac, Windows 및 Linux에 대한 강력하고 일관된 지원
- 크로스플랫폼 터미널 통합
- Mac, Windows, Linux에서 강력하고 일관된 지원
### 문서화
#### 문서화
모든 사용자와 기여자를 위한 포괄적이고 접근 가능한 문서를 원합니다:
모든 사용자와 기여자를 위한 포괄적이고 접근성 높은 문서를 지향합니다:
- 확장된 사용자 가이드 및 튜토리얼
- 명확한 API 문서
- 기여자를 위한 더 나은 가이드
- 더 나은 기여자 가이드
- 다국어 문서 리소스
- 대화형 예제 및 코드 샘플
- 인터랙티브 예제 및 코드 샘플
### 안정성
#### 안정성
버그 수를 크게 줄이고 자동화된 테스트를 증가시키고자 합니다:
버그를 크게 줄이고 자동화된 테스트를 늘리고자 합니다:
- 디버그 로깅 스위치
- 버그/지원 요청과 함께 보낼 수 있는 "기기/작업 정보" 복사 버튼
- 버그/지원 요청용 "머신/작업 정보" 복사 버튼
### 국제화
#### 국제화
Roo가 모든 사람의 언어를 말하기를 원합니다:
Roo가 모두의 언어를 사용할 수 있도록 하고 싶습니다:
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
우리는 특히 로드맵 목표를 발전시키는 기여를 환영합니다. 이러한 기둥에 맞는 작업을 하고 있다면, PR 설명에서 이를 언급해 주세요.
로드맵 목표를 앞당기는 기여는 특히 환영합니다. 위 기둥과 관련된 작업을 한다면 PR 설명에 꼭 언급해 주세요.
## 개발 설정
### 3. Roo Code 커뮤니티 참여
1. 저장소 **클론**:
Roo Code 커뮤니티와 소통하는 것은 시작하기에 좋은 방법입니다:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **주요 방법**:
1. [Roo Code Discord 커뮤니티](https://discord.gg/roocode)에 가입하세요.
2. 가입 후 **Hannes Rudolph**(Discord: `hrudolph`)에게 DM을 보내 관심을 알리고 안내를 받으세요.
- **경험자용 대안**: Issue-First 접근법에 익숙하다면 [Kanban 보드](https://github.com/orgs/RooVetGit/projects/1)를 따라가며 GitHub에서 Issue 및 Pull Request로 직접 참여할 수 있습니다.
2. **의존성 설치**:
## II. 기여 내용 찾기 및 계획 세우기
```sh
npm run install:all
```
무엇을 할지, 어떻게 할지 결정하세요.
3. **웹뷰 시작(HMR이 있는 Vite/React 앱)**:
### 1. 기여 유형
```sh
npm run dev
```
다양한 기여를 환영합니다:
4. **디버깅**:
VSCode에서 `F5`를 누르거나(**실행** → **디버깅 시작**) Roo Code가 로드된 새 세션을 엽니다.
- **버그 수정**: 기존 코드의 문제 해결
- **새 기능**: 새로운 기능 추가
- **문서화**: 가이드, 예제 개선 또는 오타 수정
웹뷰의 변경 사항은 즉시 나타납니다. 코어 확장에 대한 변경 사항은 확장 호스트를 다시 시작해야 합니다.
### 2. 핵심 원칙: Issue-First 접근법
또는 .vsix를 빌드하고 VSCode에 직접 설치할 수 있습니다:
**모든 기여는 GitHub Issue에서 시작해야 합니다.** 이는 방향성 일치와 불필요한 노력을 방지하기 위해 중요합니다.
- **Issue 찾기/생성**:
- 시작 전 [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues)에서 관련 Issue가 있는지 확인하세요.
- 있다면, 할당되지 않은 경우 댓글로 참여 의사를 밝히세요. 메인테이너가 할당합니다.
- 없다면, [Issues 페이지](https://github.com/RooVetGit/Roo-Code/issues/new/choose)에서 적절한 템플릿으로 새 Issue를 만드세요:
- 버그는 "Bug Report" 템플릿
- 새 기능은 "Detailed Feature Proposal" 템플릿. 구현 전 메인테이너(특히 @hannesrudolph) 승인 필요
- **참고**: 기능 아이디어나 초기 논의는 [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests)에서 시작할 수 있습니다. 구체화되면 "Detailed Feature Proposal" Issue를 만드세요.
- **담당 표명 및 할당**:
- Issue에 댓글로 작업 의사를 명확히 밝히세요.
- 메인테이너가 공식적으로 GitHub에서 할당할 때까지 기다리세요. 중복 작업을 방지합니다.
- **지키지 않을 경우**:
- 관련 Issue가 없거나 승인·할당되지 않은 PR은 전체 리뷰 없이 닫힐 수 있습니다. 이는 프로젝트 우선순위와 모두의 시간을 존중하기 위함입니다.
이 접근법은 작업 추적, 변경 필요성 확인, 효과적인 협업에 도움이 됩니다.
### 3. 작업 선택하기
- **Good First Issues**: GitHub의 [Issue [Unassigned] 섹션](https://github.com/orgs/RooVetGit/projects/1) 참고
- **문서화**: 이 `CONTRIBUTING.md`는 코드 기여의 주요 가이드지만, 다른 문서(사용자 가이드, API 문서 등)에 기여하고 싶다면 [Roo Code Docs 저장소](https://github.com/RooVetGit/Roo-Code-Docs)를 참고하거나 Discord 커뮤니티에 문의하세요.
- **새 기능 제안**:
1. **초기 아이디어/논의**: 큰 틀의 아이디어나 초기 제안은 [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests)에서 시작하세요.
2. **공식 제안**: 구체적이고 실행 가능한 제안은 [Issues 페이지](https://github.com/RooVetGit/Roo-Code/issues/new/choose)에서 "Detailed Feature Proposal" 템플릿으로 Issue를 만드세요. 이는 **Issue-First 접근법**의 핵심입니다.
### 4. 버그 및 이슈 신고
버그를 발견했다면:
1. **기존 Issue 검색**: [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues)에서 중복 여부 확인
2. **새 Issue 생성**: 고유하다면 [Issues 페이지](https://github.com/RooVetGit/Roo-Code/issues/new/choose)에서 "Bug Report" 템플릿 사용
> 🔐 **보안 취약점**: 보안 취약점을 발견하면 [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new)로 비공개 신고하세요. 공개 Issue는 만들지 마세요.
## III. 개발 및 제출 프로세스
아래 단계에 따라 코딩하고 제출하세요.
### 1. 개발 환경 설정
1. **Fork & Clone**:
- GitHub에서 저장소를 포크하세요.
- 포크한 저장소를 로컬에 클론: `git clone https://github.com/당신의_아이디/Roo-Code.git`
2. **의존성 설치**: `npm run install:all`
3. **Webview(개발 모드) 실행**: `npm run dev` (Vite/React 앱의 HMR용)
4. **확장 디버깅**: VS Code에서 `F5`(또는 **Run****Start Debugging**)를 눌러 Roo Code가 로드된 Extension Development Host 창을 엽니다.
webview(`webview-ui`) 변경은 Hot Module Replacement로 즉시 반영됩니다. 코어 확장(`src`) 변경은 Extension Development Host 재시작 필요.
또는 `.vsix` 패키지 빌드 및 설치:
```sh
npm run build
```
`bin/` 디렉토리에 `.vsix` 파일이 나타나며 다음 명령으로 설치할 수 있습니다:
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## 코드 작성 및 제출
(`<version>`은 빌드된 파일의 실제 버전 번호로 대체)
누구나 Roo Code에 코드를 기여할 수 있지만, 기여가 원활하게 통합될 수 있도록 다음 지침을 따라주시기 바랍니다:
### 2. 코드 작성 가이드라인
1. **Pull Request 집중**
- **집중된 PR**: 기능/버그 수정별로 하나의 PR
- **코드 품질**:
- CI 체크(린트, 포맷) 통과
- ESLint 경고/오류 수정(`npm run lint`)
- 자동 코드 리뷰 도구 피드백 반영
- TypeScript 베스트 프랙티스 준수 및 타입 안전성 유지
- **테스트**:
- 새 기능에는 테스트 추가
- `npm test`로 모든 테스트 통과 확인
- 기존 테스트에 영향이 있으면 업데이트
- **커밋 메시지**:
- 명확하고 설명적인 메시지 작성
- 관련 Issue를 `#issue-number`(예: `Fixes #123`)로 참조
- **PR 제출 전 체크리스트**:
- 브랜치를 최신 upstream `main`에 리베이스
- 코드 빌드 확인(`npm run build`)
- 모든 테스트 통과 확인(`npm test`)
- 디버깅 코드나 `console.log` 삭제
- PR을 단일 기능 또는 버그 수정으로 제한
- 더 큰 변경사항을 더 작고 관련된 PR로 분할
- 독립적으로 검토할 수 있는 논리적인 커밋으로 변경사항 분할
### 3. 코드 제출: Pull Request (PR) 프로세스
2. **코드 품질**
#### 드래프트 Pull Request
- 모든 PR은 린팅 및 포맷팅을 포함한 CI 검사를 통과해야 함
- 제출하기 전에 모든 ESLint 경고나 오류 해결
- Ellipsis, 자동화된 코드 리뷰 도구의 모든 피드백에 응답
- TypeScript 모범 사례를 따르고 타입 안전성 유지
아직 전체 리뷰 준비가 안 된 작업에는 드래프트 PR을 사용하세요:
3. **테스팅**
- 자동 체크(CI) 실행
- 메인테이너나 다른 기여자에게 조기 피드백 요청
- 작업 진행 중임을 표시
- 새로운 기능에 대한 테스트 추가
- 모든 테스트가 통과하는지 확인하기 위해 `npm test` 실행
- 변경사항이 영향을 미치는 경우 기존 테스트 업데이트
- 적절한 경우 단위 테스트와 통합 테스트 모두 포함
모든 체크를 통과하고 "코드 작성 가이드라인"과 "Pull Request 설명" 기준을 충족한다고 생각되면 "Ready for Review"로 전환하세요.
4. **커밋 가이드라인**
#### Pull Request 설명
- 명확하고 설명적인 커밋 메시지 작성
- #이슈-번호를 사용하여 커밋에서 관련 이슈 참조
PR 설명은 충분히 상세해야 하며, [Pull Request 템플릿](.github/pull_request_template.md) 구조를 따라야 합니다. 주요 포인트:
5. **제출 전**
- 승인된 GitHub Issue 링크
- 변경 내용 및 목적의 명확한 설명
- 변경 테스트 방법의 상세 단계
- 주요 변경점(breaking changes) 목록
- **UI 변경 시, 전후 스크린샷 또는 동영상**
- **PR로 사용자 문서 업데이트가 필요한 경우, 어떤 문서/섹션인지 명시**
- 최신 main에 브랜치 리베이스
- 브랜치가 성공적으로 빌드되는지 확인
- 모든 테스트가 통과하는지 다시 확인
- 디버깅 코드나 콘솔 로그가 있는지 변경사항 검토
#### Pull Request (PR) 정책
6. **Pull Request 설명**
- 변경사항이 무엇을 하는지 명확하게 설명
- 변경사항을 테스트하는 단계 포함
- 모든 주요 변경사항 나열
- UI 변경사항에 대한 스크린샷 추가
##### 목표
## 기여 동의
깔끔하고 집중된, 관리하기 쉬운 PR 백로그 유지
Pull request를 제출함으로써, 귀하의 기여는 프로젝트와 동일한 라이선스([Apache 2.0](../LICENSE))에 따라 라이선스가 부여된다는 데 동의합니다.
##### Issue-First 접근법
- **필수**: 작업 시작 전, 승인·할당된 GitHub Issue("Bug Report" 또는 "Detailed Feature Proposal")가 있어야 함
- **승인**: 특히 큰 변경의 경우, 메인테이너(특히 @hannesrudolph) 사전 승인 필요
- **참조**: PR 설명에 해당 Issue를 명확히 참조
- **미준수 시**: 이 과정을 따르지 않으면 PR이 전체 리뷰 없이 닫힐 수 있음
##### 오픈 PR 조건
- **머지 준비 완료**: 모든 CI 테스트 통과, (해당 시) 로드맵과 일치, 승인·할당된 Issue와 연결, 명확한 문서/주석, UI 변경 시 전후 이미지/동영상 포함
- **닫힘 대상**: CI 실패, 큰 머지 충돌, 프로젝트 목표 불일치, 장기간(30일 이상) 피드백 후 미업데이트
##### 절차
1. **Issue 확인 및 할당**: @hannesrudolph(또는 다른 메인테이너)이 신규/기존 Issue를 검토·할당
2. **초기 PR 트리아지(매일)**: 메인테이너가 신규 PR을 빠르게 검토, 긴급/중요 이슈 분류
3. **상세 PR 리뷰(주간)**: 메인테이너가 PR 준비 상태, Issue 일치, 전체 품질을 상세 검토
4. **상세 피드백 및 반복**: 리뷰 후 Approve/Request Changes/Reject 피드백 제공, 기여자는 대응·수정
5. **결정 단계**: 승인된 PR은 머지, 부적합/해결불가 PR은 사유 명시 후 닫힘
6. **후속 조치**: 닫힌 PR 작성자는 문제 해결·방향 전환 후 새 PR 제출 가능
##### 책임
- **Issue 확인 및 프로세스 준수(@hannesrudolph & 메인테이너)**: 모든 기여가 Issue-First 접근법을 따르도록 확인, 기여자 안내
- **메인테이너(개발팀)**: PR 초기/상세 리뷰, 기술 피드백, 승인/거부 결정, 머지
- **기여자**: 승인·할당된 Issue와 연결, 품질 가이드라인 준수, 신속한 피드백 대응
이 정책은 명확성과 효율적 통합을 보장합니다.
## IV. 법적 안내
### 기여 동의서
Pull Request를 제출함으로써, 귀하의 기여가 [Apache 2.0 라이선스](LICENSE)(또는 프로젝트의 현행 라이선스)로 제공됨에 동의하는 것입니다. 프로젝트와 동일하게 적용됩니다.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • <b>Nederlands</b> • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Contributor Covenant Gedragscode
## Onze Belofte

View file

@ -1,168 +1,279 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • <b>Nederlands</b> • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Bijdragen aan Roo Code
We zijn blij dat je wilt bijdragen aan Roo Code. Of je nu een bug oplost, een nieuwe functie toevoegt of onze documentatie verbetert, elke bijdrage maakt Roo Code slimmer! Om onze community levendig en gastvrij te houden, moeten alle leden zich houden aan onze [Gedragscode](CODE_OF_CONDUCT.md).
Roo Code is een door de community gedreven project en we waarderen elke bijdrage enorm. Om het proces voor iedereen soepel en effectief te laten verlopen, **werken we volgens een "[Issue-First](#2-belangrijk-principe-issue-first-aanpak)" principe.** Dit betekent dat al het werk gekoppeld moet zijn aan een GitHub Issue _voordat_ er een Pull Request wordt ingediend (zie ons [PR-beleid](#pull-request-pr-beleid) voor details). Lees deze gids zorgvuldig door om te begrijpen hoe je kunt bijdragen.
Deze gids beschrijft hoe je kunt bijdragen aan Roo Code, of je nu bugs oplost, functies toevoegt of documentatie verbetert.
## Word lid van onze community
## Inhoudsopgave
We raden alle bijdragers sterk aan om lid te worden van onze [Discord-community](https://discord.gg/roocode)! Deelname aan onze Discord-server helpt je:
- [I. Voordat je bijdraagt](#i-voordat-je-bijdraagt)
- [1. Gedragscode](#1-gedragscode)
- [2. De project-roadmap begrijpen](#2-de-project-roadmap-begrijpen)
- [Provider-ondersteuning](#provider-ondersteuning)
- [Modelondersteuning](#modelondersteuning)
- [Systeemondersteuning](#systeemondersteuning)
- [Documentatie](#documentatie)
- [Stabiliteit](#stabiliteit)
- [Internationalisatie](#internationalisatie)
- [3. Word lid van de Roo Code-community](#3-word-lid-van-de-roo-code-community)
- [II. Je bijdrage vinden & plannen](#ii-je-bijdrage-vinden--plannen)
- [1. Soorten bijdragen](#1-soorten-bijdragen)
- [2. Belangrijk principe: Issue-First-aanpak](#2-belangrijk-principe-issue-first-aanpak)
- [3. Bepalen waar je aan werkt](#3-bepalen-waar-je-aan-werkt)
- [4. Bugs of problemen melden](#4-bugs-of-problemen-melden)
- [III. Ontwikkelings- & indieningsproces](#iii-ontwikkelings--indieningsproces)
- [1. Ontwikkelomgeving instellen](#1-ontwikkelomgeving-instellen)
- [2. Richtlijnen voor het schrijven van code](#2-richtlijnen-voor-het-schrijven-van-code)
- [3. Code indienen: Pull Request (PR) proces](#3-code-indienen-pull-request-pr-proces)
- [Concept-Pull Requests](#concept-pull-requests)
- [Pull Request-beschrijving](#pull-request-beschrijving)
- [Pull Request (PR) beleid](#pull-request-pr-beleid)
- [Doelstelling](#doelstelling)
- [Issue-First-aanpak](#issue-first-aanpak)
- [Voorwaarden voor open PR's](#voorwaarden-voor-open-prs)
- [Procedure](#procedure)
- [Verantwoordelijkheden](#verantwoordelijkheden)
- [IV. Juridisch](#iv-juridisch)
- [Bijdrageovereenkomst](#bijdrageovereenkomst)
- Direct hulp en begeleiding te krijgen bij je bijdragen
- In contact te komen met andere bijdragers en het kernteam
- Op de hoogte te blijven van projectontwikkelingen en prioriteiten
- Mee te doen aan discussies die de toekomst van Roo Code vormgeven
- Samenwerkingsmogelijkheden te vinden met andere ontwikkelaars
## I. Voordat je bijdraagt
## Bugs of problemen melden
Maak je eerst vertrouwd met onze community-standaarden en de richting van het project.
Bugmeldingen helpen Roo Code voor iedereen beter te maken! Zoek voordat je een nieuw issue aanmaakt eerst naar [bestaande issues](https://github.com/RooVetGit/Roo-Code/issues) om duplicaten te voorkomen. Klaar om een bug te melden? Ga dan naar onze [issues-pagina](https://github.com/RooVetGit/Roo-Code/issues/new/choose) waar je een sjabloon vindt om je te helpen de relevante informatie in te vullen.
### 1. Gedragscode
<blockquote class='warning-note'>
🔐 <b>Belangrijk:</b> Als je een beveiligingsprobleem ontdekt, gebruik dan het <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">Github-beveiligingsformulier om het privé te melden</a>.
</blockquote>
Alle bijdragers moeten zich houden aan onze [Gedragscode](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Lees deze voordat je bijdraagt.
## Waar kun je aan werken?
### 2. De project-roadmap begrijpen
Op zoek naar een goed eerste issue? Bekijk de issues in de sectie "Issue [Unassigned]" van ons [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) Github Project. Deze zijn speciaal geselecteerd voor nieuwe bijdragers en gebieden waar we graag hulp willen!
Roo Code heeft een duidelijke ontwikkel-roadmap die onze prioriteiten en toekomstige richting bepaalt. Door de roadmap te begrijpen kun je:
We verwelkomen ook bijdragen aan onze [documentatie](https://docs.roocode.com/)! Of het nu gaat om het verbeteren van bestaande handleidingen, het corrigeren van typefouten of het maken van nieuwe educatieve content - we bouwen graag samen aan een community-gedreven kennisbank. Je kunt op elke pagina op "Edit this page" klikken om snel naar het juiste bestand op Github te gaan, of direct naar https://github.com/RooVetGit/Roo-Code-Docs.
Wil je aan een grotere functie werken? Maak dan eerst een [feature request](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) aan zodat we kunnen bespreken of het past bij de visie van Roo Code. Bekijk ook onze [Project Roadmap](#project-roadmap) hieronder om te zien of je idee aansluit bij onze strategische richting.
## Project Roadmap
Roo Code heeft een duidelijke ontwikkelroutekaart die onze prioriteiten en toekomstige richting bepaalt. Door onze roadmap te begrijpen kun je:
- Je bijdragen afstemmen op projectdoelen
- Gebieden identificeren waar jouw expertise het meest waardevol is
- De context achter bepaalde ontwerpkeuzes begrijpen
- Je bijdragen afstemmen op de projectdoelen
- Gebieden vinden waar jouw expertise het meest waardevol is
- De context achter bepaalde ontwerpbeslissingen begrijpen
- Inspiratie opdoen voor nieuwe functies die onze visie ondersteunen
Onze huidige roadmap richt zich op zes belangrijke pijlers:
### Providerondersteuning
#### Provider-ondersteuning
We willen zoveel mogelijk providers goed ondersteunen:
- Meer veelzijdige "OpenAI Compatible"-ondersteuning
- Meer "OpenAI Compatible"-ondersteuning
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Verbeterde ondersteuning voor Ollama en LM Studio
### Modelondersteuning
#### Modelondersteuning
We willen dat Roo zo goed mogelijk werkt op zoveel mogelijk modellen, inclusief lokale modellen:
We willen dat Roo op zoveel mogelijk modellen werkt, inclusief lokale modellen:
- Lokale modelondersteuning via aangepaste systeemaansturing en workflows
- Lokale modelondersteuning via aangepaste systeem-prompts en workflows
- Benchmarking, evaluaties en testcases
### Systeemondersteuning
#### Systeemondersteuning
We willen dat Roo goed draait op ieders computer:
We willen dat Roo goed werkt op elke computer:
- Cross-platform terminalintegratie
- Sterke en consistente ondersteuning voor Mac, Windows en Linux
### Documentatie
#### Documentatie
We willen uitgebreide, toegankelijke documentatie voor alle gebruikers en bijdragers:
- Uitgebreide gebruikershandleidingen en tutorials
- Duidelijke API-documentatie
- Betere bijdragersgids
- Meertalige documentatiebronnen
- Betere begeleiding voor bijdragers
- Meertalige documentatieresources
- Interactieve voorbeelden en codevoorbeelden
### Stabiliteit
#### Stabiliteit
We willen het aantal bugs aanzienlijk verminderen en geautomatiseerd testen uitbreiden:
We willen het aantal bugs aanzienlijk verminderen en geautomatiseerd testen vergroten:
- Debug logging-schakelaar
- "Machine/Taak-informatie" kopieerknop voor bug/supportverzoeken
- Debug-logging-schakelaar
- "Machine/Taak-informatie kopiëren"-knop voor bug-/supportverzoeken
### Internationalisatie
#### Internationalisatie
We willen dat Roo ieders taal spreekt:
- Wij willen dat Roo Code ieders taal spreekt
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
We verwelkomen vooral bijdragen die onze roadmap-doelen ondersteunen. Als je werkt aan iets dat aansluit bij deze pijlers, vermeld dit dan in je PR-beschrijving.
We verwelkomen vooral bijdragen die onze roadmap-doelen bevorderen. Als je werkt aan iets dat aansluit bij deze pijlers, vermeld dit dan in je PR-beschrijving.
## Ontwikkelomgeving instellen
### 3. Word lid van de Roo Code-community
1. **Kloon** de repo:
Contact maken met de Roo Code-community is een geweldige manier om te beginnen:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Hoofdmethode**:
1. Word lid van de [Roo Code Discord-community](https://discord.gg/roocode).
2. Stuur vervolgens een direct bericht (DM) naar **Hannes Rudolph** (Discord: `hrudolph`) om je interesse te bespreken en advies te krijgen.
- **Alternatief voor ervaren bijdragers**: Als je vertrouwd bent met de Issue-First-aanpak, kun je direct via GitHub meedoen door het [Kanban-bord](https://github.com/orgs/RooVetGit/projects/1) te volgen en te communiceren via issues en pull requests.
2. **Installeer afhankelijkheden**:
## II. Je bijdrage vinden & plannen
```sh
npm run install:all
```
Bepaal waar je aan wilt werken en hoe je dat aanpakt.
3. **Start de webview (Vite/React-app met HMR)**:
### 1. Soorten bijdragen
```sh
npm run dev
```
We verwelkomen verschillende soorten bijdragen:
4. **Debuggen**:
Druk op `F5` (of **Run****Start Debugging**) in VSCode om een nieuwe sessie met Roo Code te openen.
- **Bugfixes**: Problemen in bestaande code oplossen
- **Nieuwe functies**: Nieuwe functionaliteit toevoegen
- **Documentatie**: Handleidingen verbeteren, voorbeelden toevoegen of typefouten corrigeren
Wijzigingen aan de webview verschijnen direct. Wijzigingen aan de core-extensie vereisen een herstart van de extensiehost.
### 2. Belangrijk principe: Issue-First-aanpak
Je kunt ook een .vsix bouwen en deze direct in VSCode installeren:
**Elke bijdrage moet beginnen met een GitHub Issue.** Dit is essentieel om afstemming te waarborgen en verspilde moeite te voorkomen.
- **Issue zoeken of aanmaken**:
- Zoek voordat je begint in [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) of er al een issue bestaat voor jouw bijdrage.
- Als het bestaat en niet is toegewezen, reageer dan om aan te geven dat je het wilt oppakken. Een maintainer wijst het dan toe.
- Als het niet bestaat, maak dan een nieuwe aan met de juiste template op onze [issues-pagina](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Voor bugs: "Bug Report"-template
- Voor nieuwe functies: "Detailed Feature Proposal"-template. Wacht op goedkeuring van een maintainer (vooral @hannesrudolph) voordat je begint met implementeren.
- **Let op**: Algemene ideeën of eerste discussies over functies kunnen starten in [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Zodra het idee concreter is, moet er een "Detailed Feature Proposal"-issue worden aangemaakt.
- **Claimen en toewijzen**:
- Geef duidelijk aan dat je aan een issue wilt werken door erop te reageren.
- Wacht tot een maintainer het officieel aan je toewijst in GitHub. Zo voorkomen we dat meerdere mensen aan hetzelfde werken.
- **Gevolgen van niet volgen**:
- Pull Requests (PR's) zonder een bijbehorend, vooraf goedgekeurd en toegewezen issue kunnen zonder volledige review worden gesloten. Dit beleid is bedoeld om ervoor te zorgen dat bijdragen aansluiten bij de projectprioriteiten en om ieders tijd te respecteren.
Deze aanpak helpt ons om werk te volgen, te zorgen dat wijzigingen gewenst zijn en inspanningen effectief te coördineren.
### 3. Bepalen waar je aan werkt
- **Good First Issues**: Bekijk de sectie "Issue [Unassigned]" van ons [Roo Code Issues-project](https://github.com/orgs/RooVetGit/projects/1) op GitHub.
- **Documentatie**: Hoewel deze `CONTRIBUTING.md` de hoofdgids is voor codebijdragen, als je wilt bijdragen aan andere documentatie (zoals gebruikershandleidingen of API-documentatie), bekijk dan de [Roo Code Docs-repository](https://github.com/RooVetGit/Roo-Code-Docs) of vraag het in de Discord-community.
- **Nieuwe functies voorstellen**:
1. **Eerste idee/discussie**: Voor brede of eerste ideeën, start een gesprek in [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Formeel voorstel**: Voor specifieke, uitvoerbare voorstellen, maak een "Detailed Feature Proposal"-issue aan met de template op onze [issues-pagina](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Dit is een belangrijk onderdeel van onze **Issue-First-aanpak**.
### 4. Bugs of problemen melden
Als je een bug vindt:
1. **Bestaande issues zoeken**: Controleer [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) op duplicaten.
2. **Nieuw issue aanmaken**: Als het uniek is, gebruik dan de "Bug Report"-template op onze [issues-pagina](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Beveiligingsproblemen**: Als je een beveiligingsprobleem ontdekt, meld dit dan privé via de [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Maak geen openbaar issue voor beveiligingsproblemen.
## III. Ontwikkelings- & indieningsproces
Volg deze stappen voor het coderen en indienen van je werk.
### 1. Ontwikkelomgeving instellen
1. **Fork & Clone**:
- Fork de repository op GitHub.
- Clone je fork lokaal: `git clone https://github.com/JOUW_GEBRUIKERSNAAM/Roo-Code.git`
2. **Installeer afhankelijkheden**: `npm run install:all`
3. **Start Webview (Dev Mode)**: `npm run dev` (voor de Vite/React-app met HMR)
4. **Debug de extensie**: Druk op `F5` in VS Code (of **Run****Start Debugging**) om een nieuw Extension Development Host-venster met Roo Code te openen.
Wijzigingen in webview (`webview-ui`) verschijnen direct dankzij Hot Module Replacement. Wijzigingen aan de core-extensie (`src`) vereisen een herstart van de Extension Development Host.
Je kunt ook een `.vsix`-pakket bouwen en installeren:
```sh
npm run build
```
Een `.vsix`-bestand verschijnt in de `bin/`-map en kan worden geïnstalleerd met:
```sh
code --install-extension bin/roo-cline-<versie>.vsix
```
## Code schrijven en indienen
(Vervang `<versie>` door het daadwerkelijke versienummer van het gegenereerde bestand.)
Iedereen kan code bijdragen aan Roo Code, maar we vragen je deze richtlijnen te volgen zodat je bijdrage soepel kan worden geïntegreerd:
### 2. Richtlijnen voor het schrijven van code
1. **Houd Pull Requests gefocust**
- Beperk PR's tot één functie of bugfix
- Splits grotere wijzigingen op in kleinere, gerelateerde PR's
- Maak logische commits die onafhankelijk kunnen worden beoordeeld
- **Gerichte PR's**: Eén feature/bugfix per PR.
- **Codekwaliteit**:
- CI-checks doorstaan (linten, formatteren)
- ESLint-waarschuwingen of fouten oplossen (`npm run lint`)
- Reageren op feedback van automatische code review-tools
- TypeScript best practices volgen en typeveiligheid behouden
- **Testen**:
- Tests toevoegen voor nieuwe features
- `npm test` uitvoeren om te zorgen dat alles slaagt
- Bestaande tests bijwerken als je wijzigingen ze beïnvloeden
- **Commitberichten**:
- Duidelijke, beschrijvende commitberichten schrijven
- Relevante issues refereren met `#issue-nummer` (bijv. `Fixes #123`)
- **Checklist voor het indienen van een PR**:
- Je branch rebasen op de laatste `main` van upstream
- Controleren of je code bouwt (`npm run build`)
- Alle tests moeten slagen (`npm test`)
- Debugcode of `console.log`-statements verwijderen
2. **Codekwaliteit**
- Alle PR's moeten slagen voor CI-checks, inclusief linting en formatting
- Los alle ESLint-waarschuwingen of -fouten op voor je indient
- Reageer op alle feedback van Ellipsis, onze geautomatiseerde code-reviewtool
- Volg TypeScript best practices en behoud typesafety
### 3. Code indienen: Pull Request (PR) proces
3. **Testen**
- Voeg tests toe voor nieuwe functies
- Voer `npm test` uit om te controleren of alle tests slagen
- Werk bestaande tests bij als je wijzigingen ze beïnvloeden
- Voeg waar mogelijk zowel unit- als integratietests toe
#### Concept-Pull Requests
4. **Commitrichtlijnen**
- Schrijf duidelijke, beschrijvende commitberichten
- Verwijs naar relevante issues in commits met #issue-nummer
Gebruik concept-PR's voor werk dat nog niet klaar is voor volledige review, maar waarvoor je:
5. **Voor het indienen**
- Rebase je branch op de laatste main
- Controleer of je branch succesvol bouwt
- Controleer of alle tests slagen
- Controleer je wijzigingen op debuggingcode of console.logs
- Geautomatiseerde checks (CI) wilt uitvoeren
- Vroeg feedback wilt van maintainers of andere bijdragers
- Wilt aangeven dat het werk in uitvoering is
6. **Pull Request-beschrijving**
- Beschrijf duidelijk wat je wijzigingen doen
- Voeg stappen toe om de wijzigingen te testen
- Noem eventuele breaking changes
- Voeg screenshots toe bij UI-wijzigingen
Markeer een PR pas als "Ready for Review" als alle checks slagen en je denkt dat deze voldoet aan de criteria van "Richtlijnen voor het schrijven van code" en "Pull Request-beschrijving".
## Bijdrageovereenkomst
#### Pull Request-beschrijving
Door een pull request in te dienen, ga je ermee akkoord dat je bijdragen worden gelicenseerd onder dezelfde licentie als het project ([Apache 2.0](../../LICENSE)).
De beschrijving van je PR moet volledig zijn en de structuur van onze [Pull Request Template](.github/pull_request_template.md) volgen. Belangrijke punten:
- Een link naar het goedgekeurde GitHub Issue dat wordt aangepakt
- Een duidelijke beschrijving van de gemaakte wijzigingen en het doel ervan
- Gedetailleerde stappen om de wijzigingen te testen
- Een lijst van eventuele breaking changes
- **Voor UI-wijzigingen: voor-en-na screenshots of video's**
- **Geef aan of je PR gebruikersdocumentatie moet bijwerken en welke documenten/secties worden beïnvloed**
#### Pull Request (PR) beleid
##### Doelstelling
Een schone, gerichte en beheersbare PR-backlog behouden.
##### Issue-First-aanpak
- **Vereist**: Voordat je begint, moet er een bestaand, goedgekeurd en toegewezen GitHub Issue zijn ("Bug Report" of "Detailed Feature Proposal").
- **Goedkeuring**: Issues, vooral voor grote wijzigingen, moeten vooraf worden beoordeeld en goedgekeurd door maintainers (vooral @hannesrudolph).
- **Referentie**: PR's moeten deze vooraf goedgekeurde issues expliciet in hun beschrijving vermelden.
- **Gevolgen**: Niet volgen van dit proces kan ertoe leiden dat je PR zonder volledige review wordt gesloten.
##### Voorwaarden voor open PR's
- **Klaar om te mergen**: Slaagt voor alle CI-tests, sluit aan bij de roadmap (indien van toepassing), is gekoppeld aan een goedgekeurd en toegewezen issue, heeft duidelijke documentatie/commentaar, bevat voor-en-na beelden/video's voor UI-wijzigingen
- **Te sluiten**: CI-testfouten, grote mergeconflicten, geen aansluiting bij projectdoelen of langdurige inactiviteit (>30 dagen zonder updates na feedback)
##### Procedure
1. **Issue-kwalificatie & toewijzing**: @hannesrudolph (of andere maintainers) beoordelen en wijzen nieuwe en bestaande issues toe.
2. **Eerste PR-triage (dagelijks)**: Maintainers doen een snelle check van nieuwe PR's op urgentie of kritieke zaken.
3. **Grondige PR-review (wekelijks)**: Maintainers beoordelen PR's op gereedheid, aansluiting bij het goedgekeurde issue en algemene kwaliteit.
4. **Gedetailleerde feedback & iteratie**: Op basis van de review geven maintainers feedback (Approve, Request Changes, Reject). Van bijdragers wordt verwacht dat ze reageren en waar nodig verbeteren.
5. **Beslissingsfase**: Goedgekeurde PR's worden gemerged. PR's met onoplosbare problemen of die niet aansluiten kunnen met uitleg worden gesloten.
6. **Follow-up**: Auteurs van gesloten PR's kunnen feedback verwerken en nieuwe PR's openen als problemen zijn opgelost of de projectrichting verandert.
##### Verantwoordelijkheden
- **Issue-kwalificatie & procesbewaking (@hannesrudolph & maintainers)**: Zorgen dat alle bijdragen de Issue-First-aanpak volgen. Bijdragers begeleiden in het proces.
- **Maintainers (Dev Team)**: PR's beoordelen, technisch feedback geven, goedkeuren/afwijzen, PR's mergen.
- **Bijdragers**: PR's koppelen aan een goedgekeurd en toegewezen issue, voldoen aan kwaliteitsrichtlijnen en snel reageren op feedback.
Dit beleid zorgt voor duidelijkheid en efficiënte integratie.
## IV. Juridisch
### Bijdrageovereenkomst
Door een pull request in te dienen, ga je ermee akkoord dat je bijdragen worden gelicenseerd onder de [Apache 2.0-licentie](LICENSE) (of de huidige licentie van het project), net als het project.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • <b>Polski</b> • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Kodeks Postępowania Covenant Współtwórców
## Nasze Zobowiązanie

View file

@ -1,84 +1,107 @@
# Wkład w Roo Code
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • <b>Polski</b> • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Współtworzenie Roo Code
Cieszymy się, że jesteś zainteresowany wniesieniem wkładu do Roo Code. Czy naprawiasz błąd, dodajesz funkcję, czy ulepszasz naszą dokumentację, każdy wkład sprawia, że Roo Code staje się mądrzejszy! Aby utrzymać naszą społeczność żywą i przyjazną, wszyscy członkowie muszą przestrzegać naszego [Kodeksu Postępowania](CODE_OF_CONDUCT.md).
Roo Code to projekt napędzany przez społeczność i bardzo cenimy każdy wkład. Aby zapewnić płynny i skuteczny proces dla wszystkich, **działamy według zasady "[Issue-First](#2-kluczowa-zasada-podejście-issue-first)".** Oznacza to, że każda praca powinna być powiązana z GitHub Issue _przed_ zgłoszeniem Pull Requesta (szczegóły w naszej [Polityce PR](#polityka-pull-request-pr)). Przeczytaj ten przewodnik uważnie, aby dowiedzieć się, jak możesz współtworzyć.
Ten przewodnik opisuje, jak współtworzyć Roo Code czy to naprawiając błędy, dodając funkcje, czy ulepszając dokumentację.
## Dołącz do naszej społeczności
## Spis treści
Gorąco zachęcamy wszystkich współtwórców do dołączenia do naszej [społeczności Discord](https://discord.gg/roocode)! Bycie częścią naszego serwera Discord pomaga:
- [I. Zanim zaczniesz współtworzyć](#i-zanim-zaczniesz-współtworzyć)
- [1. Kodeks postępowania](#1-kodeks-postępowania)
- [2. Zrozumienie roadmapy projektu](#2-zrozumienie-roadmapy-projektu)
- [Wsparcie providerów](#wsparcie-providerów)
- [Wsparcie modeli](#wsparcie-modeli)
- [Wsparcie systemów](#wsparcie-systemów)
- [Dokumentacja](#dokumentacja)
- [Stabilność](#stabilność)
- [Internacjonalizacja](#internacjonalizacja)
- [3. Dołącz do społeczności Roo Code](#3-dołącz-do-społeczności-roo-code)
- [II. Znajdowanie i planowanie swojego wkładu](#ii-znajdowanie-i-planowanie-swojego-wkładu)
- [1. Typy wkładów](#1-typy-wkładów)
- [2. Kluczowa zasada: podejście Issue-First](#2-kluczowa-zasada-podejście-issue-first)
- [3. Decydowanie, nad czym pracować](#3-decydowanie-nad-czym-pracować)
- [4. Zgłaszanie błędów lub problemów](#4-zgłaszanie-błędów-lub-problemów)
- [III. Proces rozwoju i zgłaszania](#iii-proces-rozwoju-i-zgłaszania)
- [1. Konfiguracja środowiska](#1-konfiguracja-środowiska)
- [2. Wytyczne dotyczące pisania kodu](#2-wytyczne-dotyczące-pisania-kodu)
- [3. Zgłaszanie kodu: proces Pull Request (PR)](#3-zgłaszanie-kodu-proces-pull-request-pr)
- [Pull Requesty w wersji roboczej](#pull-requesty-w-wersji-roboczej)
- [Opis Pull Requesta](#opis-pull-requesta)
- [Polityka Pull Request (PR)](#polityka-pull-request-pr)
- [Cel](#cel)
- [Podejście Issue-First](#podejście-issue-first)
- [Warunki dla otwartych PR](#warunki-dla-otwartych-pr)
- [Procedura](#procedura)
- [Odpowiedzialności](#odpowiedzialności)
- [IV. Prawne](#iv-prawne)
- [Umowa współtwórcy](#umowa-współtwórcy)
- Uzyskać pomoc i wskazówki w czasie rzeczywistym dotyczące Twoich wkładów
- Połączyć się z innymi współtwórcami i członkami głównego zespołu
- Być na bieżąco z rozwojem projektu i jego priorytetami
- Uczestniczyć w dyskusjach, które kształtują przyszłość Roo Code
- Znaleźć możliwości współpracy z innymi programistami
## I. Zanim zaczniesz współtworzyć
## Zgłaszanie błędów lub problemów
Najpierw zapoznaj się ze standardami społeczności i kierunkiem projektu.
Raporty o błędach pomagają ulepszyć Roo Code dla wszystkich! Przed utworzeniem nowego zgłoszenia, proszę [przeszukaj istniejące](https://github.com/RooVetGit/Roo-Code/issues), aby uniknąć duplikatów. Kiedy jesteś gotowy, aby zgłosić błąd, przejdź do naszej [strony zgłoszeń](https://github.com/RooVetGit/Roo-Code/issues/new/choose), gdzie znajdziesz szablon, który pomoże Ci wypełnić odpowiednie informacje.
### 1. Kodeks postępowania
<blockquote class='warning-note'>
🔐 <b>Ważne:</b> Jeśli odkryjesz lukę w zabezpieczeniach, proszę użyj <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">narzędzia bezpieczeństwa Github, aby zgłosić ją prywatnie</a>.
</blockquote>
Wszyscy współtwórcy muszą przestrzegać naszego [Kodeksu postępowania](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Przeczytaj go przed rozpoczęciem współtworzenia.
## Decydowanie nad czym pracować
### 2. Zrozumienie roadmapy projektu
Szukasz dobrego pierwszego wkładu? Sprawdź problemy w sekcji "Issue [Unassigned]" naszego [projektu Github Roo Code](https://github.com/orgs/RooVetGit/projects/1). Te zostały specjalnie wybrane dla nowych współtwórców i obszarów, gdzie chętnie przyjmiemy pomoc!
Roo Code ma jasną roadmapę rozwoju, która wyznacza nasze priorytety i przyszły kierunek. Zrozumienie roadmapy pomoże ci:
Cieszymy się również z wkładu do naszej [dokumentacji](https://docs.roocode.com/)! Czy to poprawianie literówek, ulepszanie istniejących przewodników, czy tworzenie nowych treści edukacyjnych - chcielibyśmy zbudować repozytorium zasobów napędzane przez społeczność, które pomaga każdemu czerpać maksimum z Roo Code. Możesz kliknąć "Edit this page" na dowolnej stronie, aby szybko przejść do odpowiedniego miejsca w Github, aby edytować plik, lub możesz przejść bezpośrednio do https://github.com/RooVetGit/Roo-Code-Docs.
- Dopasować swój wkład do celów projektu
- Znaleźć obszary, w których twoja wiedza będzie najbardziej wartościowa
- Zrozumieć kontekst niektórych decyzji projektowych
- Zainspirować się do nowych funkcji wspierających naszą wizję
Jeśli planujesz pracować nad większą funkcją, proszę najpierw utwórz [prośbę o funkcję](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop), abyśmy mogli przedyskutować, czy jest ona zgodna z wizją Roo Code. Możesz również sprawdzić naszą [Mapę Drogową Projektu](#mapa-drogowa-projektu) poniżej, aby zobaczyć, czy Twój pomysł pasuje do naszego strategicznego kierunku.
Obecna roadmapa skupia się na sześciu kluczowych filarach:
## Mapa Drogowa Projektu
#### Wsparcie providerów
Roo Code posiada jasną mapę drogową rozwoju, która kieruje naszymi priorytetami i przyszłym kierunkiem. Zrozumienie naszej mapy drogowej może pomóc Ci:
Chcemy dobrze wspierać jak najwięcej providerów:
- Dostosować swoje wkłady do celów projektu
- Zidentyfikować obszary, w których Twoja wiedza byłaby najbardziej wartościowa
- Zrozumieć kontekst stojący za pewnymi decyzjami projektowymi
- Znaleźć inspirację dla nowych funkcji, które wspierają naszą wizję
Nasza obecna mapa drogowa koncentruje się na sześciu kluczowych filarach:
### Wsparcie dla Dostawców
Dążymy do wspierania jak największej liczby dostawców:
- Bardziej wszechstronne wsparcie dla "OpenAI Compatible"
- Więcej wsparcia "OpenAI Compatible"
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Ulepszone wsparcie dla Ollama i LM Studio
### Wsparcie dla Modeli
#### Wsparcie modeli
Chcemy, aby Roo działał jak najlepiej na jak największej liczbie modeli, w tym modeli lokalnych:
Chcemy, aby Roo działał na jak największej liczbie modeli, w tym lokalnych:
- Wsparcie dla modeli lokalnych poprzez niestandardowe promptowanie systemowe i przepływy pracy
- Benchmarki ewaluacyjne i przypadki testowe
- Wsparcie modeli lokalnych przez niestandardowe prompty systemowe i workflowy
- Benchmarki, ewaluacje i przypadki testowe
### Wsparcie dla Systemów
#### Wsparcie systemów
Chcemy, aby Roo działał dobrze na komputerze każdego:
Chcemy, aby Roo działał dobrze na każdym komputerze:
- Integracja terminala międzyplatformowego
- Silne i spójne wsparcie dla Mac, Windows i Linux
### Dokumentacja
#### Dokumentacja
Chcemy kompleksowej, dostępnej dokumentacji dla wszystkich użytkowników i współtwórców:
- Rozszerzone przewodniki użytkownika i tutoriale
- Rozszerzone przewodniki użytkownika i samouczki
- Jasna dokumentacja API
- Lepsze wskazówki dla współtwórców
- Wielojęzyczne zasoby dokumentacji
- Interaktywne przykłady i próbki kodu
- Wielojęzyczne zasoby dokumentacyjne
- Interaktywne przykłady i fragmenty kodu
### Stabilność
#### Stabilność
Chcemy znacznie zmniejszyć liczbę błędów i zwiększyć zautomatyzowane testowanie:
Chcemy znacznie zmniejszyć liczbę błędów i zwiększyć automatyczne testowanie:
- Przełącznik rejestrowania debugowania
- Przycisk kopiowania "Informacji o Maszynie/Zadaniu" do wysyłania z prośbami o pomoc/zgłoszeniami błędów
- Przełącznik debugowania logów
- Przycisk "Kopiuj informacje o maszynie/zadaniu" do zgłoszeń błędów/wsparcia
### Internacjonalizacja
#### Internacjonalizacja
Chcemy, aby Roo mówił językiem każdego:
@ -87,87 +110,170 @@ Chcemy, aby Roo mówił językiem każdego:
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Szczególnie witamy wkłady, które przyspieszają realizację celów naszej mapy drogowej. Jeśli pracujesz nad czymś, co jest zgodne z tymi filarami, proszę wspomnij o tym w opisie swojego PR.
Szczególnie mile widziane są wkłady, które realizują cele roadmapy. Jeśli pracujesz nad czymś zgodnym z tymi filarami, wspomnij o tym w opisie PR.
## Konfiguracja rozwojowa
### 3. Dołącz do społeczności Roo Code
1. **Sklonuj** repozytorium:
Nawiązanie kontaktu ze społecznością Roo Code to świetny sposób na rozpoczęcie:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Główna metoda**:
1. Dołącz do [społeczności Roo Code na Discordzie](https://discord.gg/roocode).
2. Po dołączeniu wyślij wiadomość prywatną (DM) do **Hannes Rudolph** (Discord: `hrudolph`), aby omówić swoje zainteresowanie i uzyskać wskazówki.
- **Alternatywa dla doświadczonych współtwórców**: Jeśli dobrze znasz podejście Issue-First, możesz działać bezpośrednio przez GitHub, śledząc [tablicę Kanban](https://github.com/orgs/RooVetGit/projects/1) i komunikując się przez issues i pull requesty.
2. **Zainstaluj zależności**:
## II. Znajdowanie i planowanie swojego wkładu
```sh
npm run install:all
```
Zdecyduj, nad czym chcesz pracować i jak się za to zabierzesz.
3. **Uruchom webview (aplikację Vite/React z HMR)**:
### 1. Typy wkładów
```sh
npm run dev
```
Witamy różne typy wkładów:
4. **Debugowanie**:
Naciśnij `F5` (lub **Uruchom****Rozpocznij debugowanie**) w VSCode, aby otworzyć nową sesję z załadowanym Roo Code.
- **Poprawki błędów**: Naprawianie problemów w istniejącym kodzie
- **Nowe funkcje**: Dodawanie nowych funkcjonalności
- **Dokumentacja**: Ulepszanie przewodników, dodawanie przykładów lub poprawianie literówek
Zmiany w webview pojawią się natychmiast. Zmiany w podstawowym rozszerzeniu będą wymagać ponownego uruchomienia hosta rozszerzenia.
### 2. Kluczowa zasada: podejście Issue-First
Alternatywnie możesz zbudować plik .vsix i zainstalować go bezpośrednio w VSCode:
**Każdy wkład musi zaczynać się od GitHub Issue.** To kluczowe, by zapewnić zgodność i uniknąć niepotrzebnej pracy.
- **Znajdź lub utwórz Issue**:
- Przed rozpoczęciem sprawdź w [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues), czy już istnieje issue dla twojego wkładu.
- Jeśli istnieje i nie jest przypisane, skomentuj, że chcesz się tym zająć. Maintainer ci je przypisze.
- Jeśli nie istnieje, utwórz nowe, korzystając z odpowiedniego szablonu na naszej [stronie issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Dla błędów: szablon "Bug Report"
- Dla nowych funkcji: szablon "Detailed Feature Proposal". Poczekaj na zatwierdzenie przez maintainerów (szczególnie @hannesrudolph) przed rozpoczęciem implementacji.
- **Uwaga**: Ogólne pomysły lub wstępne dyskusje o funkcjach mogą zacząć się w [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Gdy pomysł się sprecyzuje, należy utworzyć issue "Detailed Feature Proposal".
- **Zgłaszanie i przypisywanie**:
- Wyraźnie zaznacz chęć pracy nad issue, komentując je.
- Poczekaj, aż maintainer oficjalnie ci je przypisze na GitHubie. Dzięki temu unikniemy dublowania pracy.
- **Konsekwencje nieprzestrzegania**:
- Pull Requesty (PR) bez powiązanego, zatwierdzonego i przypisanego issue mogą zostać zamknięte bez pełnej recenzji. Ta polityka zapewnia zgodność wkładów z celami projektu i szanuje czas wszystkich.
To podejście pomaga nam śledzić pracę, upewnić się, że zmiany są pożądane, i skutecznie koordynować wysiłki.
### 3. Decydowanie, nad czym pracować
- **Good First Issues**: Sprawdź sekcję "Issue [Unassigned]" w naszym [projekcie Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) na GitHubie.
- **Dokumentacja**: Choć ten `CONTRIBUTING.md` to główny przewodnik dla wkładów kodowych, jeśli chcesz współtworzyć inną dokumentację (np. przewodniki użytkownika lub API), sprawdź [repozytorium Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) lub zapytaj na Discordzie.
- **Proponowanie nowych funkcji**:
1. **Wstępny pomysł/dyskusja**: Ogólne lub początkowe pomysły omawiaj w [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Formalna propozycja**: Dla konkretnych, gotowych do rozważenia propozycji utwórz issue "Detailed Feature Proposal" z szablonu na naszej [stronie issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). To kluczowy element naszego **podejścia Issue-First**.
### 4. Zgłaszanie błędów lub problemów
Jeśli znajdziesz błąd:
1. **Szukaj istniejących issues**: Sprawdź [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues), czy nie ma już zgłoszenia.
2. **Utwórz nowe issue**: Jeśli to unikalny problem, użyj szablonu "Bug Report" na naszej [stronie issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Luki bezpieczeństwa**: Jeśli odkryjesz lukę bezpieczeństwa, zgłoś ją prywatnie przez [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Nie twórz publicznego issue dla luk bezpieczeństwa.
## III. Proces rozwoju i zgłaszania
Postępuj według tych kroków, aby kodować i zgłaszać swój wkład.
### 1. Konfiguracja środowiska
1. **Fork & Clone**:
- Zrób fork repozytorium na GitHubie.
- Sklonuj swojego forka lokalnie: `git clone https://github.com/TWÓJ_UŻYTKOWNIK/Roo-Code.git`
2. **Zainstaluj zależności**: `npm run install:all`
3. **Uruchom Webview (Dev Mode)**: `npm run dev` (dla aplikacji Vite/React z HMR)
4. **Debuguj rozszerzenie**: Wciśnij `F5` w VS Code (lub **Run****Start Debugging**), aby otworzyć nowe okno Extension Development Host z Roo Code.
Zmiany w webview (`webview-ui`) pojawią się natychmiast dzięki Hot Module Replacement. Zmiany w głównym rozszerzeniu (`src`) wymagają ponownego uruchomienia Extension Development Host.
Możesz też zbudować i zainstalować paczkę `.vsix`:
```sh
npm run build
code --install-extension bin/roo-cline-<wersja>.vsix
```
Plik `.vsix` pojawi się w katalogu `bin/` i można go zainstalować za pomocą:
(Zamień `<wersja>` na faktyczny numer wersji wygenerowanego pliku).
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
## Pisanie i przesyłanie kodu
Każdy może wnieść wkład w kod Roo Code, ale prosimy o przestrzeganie tych wytycznych, aby zapewnić płynną integrację Twoich wkładów:
1. **Utrzymuj Pull Requesty skupione**
- Ogranicz PR do jednej funkcji lub naprawy błędu
- Podziel większe zmiany na mniejsze, powiązane PR
- Podziel zmiany na logiczne commity, które można przeglądać niezależnie
2. **Jakość kodu**
- Wszystkie PR muszą przejść kontrole CI, które obejmują zarówno linting, jak i formatowanie
- Rozwiąż wszelkie ostrzeżenia lub błędy ESLint przed przesłaniem
- Odpowiedz na wszystkie informacje zwrotne od Ellipsis, naszego zautomatyzowanego narzędzia do przeglądu kodu
- Przestrzegaj najlepszych praktyk TypeScript i zachowaj bezpieczeństwo typów
3. **Testowanie**
### 2. Wytyczne dotyczące pisania kodu
- **Skoncentrowane PRy**: Jedna funkcja/poprawka na PR.
- **Jakość kodu**:
- Przejdź przez CI (lint, formatowanie)
- Napraw ostrzeżenia lub błędy ESLint (`npm run lint`)
- Odpowiadaj na feedback z narzędzi automatycznej recenzji kodu
- Stosuj dobre praktyki TypeScript i dbaj o bezpieczeństwo typów
- **Testowanie**:
- Dodaj testy dla nowych funkcji
- Uruchom `npm test`, aby upewnić się, że wszystkie testy przechodzą
- Zaktualizuj istniejące testy, jeśli Twoje zmiany na nie wpływają
- Uwzględnij zarówno testy jednostkowe, jak i integracyjne, gdy jest to właściwe
- Uruchom `npm test`, by upewnić się, że wszystko przechodzi
- Zaktualizuj istniejące testy, jeśli twoje zmiany je dotyczą
- **Wiadomości commitów**:
- Pisz jasne, opisowe wiadomości commitów
- Odnoś się do odpowiednich issues przez `#numer-issue` (np. `Fixes #123`)
- **Checklist przed zgłoszeniem PR**:
- Zrebase'uj swoją gałąź na najnowszym `main` z upstream
- Upewnij się, że kod się buduje (`npm run build`)
- Wszystkie testy muszą przechodzić (`npm test`)
- Usuń kod debugowania lub `console.log`
4. **Wytyczne dotyczące commitów**
### 3. Zgłaszanie kodu: proces Pull Request (PR)
- Pisz jasne, opisowe komunikaty commitów
- Odwołuj się do odpowiednich problemów w commitach, używając #numer-problemu
#### Pull Requesty w wersji roboczej
5. **Przed przesłaniem**
Używaj PRów w wersji roboczej dla pracy, która nie jest jeszcze gotowa do pełnej recenzji, ale dla której chcesz:
- Rebase swojej gałęzi na najnowszego maina
- Upewnij się, że Twoja gałąź buduje się pomyślnie
- Sprawdź ponownie, czy wszystkie testy przechodzą
- Przejrzyj swoje zmiany pod kątem wszelkiego kodu debugującego lub logów konsoli
- Uruchomić automatyczne sprawdzenia (CI)
- Otrzymać wczesny feedback od maintainerów lub innych współtwórców
- Zasygnalizować, że praca jest w toku
6. **Opis Pull Requesta**
- Jasno opisz, co robią Twoje zmiany
- Dołącz kroki do przetestowania zmian
- Wymień wszelkie istotne zmiany
- Dodaj zrzuty ekranu dla zmian UI
Oznacz PR jako "Ready for Review" dopiero, gdy wszystkie sprawdzenia przejdą i uważasz, że spełnia kryteria "Wytycznych dotyczących pisania kodu" i "Opisu Pull Requesta".
## Umowa o współpracy
#### Opis Pull Requesta
Przesyłając pull request, zgadzasz się, że Twoje wkłady będą licencjonowane na tej samej licencji co projekt ([Apache 2.0](../LICENSE)).
Opis PRa musi być kompletny i zgodny ze strukturą naszej [Pull Request Template](.github/pull_request_template.md). Kluczowe elementy:
- Link do zatwierdzonego GitHub Issue, którego dotyczy
- Jasny opis wprowadzonych zmian i ich celu
- Szczegółowe kroki testowania zmian
- Lista wszelkich breaking changes
- **Dla zmian w UI: zrzuty ekranu lub wideo przed/po**
- **Wskaż, czy PR wymaga aktualizacji dokumentacji użytkownika i które dokumenty/sekcje są dotknięte**
#### Polityka Pull Request (PR)
##### Cel
Utrzymanie czystego, skoncentrowanego i zarządzalnego backlogu PRów.
##### Podejście Issue-First
- **Wymagane**: Przed rozpoczęciem pracy musi istnieć zatwierdzone i przypisane GitHub Issue ("Bug Report" lub "Detailed Feature Proposal").
- **Zatwierdzenie**: Issues, zwłaszcza dotyczące większych zmian, muszą być zatwierdzone przez maintainerów (szczególnie @hannesrudolph) _przed_ rozpoczęciem kodowania.
- **Odniesienie**: PRy muszą wyraźnie odnosić się do tych zatwierdzonych issues w opisie.
- **Konsekwencje**: Nieprzestrzeganie tego procesu może skutkować zamknięciem PRa bez pełnej recenzji.
##### Warunki dla otwartych PR
- **Gotowe do merge**: Przechodzi wszystkie testy CI, jest zgodny z roadmapą (jeśli dotyczy), powiązany z zatwierdzonym i przypisanym Issue, ma jasną dokumentację/komentarze, zawiera zrzuty ekranu/wideo dla zmian w UI
- **Do zamknięcia**: Błędy CI, poważne konflikty merge, brak zgodności z celami projektu lub długotrwała bezczynność (>30 dni bez aktualizacji po feedbacku)
##### Procedura
1. **Kwalifikacja i przypisanie Issue**: @hannesrudolph (lub inni maintainerzy) przeglądają i przypisują nowe i istniejące issues.
2. **Wstępna triage PRów (codziennie)**: Maintainerzy szybko przeglądają nowe PRy pod kątem pilności lub krytycznych problemów.
3. **Szczegółowa recenzja PRów (tygodniowo)**: Maintainerzy dokładnie oceniają PRy pod kątem gotowości, zgodności z zatwierdzonym Issue i ogólnej jakości.
4. **Szczegółowy feedback i iteracja**: Na podstawie recenzji maintainerzy udzielają feedbacku (Approve, Request Changes, Reject). Oczekuje się, że współtwórcy odpowiedzą i poprawią PR.
5. **Etap decyzji**: Zatwierdzone PRy są mergowane. PRy z nierozwiązywalnymi problemami lub niezgodne mogą być zamknięte z wyjaśnieniem.
6. **Follow-up**: Autorzy zamkniętych PRów mogą poprawić je według feedbacku i otworzyć nowe, jeśli problemy zostaną rozwiązane lub zmieni się kierunek projektu.
##### Odpowiedzialności
- **Kwalifikacja Issue i przestrzeganie procesu (@hannesrudolph & maintainerzy)**: Zapewnienie, że wszystkie wkłady stosują podejście Issue-First. Wskazówki dla współtwórców.
- **Maintainerzy (zespół deweloperski)**: Przegląd PRów, udzielanie feedbacku technicznego, podejmowanie decyzji o zatwierdzeniu/odrzuceniu, mergowanie PRów.
- **Współtwórcy**: Powiązanie PRów z zatwierdzonym i przypisanym Issue, przestrzeganie wytycznych jakości, szybka reakcja na feedback.
Ta polityka zapewnia przejrzystość i efektywną integrację.
## IV. Prawne
### Umowa współtwórcy
Zgłaszając pull request, zgadzasz się, że twój wkład będzie licencjonowany na [licencji Apache 2.0](LICENSE) (lub aktualnej licencji projektu), tak jak cały projekt.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • <b>Português (BR)</b> • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Código de Conduta do Pacto de Colaboradores
## Nosso Compromisso

View file

@ -1,173 +1,279 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • <b>Português (BR)</b> • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Contribuindo para o Roo Code
Estamos entusiasmados por você estar interessado em contribuir para o Roo Code. Seja corrigindo um bug, adicionando um recurso ou melhorando nossa documentação, cada contribuição torna o Roo Code mais inteligente! Para manter nossa comunidade vibrante e acolhedora, todos os membros devem aderir ao nosso [Código de Conduta](CODE_OF_CONDUCT.md).
O Roo Code é um projeto impulsionado pela comunidade e valorizamos muito cada contribuição. Para garantir um processo tranquilo e eficaz para todos, **operamos com uma abordagem "[Issue-First](#2-princípio-chave-abordagem-issue-first)".** Isso significa que todo o trabalho deve estar vinculado a uma Issue do GitHub _antes_ de enviar um Pull Request (veja nossa [Política de PR](#política-de-pull-request-pr) para detalhes). Leia este guia com atenção para entender como contribuir.
Este guia explica como contribuir para o Roo Code, seja corrigindo bugs, adicionando recursos ou melhorando a documentação.
## Junte-se à Nossa Comunidade
## Índice
Incentivamos fortemente todos os colaboradores a se juntarem à nossa [comunidade no Discord](https://discord.gg/roocode)! Fazer parte do nosso servidor Discord ajuda você a:
- [I. Antes de Contribuir](#i-antes-de-contribuir)
- [1. Código de Conduta](#1-código-de-conduta)
- [2. Entenda o Roadmap do Projeto](#2-entenda-o-roadmap-do-projeto)
- [Suporte a Provedores](#suporte-a-provedores)
- [Suporte a Modelos](#suporte-a-modelos)
- [Suporte a Sistemas](#suporte-a-sistemas)
- [Documentação](#documentação)
- [Estabilidade](#estabilidade)
- [Internacionalização](#internacionalização)
- [3. Junte-se à Comunidade Roo Code](#3-junte-se-à-comunidade-roo-code)
- [II. Encontrando & Planejando sua Contribuição](#ii-encontrando--planejando-sua-contribuição)
- [1. Tipos de Contribuição](#1-tipos-de-contribuição)
- [2. Princípio-chave: Abordagem Issue-First](#2-princípio-chave-abordagem-issue-first)
- [3. Decidindo no que Trabalhar](#3-decidindo-no-que-trabalhar)
- [4. Relatando Bugs ou Problemas](#4-relatando-bugs-ou-problemas)
- [III. Processo de Desenvolvimento & Submissão](#iii-processo-de-desenvolvimento--submissão)
- [1. Configuração de Desenvolvimento](#1-configuração-de-desenvolvimento)
- [2. Diretrizes para Escrever Código](#2-diretrizes-para-escrever-código)
- [3. Enviando Código: Processo de Pull Request (PR)](#3-enviando-código-processo-de-pull-request-pr)
- [Pull Requests em Rascunho](#pull-requests-em-rascunho)
- [Descrição do Pull Request](#descrição-do-pull-request)
- [Política de Pull Request (PR)](#política-de-pull-request-pr)
- [Objetivo](#objetivo)
- [Abordagem Issue-First](#abordagem-issue-first)
- [Condições para PRs Abertos](#condições-para-prs-abertos)
- [Procedimento](#procedimento)
- [Responsabilidades](#responsabilidades)
- [IV. Legal](#iv-legal)
- [Acordo de Contribuição](#acordo-de-contribuição)
- Obter ajuda e orientação em tempo real sobre suas contribuições
- Conectar-se com outros colaboradores e membros da equipe principal
- Manter-se atualizado sobre os desenvolvimentos e prioridades do projeto
- Participar de discussões que moldam o futuro do Roo Code
- Encontrar oportunidades de colaboração com outros desenvolvedores
## I. Antes de Contribuir
## Relatando Bugs ou Problemas
Primeiro, familiarize-se com nossos padrões de comunidade e a direção do projeto.
Relatórios de bugs ajudam a tornar o Roo Code melhor para todos! Antes de criar uma nova issue, por favor [pesquise as existentes](https://github.com/RooVetGit/Roo-Code/issues) para evitar duplicatas. Quando estiver pronto para relatar um bug, vá para nossa [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose) onde você encontrará um modelo para ajudá-lo a preencher as informações relevantes.
### 1. Código de Conduta
<blockquote class='warning-note'>
🔐 <b>Importante:</b> Se você descobrir uma vulnerabilidade de segurança, por favor use a <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">ferramenta de segurança do Github para relatá-la de forma privada</a>.
</blockquote>
Todos os colaboradores devem seguir nosso [Código de Conduta](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Por favor, leia antes de contribuir.
## Decidindo no que Trabalhar
### 2. Entenda o Roadmap do Projeto
Procurando uma boa primeira contribuição? Verifique as issues na seção "Issue [Unassigned]" do nosso [Projeto Github Roo Code](https://github.com/orgs/RooVetGit/projects/1). Estas são especialmente selecionadas para novos colaboradores e áreas onde gostaríamos de ter alguma ajuda!
Também damos as boas-vindas a contribuições para nossa [documentação](https://docs.roocode.com/)! Seja corrigindo erros de digitação, melhorando guias existentes ou criando novo conteúdo educacional - adoraríamos construir um repositório de recursos impulsionado pela comunidade que ajude todos a obter o máximo do Roo Code. Você pode clicar em "Edit this page" em qualquer página para ir rapidamente ao local certo no Github para editar o arquivo, ou pode mergulhar diretamente em https://github.com/RooVetGit/Roo-Code-Docs.
Se você está planejando trabalhar em um recurso maior, por favor crie primeiro uma [solicitação de recurso](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) para que possamos discutir se está alinhado com a visão do Roo Code. Você também pode verificar nosso [Roteiro do Projeto](#roteiro-do-projeto) abaixo para ver se sua ideia se encaixa em nossa direção estratégica.
## Roteiro do Projeto
O Roo Code possui um roteiro de desenvolvimento claro que orienta nossas prioridades e direção futura. Entender nosso roteiro pode ajudar você a:
O Roo Code possui um roadmap de desenvolvimento claro que orienta nossas prioridades e direção futura. Entender o roadmap pode te ajudar a:
- Alinhar suas contribuições com os objetivos do projeto
- Identificar áreas onde sua expertise seria mais valiosa
- Entender o contexto por trás de certas decisões de design
- Encontrar inspiração para novos recursos que apoiem nossa visão
- Identificar áreas onde sua experiência será mais valiosa
- Compreender o contexto por trás de certas decisões de design
- Se inspirar para novos recursos que apoiem nossa visão
Nosso roteiro atual se concentra em seis pilares principais:
Nosso roadmap atual foca em seis pilares principais:
### Suporte a Provedores
#### Suporte a Provedores
Nosso objetivo é oferecer suporte a tantos provedores quanto possível:
Queremos dar suporte ao maior número possível de provedores:
- Suporte mais versátil para "OpenAI Compatible"
- Mais suporte "Compatível com OpenAI"
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Suporte aprimorado para Ollama e LM Studio
### Suporte a Modelos
#### Suporte a Modelos
Queremos que o Roo funcione bem em tantos modelos quanto possível, incluindo modelos locais:
Queremos que o Roo funcione com o maior número possível de modelos, incluindo modelos locais:
- Suporte a modelos locais através de prompts de sistema personalizados e fluxos de trabalho
- Avaliações de benchmark e casos de teste
- Suporte a modelos locais por meio de prompts de sistema personalizados e fluxos de trabalho
- Benchmarks, avaliações e casos de teste
### Suporte a Sistemas
#### Suporte a Sistemas
Queremos que o Roo funcione bem no computador de todos:
Queremos que o Roo funcione bem em qualquer computador:
- Integração de terminal multiplataforma
- Suporte forte e consistente para Mac, Windows e Linux
### Documentação
#### Documentação
Queremos documentação abrangente e acessível para todos os usuários e colaboradores:
- Guias de usuário e tutoriais expandidos
- Guias e tutoriais expandidos
- Documentação clara da API
- Melhor orientação para colaboradores
- Recursos de documentação multilíngues
- Exemplos interativos e amostras de código
- Recursos de documentação multilíngue
- Exemplos interativos e trechos de código
### Estabilidade
#### Estabilidade
Queremos diminuir significativamente o número de bugs e aumentar os testes automatizados:
Queremos reduzir significativamente o número de bugs e aumentar os testes automatizados:
- Interruptor de registro de depuração
- Botão de cópia "Informações de Máquina/Tarefa" para enviar com solicitações de suporte/bug
- Chave de ativação de logs de depuração
- Botão "Copiar informações da máquina/tarefa" para solicitações de bug/suporte
### Internacionalização
#### Internacionalização
Queremos que o Roo fale o idioma de todos:
Queremos que o Roo fale a língua de todos:
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Damos especialmente as boas-vindas a contribuições que avançam os objetivos do nosso roteiro. Se você estiver trabalhando em algo que se alinha com esses pilares, por favor mencione isso na descrição do seu PR.
Contribuições que avançam os objetivos do nosso roadmap são especialmente bem-vindas. Se você estiver trabalhando em algo alinhado com esses pilares, mencione isso na descrição do seu PR.
## Configuração de Desenvolvimento
### 3. Junte-se à Comunidade Roo Code
1. **Clone** o repositório:
Conectar-se com a comunidade Roo Code é uma ótima maneira de começar:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Método principal**:
1. Junte-se à [comunidade Roo Code no Discord](https://discord.gg/roocode).
2. Depois, envie uma mensagem direta (DM) para **Hannes Rudolph** (Discord: `hrudolph`) para discutir seu interesse e receber orientações.
- **Alternativa para colaboradores experientes**: Se você está confortável com a abordagem issue-first, pode participar diretamente pelo GitHub acompanhando o [quadro Kanban](https://github.com/orgs/RooVetGit/projects/1) e se comunicando via issues e pull requests.
2. **Instale as dependências**:
## II. Encontrando & Planejando sua Contribuição
```sh
npm run install:all
```
Identifique no que gostaria de trabalhar e como abordar.
3. **Inicie o webview (aplicativo Vite/React com HMR)**:
### 1. Tipos de Contribuição
```sh
npm run dev
```
Aceitamos vários tipos de contribuição:
4. **Depuração**:
Pressione `F5` (ou **Executar****Iniciar Depuração**) no VSCode para abrir uma nova sessão com o Roo Code carregado.
- **Correção de bugs**: Corrigir problemas no código existente.
- **Novos recursos**: Adicionar novas funcionalidades.
- **Documentação**: Melhorar guias, exemplos ou corrigir erros de digitação.
Alterações no webview aparecerão imediatamente. Alterações na extensão principal exigirão a reinicialização do host da extensão.
### 2. Princípio-chave: Abordagem Issue-First
Alternativamente, você pode construir um .vsix e instalá-lo diretamente no VSCode:
**Todas as contribuições devem começar com uma Issue do GitHub.** Este é um passo fundamental para garantir alinhamento e evitar esforços desperdiçados.
- **Encontrar ou criar uma Issue**:
- Antes de começar, procure em [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) se já existe uma issue para sua contribuição.
- Se existir e não estiver atribuída, comente na issue para expressar seu interesse. Um mantenedor irá atribuí-la a você.
- Se não existir, crie uma nova usando o template apropriado em nossa [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Para bugs, use o template "Bug Report".
- Para novos recursos, use o template "Detailed Feature Proposal". Aguarde a aprovação de um mantenedor (especialmente @hannesrudolph) antes de começar a implementar.
- **Nota**: Ideias gerais ou discussões preliminares sobre recursos podem começar em [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Quando a ideia estiver mais concreta, uma issue "Detailed Feature Proposal" deve ser criada.
- **Reivindicação e atribuição**:
- Indique claramente sua intenção de trabalhar em uma issue comentando nela.
- Aguarde um mantenedor atribuí-la oficialmente a você no GitHub. Isso evita que várias pessoas trabalhem na mesma coisa.
- **Consequências de não seguir**:
- Pull Requests (PRs) enviados sem uma issue correspondente, pré-aprovada e atribuída podem ser fechados sem revisão completa. Esta política existe para garantir que as contribuições estejam alinhadas com as prioridades do projeto e para respeitar o tempo de todos.
Essa abordagem nos ajuda a rastrear o trabalho, garantir que as mudanças sejam desejadas e coordenar esforços de forma eficaz.
### 3. Decidindo no que Trabalhar
- **Good First Issues**: Confira a seção "Issue [Unassigned]" do nosso [Projeto Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) no GitHub.
- **Documentação**: Embora este `CONTRIBUTING.md` seja o guia principal para contribuições de código, se você quiser contribuir para outra documentação (como guias de usuário ou API), confira o [repositório Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) ou pergunte na comunidade do Discord.
- **Propondo novos recursos**:
1. **Ideia/discussão inicial**: Para ideias gerais ou iniciais, inicie uma conversa em [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Proposta formal**: Para propostas específicas e prontas para consideração, crie uma issue "Detailed Feature Proposal" usando o template em nossa [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Isso é fundamental em nossa **abordagem Issue-First**.
### 4. Relatando Bugs ou Problemas
Se encontrar um bug:
1. **Procure issues existentes**: Verifique [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) para ver se já foi relatado.
2. **Crie uma nova issue**: Se for único, use o template "Bug Report" em nossa [página de issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Vulnerabilidades de segurança**: Se você descobrir uma vulnerabilidade de segurança, relate-a de forma privada usando a [ferramenta de avisos de segurança do GitHub](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Não crie uma issue pública para vulnerabilidades de segurança.
## III. Processo de Desenvolvimento & Submissão
Siga estes passos para programar e enviar seu trabalho.
### 1. Configuração de Desenvolvimento
1. **Fork & Clone**:
- Faça um fork do repositório no GitHub.
- Clone seu fork localmente: `git clone https://github.com/SEU_USUÁRIO/Roo-Code.git`
2. **Instale as dependências**: `npm run install:all`
3. **Execute o Webview (modo dev)**: `npm run dev` (para o app Vite/React com HMR)
4. **Debugue a extensão**: Pressione `F5` no VS Code (ou **Run****Start Debugging**) para abrir uma nova janela Extension Development Host com o Roo Code carregado.
As alterações no webview (`webview-ui`) aparecerão imediatamente graças ao Hot Module Replacement. Alterações na extensão principal (`src`) exigirão reiniciar o Extension Development Host.
Alternativamente, para construir e instalar um pacote `.vsix`:
```sh
npm run build
code --install-extension bin/roo-cline-<versão>.vsix
```
Um arquivo `.vsix` aparecerá no diretório `bin/` que pode ser instalado com:
(Substitua `<versão>` pelo número real da versão do arquivo gerado).
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
### 2. Diretrizes para Escrever Código
## Escrevendo e Enviando Código
- **PRs focados**: Um recurso/correção por PR.
- **Qualidade do código**:
- Passar nos checks de CI (lint, formatação)
- Corrigir avisos ou erros do ESLint (`npm run lint`)
- Responder ao feedback de ferramentas automáticas de revisão de código
- Seguir boas práticas de TypeScript e manter a segurança de tipos
- **Testes**:
- Adicionar testes para novos recursos
- Executar `npm test` para garantir que tudo passa
- Atualizar testes existentes se suas alterações os afetarem
- **Mensagens de commit**:
- Escrever mensagens claras e descritivas
- Referenciar issues relevantes usando `#número-issue` (ex: `Fixes #123`)
- **Checklist antes de enviar PR**:
- Rebasear sua branch no último `main` do upstream
- Garantir que o código compila (`npm run build`)
- Todos os testes devem passar (`npm test`)
- Remover qualquer código de depuração ou `console.log`
Qualquer pessoa pode contribuir com código para o Roo Code, mas pedimos que você siga estas diretrizes para garantir que suas contribuições possam ser integradas sem problemas:
### 3. Enviando Código: Processo de Pull Request (PR)
1. **Mantenha os Pull Requests Focados**
#### Pull Requests em Rascunho
- Limite os PRs a um único recurso ou correção de bug
- Divida mudanças maiores em PRs menores e relacionados
- Divida as mudanças em commits lógicos que possam ser revisados independentemente
Use PRs em rascunho para trabalhos que ainda não estão prontos para revisão completa, mas para os quais você deseja:
2. **Qualidade do Código**
- Rodar checks automáticos (CI)
- Receber feedback antecipado de mantenedores ou outros colaboradores
- Sinalizar que o trabalho está em andamento
- Todos os PRs devem passar nas verificações de CI que incluem tanto linting quanto formatação
- Resolva quaisquer avisos ou erros do ESLint antes de enviar
- Responda a todos os feedbacks do Ellipsis, nossa ferramenta automatizada de revisão de código
- Siga as melhores práticas de TypeScript e mantenha a segurança de tipos
Marque um PR como "Pronto para Revisão" apenas quando todos os checks passarem e você acreditar que ele atende aos critérios de "Diretrizes para Escrever Código" e "Descrição do Pull Request".
3. **Testes**
#### Descrição do Pull Request
- Adicione testes para novos recursos
- Execute `npm test` para garantir que todos os testes passem
- Atualize os testes existentes se suas mudanças os afetarem
- Inclua tanto testes unitários quanto de integração quando apropriado
A descrição do seu PR deve ser completa e seguir a estrutura do nosso [Template de Pull Request](.github/pull_request_template.md). Pontos principais:
4. **Diretrizes de Commit**
- Um link para a Issue do GitHub aprovada que ele resolve
- Descrição clara das alterações feitas e seu propósito
- Passos detalhados para testar as alterações
- Lista de quaisquer breaking changes
- **Para mudanças de UI, forneça capturas de tela ou vídeos de antes e depois**
- **Indique se seu PR exige atualização da documentação do usuário e quais documentos/seções são afetados**
- Escreva mensagens de commit claras e descritivas
- Referencie issues relevantes nos commits usando #número-da-issue
#### Política de Pull Request (PR)
5. **Antes de Enviar**
##### Objetivo
- Faça rebase da sua branch na última main
- Certifique-se de que sua branch é construída com sucesso
- Verifique novamente se todos os testes estão passando
- Revise suas mudanças para qualquer código de depuração ou logs de console
Manter um backlog de PRs limpo, focado e gerenciável.
6. **Descrição do Pull Request**
- Descreva claramente o que suas mudanças fazem
- Inclua passos para testar as mudanças
- Liste quaisquer mudanças significativas
- Adicione capturas de tela para mudanças na UI
##### Abordagem Issue-First
## Acordo de Contribuição
- **Obrigatório**: Antes de começar, deve existir uma Issue do GitHub aprovada e atribuída (seja "Bug Report" ou "Detailed Feature Proposal").
- **Aprovação**: Issues, especialmente para mudanças grandes, devem ser revisadas e aprovadas por mantenedores (especialmente @hannesrudolph) _antes_ de começar a programar.
- **Referência**: PRs devem referenciar explicitamente essas issues pré-aprovadas na descrição.
- **Consequências**: Não seguir esse processo pode resultar no fechamento do PR sem revisão completa.
Ao enviar um pull request, você concorda que suas contribuições serão licenciadas sob a mesma licença do projeto ([Apache 2.0](../LICENSE)).
##### Condições para PRs Abertos
- **Pronto para merge**: Passa todos os testes de CI, está alinhado com o roadmap (se aplicável), está vinculado a uma Issue aprovada e atribuída, tem documentação/comentários claros, inclui imagens/vídeos de antes e depois para mudanças de UI
- **Para fechar**: Falha nos testes de CI, grandes conflitos de merge, desalinhamento com os objetivos do projeto ou inatividade prolongada (>30 dias sem atualizações após feedback)
##### Procedimento
1. **Qualificação & atribuição de Issues**: @hannesrudolph (ou outros mantenedores) revisam e atribuem novas e existentes Issues.
2. **Triagem inicial de PRs (diária)**: Mantenedores fazem uma revisão rápida dos PRs recebidos para filtrar urgências ou problemas críticos.
3. **Revisão detalhada de PRs (semanal)**: Mantenedores revisam a fundo os PRs para avaliar prontidão, alinhamento com a Issue aprovada e qualidade geral.
4. **Feedback detalhado & iteração**: Com base na revisão, mantenedores fornecem feedback (Aprovar, Solicitar Mudanças, Rejeitar). Espera-se que os colaboradores respondam e melhorem conforme necessário.
5. **Fase de decisão**: PRs aprovados são mesclados. PRs com problemas insolúveis ou desalinhados podem ser fechados com explicação clara.
6. **Follow-up**: Autores de PRs fechados podem abordar o feedback e abrir novos se os problemas forem resolvidos ou a direção do projeto mudar.
##### Responsabilidades
- **Qualificação de Issues & cumprimento do processo (@hannesrudolph & mantenedores)**: Garantir que todas as contribuições sigam a abordagem Issue-First. Orientar colaboradores no processo.
- **Mantenedores (Dev Team)**: Revisar PRs, fornecer feedback técnico, tomar decisões de aprovação/rejeição, mesclar PRs.
- **Colaboradores**: Garantir que os PRs estejam vinculados a uma Issue aprovada e atribuída, sigam as diretrizes de qualidade e respondam rapidamente ao feedback.
Esta política garante clareza e integração eficiente.
## IV. Legal
### Acordo de Contribuição
Ao enviar um pull request, você concorda que suas contribuições serão licenciadas sob a [Licença Apache 2.0](LICENSE) (ou a licença atual do projeto), assim como o projeto.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • <b>Русский</b>
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Кодекс поведения участников
## Наше обязательство

View file

@ -1,72 +1,279 @@
# Руководство по участию в проекте
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • <b>Русский</b>
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Вклад в Roo Code
Спасибо за интерес к участию в развитии Roo Code! Мы рады приветствовать новых участников в нашем сообществе.
Roo Code — это проект, управляемый сообществом, и мы очень ценим каждый вклад. Чтобы процесс был максимально простым и эффективным для всех, **мы работаем по принципу "[Issue-First](#2-ключевой-принцип-подход-issue-first)".** Это значит, что вся работа должна быть связана с GitHub Issue о_ отправки Pull Request (подробности см. в нашей [PR-политике](#политика-pull-request-pr)). Пожалуйста, внимательно прочитай это руководство, чтобы понять, как внести свой вклад.
Это руководство объясняет, как внести вклад в Roo Code — будь то исправление ошибок, добавление новых функций или улучшение документации.
## Присоединяйтесь к сообществу
## Содержание
- [Discord](https://discord.gg/roocode)
- [Reddit](https://www.reddit.com/r/roocode)
- [I. Перед тем как внести вклад](#i-перед-тем-как-внести-вклад)
- [1. Кодекс поведения](#1-кодекс-поведения)
- [2. Понимание дорожной карты проекта](#2-понимание-дорожной-карты-проекта)
- [Поддержка провайдеров](#поддержка-провайдеров)
- [Поддержка моделей](#поддержка-моделей)
- [Поддержка систем](#поддержка-систем)
- [Документация](#документация)
- [Стабильность](#стабильность)
- [Интернационализация](#интернационализация)
- [3. Присоединяйся к сообществу Roo Code](#3-присоединяйся-к-сообществу-roo-code)
- [II. Поиск и планирование вклада](#ii-поиск-и-планирование-вклада)
- [1. Виды вклада](#1-виды-вклада)
- [2. Ключевой принцип: подход Issue-First](#2-ключевой-принцип-подход-issue-first)
- [3. Решение, над чем работать](#3-решение-над-чем-работать)
- [4. Сообщение об ошибках или проблемах](#4-сообщение-об-ошибках-или-проблемах)
- [III. Процесс разработки и отправки](#iii-процесс-разработки-и-отправки)
- [1. Настройка среды разработки](#1-настройка-среды-разработки)
- [2. Руководство по написанию кода](#2-руководство-по-написанию-кода)
- [3. Отправка кода: процесс Pull Request (PR)](#3-отправка-кода-процесс-pull-request-pr)
- [Черновики Pull Request](#черновики-pull-request)
- [Описание Pull Request](#описание-pull-request)
- [Политика Pull Request (PR)](#политика-pull-request-pr)
- [Цель](#цель)
- [Подход Issue-First](#подход-issue-first)
- [Условия для открытых PR](#условия-для-открытых-pr)
- [Процедура](#процедура)
- [Ответственности](#ответственности)
- [IV. Юридическая информация](#iv-юридическая-информация)
- [Соглашение о вкладе](#соглашение-о-вкладе)
## Сообщение об ошибках
## I. Перед тем как внести вклад
Если вы обнаружили ошибку, пожалуйста, создайте issue в нашем репозитории. Убедитесь, что:
Сначала ознакомься с нашими стандартами сообщества и направлением проекта.
1. Ошибка воспроизводима
2. Вы предоставили всю необходимую информацию для воспроизведения ошибки
3. Вы проверили, что подобная проблема еще не была зарегистрирована
### 1. Кодекс поведения
## Над чем работать
Все участники должны соблюдать наш [Кодекс поведения](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Пожалуйста, прочитай его перед тем, как вносить вклад.
Есть несколько способов начать участие в проекте:
### 2. Понимание дорожной карты проекта
1. Просмотрите открытые issues с меткой "good first issue"
2. Исправьте опечатки в документации
3. Добавьте тесты для существующего кода
4. Предложите новые функции через issues
У Roo Code есть четкая дорожная карта развития, определяющая наши приоритеты и будущее направление. Понимание дорожной карты поможет тебе:
## Дорожная карта проекта
- Согласовать свой вклад с целями проекта
- Найти области, где твой опыт будет наиболее ценен
- Понять контекст некоторых проектных решений
- Вдохновиться на новые функции, поддерживающие наше видение
Наши текущие приоритеты:
Текущая дорожная карта фокусируется на шести ключевых направлениях:
- Улучшение производительности и стабильности
- Расширение поддержки языков программирования
- Улучшение пользовательского интерфейса
- Интеграция с популярными инструментами разработки
#### Поддержка провайдеров
## Настройка среды разработки
Мы хотим хорошо поддерживать как можно больше провайдеров:
1. Форкните репозиторий
2. Клонируйте ваш форк:
```bash
git clone https://github.com/YOUR_USERNAME/roo-code.git
```
3. Установите зависимости:
```bash
npm install
```
4. Создайте новую ветку для ваших изменений:
```bash
git checkout -b feature/your-feature-name
```
- Больше поддержки "OpenAI Compatible"
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Улучшенная поддержка Ollama и LM Studio
## Написание и отправка кода
#### Поддержка моделей
1. Следуйте существующему стилю кода
2. Добавляйте тесты для нового кода
3. Обновляйте документацию при необходимости
4. Убедитесь, что все тесты проходят
5. Создайте pull request с описанием ваших изменений
Мы хотим, чтобы Roo работал с как можно большим количеством моделей, включая локальные:
## Соглашение о сотрудничестве
- Поддержка локальных моделей через кастомные системные промпты и рабочие процессы
- Бенчмаркинг, оценки и тест-кейсы
Отправляя pull request, вы соглашаетесь с тем, что ваш код будет распространяться под лицензией проекта. Все участники должны следовать нашему [Кодексу поведения](CODE_OF_CONDUCT.md).
#### Поддержка систем
## Получение помощи
Мы хотим, чтобы Roo хорошо работал на любом компьютере:
Если у вас возникли вопросы или нужна помощь:
- Кроссплатформенная интеграция терминала
- Надежная и стабильная поддержка Mac, Windows и Linux
1. Проверьте существующую документацию
2. Спросите в Discord сообществе
3. Создайте issue с меткой "question"
#### Документация
Еще раз спасибо за ваш интерес к улучшению Roo Code!
Мы хотим обеспечить полную и доступную документацию для всех пользователей и участников:
- Расширенные руководства и учебники
- Четкая документация по API
- Лучшие рекомендации для участников
- Многоязычные ресурсы документации
- Интерактивные примеры и фрагменты кода
#### Стабильность
Мы хотим значительно снизить количество ошибок и увеличить автоматизированное тестирование:
- Переключатель логирования отладки
- Кнопка "Скопировать информацию о машине/задаче" для запросов о багах/поддержке
#### Интернационализация
Мы хотим, чтобы Roo говорил на языке каждого:
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Особенно приветствуются вклады, которые способствуют достижению целей дорожной карты. Если ты работаешь над чем-то, что связано с этими направлениями, укажи это в описании PR.
### 3. Присоединяйся к сообществу Roo Code
Вступление в сообщество Roo Code — отличный способ начать:
- **Основной способ**:
1. Присоединяйся к [сообществу Roo Code в Discord](https://discord.gg/roocode).
2. После присоединения отправь личное сообщение (DM) **Hannes Rudolph** (Discord: `hrudolph`), чтобы обсудить свой интерес и получить советы.
- **Альтернатива для опытных участников**: Если тебе удобно работать по принципу Issue-First, можешь участвовать напрямую через GitHub, следя за [Kanban-доской](https://github.com/orgs/RooVetGit/projects/1) и общаясь через issues и pull requests.
## II. Поиск и планирование вклада
Определи, над чем хочешь работать и как это сделать.
### 1. Виды вклада
Мы приветствуем разные виды вклада:
- **Исправление ошибок**: Исправление проблем в существующем коде
- **Новые функции**: Добавление новых возможностей
- **Документация**: Улучшение руководств, добавление примеров или исправление опечаток
### 2. Ключевой принцип: подход Issue-First
**Весь вклад должен начинаться с GitHub Issue.** Это важно для согласования и предотвращения лишней работы.
- **Найти или создать Issue**:
- Перед началом работы проверь [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues), есть ли уже issue для твоего вклада.
- Если есть и не назначено, оставь комментарий, что хочешь заняться этим. Мейнтейнер назначит его тебе.
- Если нет, создай новое, используя подходящий шаблон на нашей [странице issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Для багов — шаблон "Bug Report"
- Для новых функций — шаблон "Detailed Feature Proposal". Дождись одобрения мейнтейнера (особенно @hannesrudolph) перед началом реализации.
- **Примечание**: Общие идеи или предварительные обсуждения функций можно начать в [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Когда идея станет конкретной, создай issue "Detailed Feature Proposal".
- **Заявка и назначение**:
- Ясно укажи, что хочешь работать над issue, комментируя его.
- Дождись, пока мейнтейнер официально назначит его тебе в GitHub. Так мы избегаем дублирования работы.
- **Последствия несоблюдения**:
- Pull Requests (PR), отправленные без соответствующего, одобренного и назначенного issue, могут быть закрыты без полного рассмотрения. Эта политика нужна для согласования вклада с приоритетами проекта и уважения времени всех участников.
Этот подход помогает отслеживать работу, гарантировать нужность изменений и эффективно координировать усилия.
### 3. Решение, над чем работать
- **Good First Issues**: Ознакомься с разделом "Issue [Unassigned]" в нашем [проекте Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) на GitHub.
- **Документация**: Хотя этот `CONTRIBUTING.md` — основной гид по вкладу в код, если хочешь внести вклад в другую документацию (например, руководства пользователя или API), смотри [репозиторий Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) или спроси в сообществе Discord.
- **Предложение новых функций**:
1. **Идея/обсуждение**: Для общих или начальных идей начни обсуждение в [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Формальное предложение**: Для конкретных, готовых к рассмотрению предложений создай issue "Detailed Feature Proposal" с шаблона на нашей [странице issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Это ключевая часть нашего **подхода Issue-First**.
### 4. Сообщение об ошибках или проблемах
Если нашел ошибку:
1. **Проверь существующие issues**: Посмотри [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues), нет ли уже такого сообщения.
2. **Создай новое issue**: Если уникально, используй шаблон "Bug Report" на нашей [странице issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Уязвимости безопасности**: Если обнаружил уязвимость, сообщи о ней приватно через [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Не создавай публичное issue для уязвимостей.
## III. Процесс разработки и отправки
Следуй этим шагам для написания и отправки кода.
### 1. Настройка среды разработки
1. **Fork & Clone**:
- Сделай форк репозитория на GitHub.
- Клонируй свой форк локально: `git clone https://github.com/ТВОЙ_ПОЛЬЗОВАТЕЛЬ/Roo-Code.git`
2. **Установи зависимости**: `npm run install:all`
3. **Запусти Webview (Dev Mode)**: `npm run dev` (для приложения Vite/React с HMR)
4. **Отладка расширения**: Нажми `F5` в VS Code (или **Run****Start Debugging**), чтобы открыть новое окно Extension Development Host с Roo Code.
Изменения в webview (`webview-ui`) появятся сразу благодаря Hot Module Replacement. Изменения в основной части расширения (`src`) требуют перезапуска Extension Development Host.
Также можно собрать и установить пакет `.vsix`:
```sh
npm run build
code --install-extension bin/roo-cline-<версия>.vsix
```
(Замени `<версия>` на фактический номер версии сгенерированного файла).
### 2. Руководство по написанию кода
- **Фокусированные PR**: Одна функция/исправление на PR.
- **Качество кода**:
- Пройти проверки CI (линтинг, форматирование)
- Исправить предупреждения или ошибки ESLint (`npm run lint`)
- Реагировать на обратную связь от автоматических инструментов code review
- Следовать лучшим практикам TypeScript и поддерживать типобезопасность
- **Тестирование**:
- Добавить тесты для новых функций
- Запустить `npm test`, чтобы убедиться, что все тесты проходят
- Обновить существующие тесты, если твои изменения их затрагивают
- **Сообщения коммитов**:
- Писать четкие, описательные сообщения коммитов
- Ссылаться на соответствующие issues через `#номер-issue` (например, `Fixes #123`)
- **Чеклист перед отправкой PR**:
- Перебазировать свою ветку на последний `main` из upstream
- Убедиться, что код собирается (`npm run build`)
- Все тесты должны проходить (`npm test`)
- Удалить любой отладочный код или `console.log`
### 3. Отправка кода: процесс Pull Request (PR)
#### Черновики Pull Request
Используй черновики PR для работы, которая еще не готова к полной проверке, но для которой ты хочешь:
- Запустить автоматические проверки (CI)
- Получить ранний фидбек от мейнтейнеров или других участников
- Показать, что работа в процессе
Отметь PR как "Ready for Review" только когда все проверки пройдены и ты считаешь, что он соответствует критериям "Руководства по написанию кода" и "Описание Pull Request".
#### Описание Pull Request
Описание PR должно быть полным и следовать структуре нашего [шаблона Pull Request](.github/pull_request_template.md). Основные моменты:
- Ссылка на одобренный GitHub Issue, который решается
- Четкое описание внесенных изменений и их цели
- Подробные шаги для тестирования изменений
- Список любых breaking changes
- **Для изменений в UI: скриншоты или видео до/после**
- **Укажи, требует ли твой PR обновления пользовательской документации и какие документы/разделы затрагиваются**
#### Политика Pull Request (PR)
##### Цель
Поддерживать чистый, сфокусированный и управляемый бэклог PR.
##### Подход Issue-First
- **Обязательно**: Перед началом работы должно быть существующее, одобренное и назначенное GitHub Issue ("Bug Report" или "Detailed Feature Proposal").
- **Одобрение**: Issues, особенно для крупных изменений, должны быть одобрены мейнтейнерами (особенно @hannesrudolph) о_ начала кодирования.
- **Ссылка**: PR должны явно ссылаться на эти предварительно одобренные issues в описании.
- **Последствия**: Несоблюдение этого процесса может привести к закрытию PR без полной проверки.
##### Условия для открытых PR
- **Готов к слиянию**: Проходит все проверки CI, соответствует дорожной карте (если применимо), связан с одобренным и назначенным Issue, имеет четкую документацию/комментарии, включает скриншоты/видео до/после для изменений в UI
- **Для закрытия**: Ошибки CI, серьезные конфликты слияния, несоответствие целям проекта или длительная неактивность (>30 дней без обновлений после фидбека)
##### Процедура
1. **Квалификация и назначение Issue**: @hannesrudolph (или другие мейнтейнеры) проверяют и назначают новые и существующие issues.
2. **Первичная triage PR (ежедневно)**: Мейнтейнеры быстро проверяют новые PR на срочность или критические вопросы.
3. **Детальная проверка PR (еженедельно)**: Мейнтейнеры тщательно проверяют PR на готовность, соответствие одобренному Issue и общее качество.
4. **Детальный фидбек и итерация**: По результатам проверки мейнтейнеры дают фидбек (Approve, Request Changes, Reject). Ожидается, что участники ответят и доработают PR.
5. **Этап принятия решения**: Одобренные PR сливаются. PR с нерешаемыми проблемами или несоответствием могут быть закрыты с объяснением.
6. **Follow-up**: Авторы закрытых PR могут доработать их по фидбеку и открыть новые, если проблемы решены или направление проекта изменилось.
##### Ответственности
- **Квалификация Issue и соблюдение процесса (@hannesrudolph & мейнтейнеры)**: Следить, чтобы все вклады следовали подходу Issue-First. Помогать участникам с процессом.
- **Мейнтейнеры (Dev Team)**: Проверять PR, давать технический фидбек, принимать решения об одобрении/отклонении, сливать PR.
- **Участники**: Связывать PR с одобренным и назначенным Issue, соблюдать стандарты качества, быстро реагировать на фидбек.
Эта политика обеспечивает ясность и эффективную интеграцию.
## IV. Юридическая информация
### Соглашение о вкладе
Отправляя pull request, ты соглашаешься, что твой вклад будет лицензирован по [лицензии Apache 2.0](LICENSE) (или текущей лицензии проекта), как и сам проект.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • <b>Türkçe</b> • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Katkıda Bulunan Sözleşmesi Davranış Kuralları
## Taahhüdümüz

View file

@ -1,84 +1,107 @@
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • <b>Türkçe</b> • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Roo Code'a Katkıda Bulunma
Roo Code'a katkıda bulunmakla ilgilendiğiniz için çok mutluyuz. İster bir hatayı düzeltiyor, ister bir özellik ekliyor, ister belgelerimizi geliştiriyor olun, her katkı Roo Code'u daha akıllı hale getirir! Topluluğumuzu canlı ve misafirperver tutmak için tüm üyelerin [Davranış Kuralları](CODE_OF_CONDUCT.md)'na uyması gerekir.
Roo Code, topluluk odaklı bir projedir ve her katkıyı çok önemsiyoruz. Herkes için sorunsuz ve etkili bir süreç sağlamak için **"[Issue-First](#2-temel-ilke-issue-first-yaklaşımı)" yaklaşımıyla çalışıyoruz.** Yani, tüm çalışmalar bir Pull Request gönderilmeden _önce_ bir GitHub Issue'ya bağlı olmalı (ayrıntılar için [PR Politikamıza](#pull-request-pr-politikası) bakabilirsin). Nasıl katkı sağlayacağını anlamak için lütfen bu rehberi dikkatlice oku.
Bu rehber, Roo Code'a nasıl katkı sağlayabileceğini; ister hata düzelt, ister yeni özellik ekle, ister dokümantasyonu geliştir, adım adım açıklar.
## Topluluğumuza Katılın
## İçindekiler
Tüm katkıda bulunanları [Discord topluluğumuza](https://discord.gg/roocode) katılmaya şiddetle teşvik ediyoruz! Discord sunucumuzun bir parçası olmak size şu konularda yardımcı olur:
- [I. Katkıdan Önce](#i-katkıdan-önce)
- [1. Davranış Kuralları](#1-davranış-kuralları)
- [2. Proje Yol Haritasını Anlamak](#2-proje-yol-haritasını-anlamak)
- [Sağlayıcı Desteği](#sağlayıcı-desteği)
- [Model Desteği](#model-desteği)
- [Sistem Desteği](#sistem-desteği)
- [Dokümantasyon](#dokümantasyon)
- [Stabilite](#stabilite)
- [Uluslararasılaştırma](#uluslararasılaştırma)
- [3. Roo Code Topluluğuna Katıl](#3-roo-code-topluluğuna-katıl)
- [II. Katkı Bulma & Planlama](#ii-katkı-bulma--planlama)
- [1. Katkı Türleri](#1-katkı-türleri)
- [2. Temel İlke: Issue-First Yaklaşımı](#2-temel-ilke-issue-first-yaklaşımı)
- [3. Ne Üzerinde Çalışacağına Karar Verme](#3-ne-üzerinde-çalışacağına-karar-verme)
- [4. Hata veya Sorun Bildirme](#4-hata-veya-sorun-bildirme)
- [III. Geliştirme & Gönderim Süreci](#iii-geliştirme--gönderim-süreci)
- [1. Geliştirme Ortamı Kurulumu](#1-geliştirme-ortamı-kurulumu)
- [2. Kod Yazma Rehberi](#2-kod-yazma-rehberi)
- [3. Kod Gönderme: Pull Request (PR) Süreci](#3-kod-gönderme-pull-request-pr-süreci)
- [Taslak Pull Request'ler](#taslak-pull-requestler)
- [Pull Request Açıklaması](#pull-request-açıklaması)
- [Pull Request (PR) Politikası](#pull-request-pr-politikası)
- [Amaç](#amaç)
- [Issue-First Yaklaşımı](#issue-first-yaklaşımı)
- [ık PR'lar için Koşullar](#açık-prlar-için-koşullar)
- [Prosedür](#prosedür)
- [Sorumluluklar](#sorumluluklar)
- [IV. Yasal](#iv-yasal)
- [Katkı Anlaşması](#katkı-anlaşması)
- Katkılarınız hakkında gerçek zamanlı yardım ve rehberlik alın
- Diğer katkıda bulunanlar ve çekirdek ekip üyeleriyle bağlantı kurun
- Proje gelişmeleri ve öncelikleri hakkında güncel kalın
- Roo Code'un geleceğini şekillendiren tartışmalara katılın
- Diğer geliştiricilerle işbirliği fırsatları bulun
## I. Katkıdan Önce
## Hataları veya Sorunları Bildirme
Öncelikle topluluk standartlarımızı ve projenin yönünü öğren.
Hata raporları Roo Code'u herkes için daha iyi hale getirmeye yardımcı olur! Yeni bir sorun oluşturmadan önce, lütfen yinelemeleri önlemek için [mevcut olanları arayın](https://github.com/RooVetGit/Roo-Code/issues). Bir hatayı bildirmeye hazır olduğunuzda, ilgili bilgileri doldurmanıza yardımcı olacak bir şablon bulacağınız [sorunlar sayfamıza](https://github.com/RooVetGit/Roo-Code/issues/new/choose) gidin.
### 1. Davranış Kuralları
<blockquote class='warning-note'>
🔐 <b>Önemli:</b> Bir güvenlik açığı keşfederseniz, lütfen <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">özel olarak bildirmek için Github güvenlik aracını kullanın</a>.
</blockquote>
Tüm katkı sağlayanlar [Davranış Kuralları](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md)'na uymalıdır. Katkıdan önce mutlaka oku.
## Ne Üzerinde Çalışacağınıza Karar Verme
### 2. Proje Yol Haritasını Anlamak
İyi bir ilk katkı mı arıyorsunuz? [Roo Code Sorunları](https://github.com/orgs/RooVetGit/projects/1) Github Projemizin "Issue [Unassigned]" bölümündeki sorunları kontrol edin. Bunlar özellikle yeni katkıda bulunanlar ve biraz yardıma ihtiyaç duyduğumuz alanlar için seçilmiştir!
Roo Code'un önceliklerimizi ve gelecekteki yönümüzü belirleyen net bir geliştirme yol haritası var. Yol haritasını anlamak sana şunları sağlar:
[Belgelerimize](https://docs.roocode.com/) katkıları da memnuniyetle karşılıyoruz! İster yazım hatalarını düzeltmek, mevcut kılavuzları geliştirmek veya yeni eğitim içeriği oluşturmak olsun - herkesin Roo Code'dan en iyi şekilde yararlanmasına yardımcı olan topluluk odaklı bir kaynak deposu oluşturmak istiyoruz. Dosyayı düzenlemek için Github'daki doğru yere hızlıca gitmek için herhangi bir sayfada "Edit this page" düğmesine tıklayabilir veya doğrudan https://github.com/RooVetGit/Roo-Code-Docs adresine dalabilirsiniz.
- Katkılarını proje hedefleriyle uyumlu hale getirmek
- Uzmanlığının en değerli olacağı alanları bulmak
- Bazı tasarım kararlarının arka planını anlamak
- Vizyonumuzu destekleyen yeni özellikler için ilham almak
Daha büyük bir özellik üzerinde çalışmayı planlıyorsanız, lütfen önce bir [özellik isteği](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) oluşturun, böylece Roo Code'un vizyonuyla uyumlu olup olmadığını tartışabiliriz. Ayrıca, fikrinizin stratejik yönümüze uyup uymadığını görmek için aşağıdaki [Proje Yol Haritası](#proje-yol-haritası)'nı kontrol edebilirsiniz.
Mevcut yol haritamız altı ana sütuna odaklanıyor:
## Proje Yol Haritası
#### Sağlayıcı Desteği
Roo Code, önceliklerimizi ve gelecekteki yönümüzü yönlendiren net bir geliştirme yol haritasına sahiptir. Yol haritamızı anlamak size şu konularda yardımcı olabilir:
Mümkün olduğunca çok sağlayıcıyı iyi desteklemek istiyoruz:
- Katkılarınızı proje hedefleriyle uyumlu hale getirmek
- Uzmanlığınızın en değerli olacağı alanları belirlemek
- Belirli tasarım kararlarının arkasındaki bağlamı anlamak
- Vizyonumuzu destekleyen yeni özellikler için ilham bulmak
Mevcut yol haritamız altı temel sütun üzerine odaklanmaktadır:
### Sağlayıcı Desteği
Mümkün olduğunca çok sağlayıcıyı desteklemeyi hedefliyoruz:
- Daha çok yönlü "OpenAI Uyumlu" destek
- Daha fazla "OpenAI Compatible" desteği
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Ollama ve LM Studio için geliştirilmiş destek
### Model Desteği
#### Model Desteği
Roo'nun yerel modeller de dahil olmak üzere mümkün olduğunca çok modelde iyi çalışmasını istiyoruz:
Roo'nun mümkün olduğunca çok modelde (yerel modeller dahil) çalışmasını istiyoruz:
- Özel sistem yönlendirmesi ve iş akışları aracılığıyla yerel model desteği
- Kıyaslama değerlendirmeleri ve test vakaları
- Özel sistem promptları ve iş akışlarıyla yerel model desteği
- Benchmarking, değerlendirmeler ve test vakaları
### Sistem Desteği
#### Sistem Desteği
Roo'nun herkesin bilgisayarında iyi çalışmasını istiyoruz:
Roo'nun her bilgisayarda iyi çalışmasını istiyoruz:
- Çapraz platform terminal entegrasyonu
- Platformlar arası terminal entegrasyonu
- Mac, Windows ve Linux için güçlü ve tutarlı destek
### Dokümantasyon
#### Dokümantasyon
Tüm kullanıcılar ve katkıda bulunanlar için kapsamlı, erişilebilir dokümantasyon istiyoruz:
Tüm kullanıcılar ve katkı sağlayanlar için kapsamlı, erişilebilir dokümantasyon istiyoruz:
- Genişletilmiş kullanıcı kılavuzları ve öğreticiler
- Net API dokümantasyonu
- Katkıda bulunanlar için daha iyi rehberlik
- Genişletilmiş kullanıcı rehberleri ve eğitimler
- ık API dokümantasyonu
- Daha iyi katkı sağlayan rehberliği
- Çok dilli dokümantasyon kaynakları
- Etkileşimli örnekler ve kod örnekleri
- Etkileşimli örnekler ve kod parçacıkları
### Kararlılık
#### Stabilite
Hata sayısını önemli ölçüde azaltmak ve otomatik testleri artırmak istiyoruz:
- Hata ayıklama günlüğü anahtarı
- Hata/destek istekleriyle birlikte göndermek için "Makine/Görev Bilgisi" kopyalama düğmesi
- Hata ayıklama log anahtarı
- Hata/destek talepleri için "Makine/Görev Bilgisi Kopyala" butonu
### Uluslararasılaştırma
#### Uluslararasılaştırma
Roo'nun herkesin dilini konuşmasını istiyoruz:
@ -87,87 +110,170 @@ Roo'nun herkesin dilini konuşmasını istiyoruz:
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Özellikle yol haritamızın hedeflerini ileriye taşıyan katkıları memnuniyetle karşılıyoruz. Bu sütunlarla uyumlu bir şey üzerinde çalışıyorsanız, lütfen PR açıklamanızda bundan bahsedin.
Yol haritası hedeflerimizi ilerleten katkılar özellikle memnuniyetle karşılanır. Bu sütunlarla uyumlu bir şey üzerinde çalışıyorsan, lütfen PR açıklamanda belirt.
## Geliştirme Kurulumu
### 3. Roo Code Topluluğuna Katıl
1. Depoyu **klonlayın**:
Roo Code topluluğuyla bağlantı kurmak başlamak için harika bir yoldur:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Ana yöntem**:
1. [Roo Code Discord topluluğuna](https://discord.gg/roocode) katıl.
2. Katıldıktan sonra **Hannes Rudolph**'a (Discord: `hrudolph`) DM gönder, ilgini belirt ve rehberlik al.
- **Deneyimli katkı sağlayanlar için alternatif**: Issue-First yaklaşımına alışkınsan, doğrudan GitHub üzerinden [Kanban panosunu](https://github.com/orgs/RooVetGit/projects/1) takip ederek ve issue ile pull request'lerle iletişim kurarak katılabilirsin.
2. **Bağımlılıkları yükleyin**:
## II. Katkı Bulma & Planlama
```sh
npm run install:all
```
Ne üzerinde çalışmak istediğini ve nasıl yaklaşacağını belirle.
3. **Webview'ı başlatın (HMR ile Vite/React uygulaması)**:
### 1. Katkı Türleri
```sh
npm run dev
```
Çeşitli katkı türlerini memnuniyetle karşılıyoruz:
4. **Hata ayıklama**:
VSCode'da `F5` tuşuna basın (veya **Run****Start Debugging**) Roo Code yüklenmiş yeni bir oturum açmak için.
- **Hata düzeltmeleri**: Mevcut kodda sorunları çözmek
- **Yeni özellikler**: Yeni işlevsellik eklemek
- **Dokümantasyon**: Rehberleri geliştirmek, örnekler eklemek veya yazım hatalarını düzeltmek
Webview'daki değişiklikler anında görünecektir. Ana uzantıdaki değişiklikler uzantı ana bilgisayarının yeniden başlatılmasını gerektirecektir.
### 2. Temel İlke: Issue-First Yaklaşımı
Alternatif olarak, bir .vsix dosyası oluşturabilir ve doğrudan VSCode'a kurabilirsiniz:
**Tüm katkılar bir GitHub Issue ile başlamalıdır.** Bu, uyumu sağlamak ve boşa emek harcamamak için kritik bir adımdır.
- **Issue bul veya oluştur**:
- Başlamadan önce, [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues)'da katkı yapmak istediğin konu için bir issue olup olmadığını kontrol et.
- Varsa ve atanmamışsa, almak istediğini belirten bir yorum bırak. Bir maintainer sana atayacaktır.
- Yoksa, [issue sayfamızda](https://github.com/RooVetGit/Roo-Code/issues/new/choose) uygun şablonu kullanarak yeni bir tane oluştur:
- Hatalar için "Bug Report" şablonu
- Yeni özellikler için "Detailed Feature Proposal" şablonu. Uygulamaya başlamadan önce bir maintainer'ın (özellikle @hannesrudolph) onayını bekle.
- **Not**: Özellikler için genel fikirler veya ilk tartışmalar [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests)'da başlatılabilir. Fikir netleşince "Detailed Feature Proposal" issue'su oluşturulmalı.
- **Sahiplenme ve atama**:
- Bir issue üzerinde çalışmak istediğini açıkça belirten bir yorum bırak.
- Bir maintainer'ın GitHub'da resmi olarak atamasını bekle. Böylece aynı konuda birden fazla kişi çalışmaz.
- **Uymamanın sonuçları**:
- İlgili, önceden onaylanmış ve atanmış bir issue olmadan gönderilen Pull Request'ler (PR'ler) tam inceleme yapılmadan kapatılabilir. Bu politika, katkıların proje öncelikleriyle uyumlu olmasını ve herkesin zamanına saygı gösterilmesini sağlamak içindir.
Bu yaklaşım, çalışmaları takip etmemize, değişikliklerin istenip istenmediğini garanti etmemize ve çabaları etkili şekilde koordine etmemize yardımcı olur.
### 3. Ne Üzerinde Çalışacağına Karar Verme
- **Good First Issues**: GitHub'daki [Roo Code Issues Projesi](https://github.com/orgs/RooVetGit/projects/1)'nin "Issue [Unassigned]" bölümüne bak.
- **Dokümantasyon**: Bu `CONTRIBUTING.md` kod katkısı için ana rehberdir, ancak başka dokümantasyonlara (kullanıcı rehberleri veya API dokümanları gibi) katkı sağlamak istiyorsan [Roo Code Docs deposuna](https://github.com/RooVetGit/Roo-Code-Docs) bak veya Discord topluluğunda sor.
- **Yeni özellikler önermek**:
1. **İlk fikir/tartışma**: Genel veya ilk özellik fikirleri için [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests)'da tartışma başlat.
2. **Resmi öneri**: Spesifik, uygulanabilir öneriler için [issue sayfamızda](https://github.com/RooVetGit/Roo-Code/issues/new/choose) "Detailed Feature Proposal" şablonunu kullanarak issue oluştur. Bu, **Issue-First Yaklaşımı**'nın anahtarıdır.
### 4. Hata veya Sorun Bildirme
Bir hata bulursan:
1. **Mevcut issue'ları ara**: [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues)'da daha önce bildirilip bildirilmediğine bak.
2. **Yeni bir issue oluştur**: Eğer benzersizse, [issue sayfamızda](https://github.com/RooVetGit/Roo-Code/issues/new/choose) "Bug Report" şablonunu kullan.
> 🔐 **Güvenlik açıkları**: Bir güvenlik açığı bulursan, [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new) ile özel olarak bildir. Güvenlik açıkları için herkese açık issue oluşturma.
## III. Geliştirme & Gönderim Süreci
Kod yazarken ve gönderirken bu adımları takip et.
### 1. Geliştirme Ortamı Kurulumu
1. **Fork & Clone**:
- GitHub'da depoyu forkla.
- Forkunu yerel olarak klonla: `git clone https://github.com/KULLANICI_ADIN/Roo-Code.git`
2. **Bağımlılıkları yükle**: `npm run install:all`
3. **Webview (Geliştirici Modu) çalıştır**: `npm run dev` (Vite/React uygulaması için HMR ile)
4. **Eklentiyi debug et**: VS Code'da `F5` tuşuna bas (veya **Run****Start Debugging**) ve Roo Code yüklü yeni bir Extension Development Host penceresi aç.
Webview (`webview-ui`) değişiklikleri Hot Module Replacement sayesinde anında görünür. Ana eklenti (`src`) değişiklikleri için Extension Development Host'u yeniden başlatmak gerekir.
Alternatif olarak, `.vsix` paketi oluşturup yüklemek için:
```sh
npm run build
code --install-extension bin/roo-cline-<versiyon>.vsix
```
`bin/` dizininde bir `.vsix` dosyası görünecek ve şu komutla kurulabilir:
(`<versiyon>` kısmını oluşturulan dosyanın gerçek sürüm numarasıyla değiştir.)
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
### 2. Kod Yazma Rehberi
## Kod Yazma ve Gönderme
- **Odaklı PR'lar**: Her PR için bir özellik/düzeltme.
- **Kod kalitesi**:
- CI kontrollerini (lint, format) geç
- ESLint uyarılarını veya hatalarını düzelt (`npm run lint`)
- Otomatik kod inceleme araçlarından gelen geri bildirimlere yanıt ver
- TypeScript en iyi uygulamalarını takip et ve tip güvenliğini koru
- **Testler**:
- Yeni özellikler için test ekle
- `npm test` çalıştırarak tüm testlerin geçtiğinden emin ol
- Değişikliklerin mevcut testleri etkiliyorsa onları güncelle
- **Commit mesajları**:
- Açık ve açıklayıcı commit mesajları yaz
- İlgili issue'lara `#issue-numarası` ile referans ver (ör: `Fixes #123`)
- **PR göndermeden önce kontrol listesi**:
- Branch'ini upstream'deki en son `main` ile rebase et
- Kodun derlendiğinden emin ol (`npm run build`)
- Tüm testlerin geçtiğinden emin ol (`npm test`)
- Herhangi bir debug kodu veya `console.log` satırını kaldır
Herkes Roo Code'a kod katkısında bulunabilir, ancak katkılarınızın sorunsuz bir şekilde entegre edilebilmesi için bu kurallara uymanızı rica ediyoruz:
### 3. Kod Gönderme: Pull Request (PR) Süreci
1. **Pull Request'leri Odaklı Tutun**
#### Taslak Pull Request'ler
- PR'leri tek bir özellik veya hata düzeltmesiyle sınırlayın
- Daha büyük değişiklikleri daha küçük, ilgili PR'lere bölün
- Değişiklikleri bağımsız olarak incelenebilen mantıklı commitlere bölün
Henüz tam incelemeye hazır olmayan işler için taslak PR'lar kullan:
2. **Kod Kalitesi**
- Otomatik kontrolleri (CI) çalıştırmak
- Maintainer'lardan veya diğer katkı sağlayanlardan erken geri bildirim almak
- Çalışmanın devam ettiğini göstermek
- Tüm PR'ler hem linting hem de formatlama içeren CI kontrollerini geçmelidir
- Göndermeden önce tüm ESLint uyarılarını veya hatalarını çözün
- Otomatik kod inceleme aracımız Ellipsis'ten gelen tüm geri bildirimlere yanıt verin
- TypeScript en iyi uygulamalarını takip edin ve tip güvenliğini koruyun
Tüm kontroller geçtikten ve "Kod Yazma Rehberi" ile "Pull Request Açıklaması" kriterlerini karşıladığını düşündüğünde PR'ı "Ready for Review" olarak işaretle.
3. **Test Etme**
#### Pull Request Açıklaması
- Yeni özellikler için testler ekleyin
- Tüm testlerin geçtiğinden emin olmak için `npm test` çalıştırın
- Değişiklikleriniz etkiliyorsa mevcut testleri güncelleyin
- Uygun olduğunda hem birim testlerini hem de entegrasyon testlerini dahil edin
PR açıklaman tam olmalı ve [Pull Request Şablonumuzun](.github/pull_request_template.md) yapısına uymalı. Temel noktalar:
4. **Commit Yönergeleri**
- İlgili, onaylanmış GitHub Issue'ya bağlantı
- Yapılan değişikliklerin ve amacının açık açıklaması
- Değişiklikleri test etmek için ayrıntılı adımlar
- Herhangi bir breaking change listesi
- **UI değişiklikleri için, önce/sonra ekran görüntüleri veya videolar**
- **PR'ın kullanıcı dokümantasyonunu güncellemeyi gerektirip gerektirmediğini ve hangi belgelerin/alanların etkilendiğini belirt**
- Net, açıklayıcı commit mesajları yazın
- #issue-number kullanarak commitlerdeki ilgili sorunlara atıfta bulunun
#### Pull Request (PR) Politikası
5. **Göndermeden Önce**
##### Amaç
- Dalınızı en son main üzerine rebase edin
- Dalınızın başarıyla oluşturulduğundan emin olun
- Tüm testlerin geçtiğini tekrar kontrol edin
- Değişikliklerinizi hata ayıklama kodu veya konsol günlükleri için gözden geçirin
Temiz, odaklı ve yönetilebilir bir PR backlog'u tutmak.
6. **Pull Request Açıklaması**
- Değişikliklerinizin ne yaptığınııkça açıklayın
- Değişiklikleri test etmek için adımlar ekleyin
- Herhangi bir önemli değişikliği listeleyin
- UI değişiklikleri için ekran görüntüleri ekleyin
##### Issue-First Yaklaşımı
## Katkı Anlaşması
- **Zorunlu**: Çalışmaya başlamadan önce mevcut, onaylanmış ve atanmış bir GitHub Issue ("Bug Report" veya "Detailed Feature Proposal") olmalı.
- **Onay**: Özellikle büyük değişiklikler için, issue'lar maintainer'lar (özellikle @hannesrudolph) tarafından _kodlamaya başlamadan önce_ onaylanmalı.
- **Referans**: PR'lar bu önceden onaylanmış issue'lara açıklamalarında açıkça referans vermeli.
- **Sonuçlar**: Bu sürece uyulmazsa PR tam inceleme yapılmadan kapatılabilir.
Bir pull request göndererek, katkılarınızın projeyle aynı lisans altında ([Apache 2.0](../LICENSE)) lisanslanacağını kabul edersiniz.
##### Açık PR'lar için Koşullar
- **Birleştirmeye hazır**: Tüm CI testlerinden geçer, yol haritasıyla uyumlu (varsa), onaylanmış ve atanmış issue'ya bağlı, açık dokümantasyon/yorumlar, UI değişiklikleri için önce/sonra görseller/video içerir
- **Kapatılacaklar**: CI test hataları, büyük birleştirme çatışmaları, proje hedefleriyle uyumsuzluk veya uzun süreli (30+ gün) güncellenmeyen PR'lar
##### Prosedür
1. **Issue nitelendirme & atama**: @hannesrudolph (veya diğer maintainer'lar) yeni ve mevcut issue'ları gözden geçirip atar.
2. **İlk PR triage'ı (günlük)**: Maintainer'lar yeni PR'ları hızlıca kontrol eder, acil veya kritik konuları ayıklar.
3. **Ayrıntılı PR incelemesi (haftalık)**: Maintainer'lar PR'ları hazırlık, onaylanmış issue ile uyum ve genel kalite açısından ayrıntılı inceler.
4. **Ayrıntılı geri bildirim & yineleme**: İnceleme sonucunda geri bildirim (Onayla, Değişiklik İste, Reddet) verilir. Katkı sağlayanlardan yanıt ve gerekirse düzeltme beklenir.
5. **Karar aşaması**: Onaylanan PR'lar birleştirilir. Çözülemeyen sorunlu veya uyumsuz PR'lar gerekçesiyle kapatılır.
6. **Takip**: Kapatılan PR sahipleri, sorunlar çözülür veya proje yönü değişirse yeni PR açabilir.
##### Sorumluluklar
- **Issue nitelendirme & süreç takibi (@hannesrudolph & maintainer'lar)**: Tüm katkıların Issue-First yaklaşımına uymasını sağlamak. Katkı sağlayanlara rehberlik etmek.
- **Maintainer'lar (Geliştirici Takımı)**: PR'ları incelemek, teknik geri bildirim vermek, onay/ret kararı almak, PR'ları birleştirmek.
- **Katkı sağlayanlar**: PR'ları onaylanmış ve atanmış issue'ya bağlamak, kalite rehberlerine uymak, geri bildirime hızlıca yanıt vermek.
Bu politika, netlik ve verimli entegrasyon sağlar.
## IV. Yasal
### Katkı Anlaşması
Bir pull request göndererek, katkılarının [Apache 2.0 Lisansı](LICENSE) (veya projenin mevcut lisansı) kapsamında olacağını kabul etmiş olursun; tıpkı projenin kendisi gibi.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • <b>Tiếng Việt</b> • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# Quy Tắc Ứng Xử theo Giao Ước Người Đóng Góp
## Cam Kết Của Chúng Tôi

View file

@ -1,173 +1,279 @@
# Đóng Góp cho Roo Code
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • <b>Tiếng Việt</b> • [简体中文](../zh-CN/CONTRIBUTING.md) • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# Đóng góp cho Roo Code
Chúng tôi rất vui mừng vì bạn quan tâm đến việc đóng góp cho Roo Code. Cho dù bạn đang sửa lỗi, thêm tính năng, hay cải thiện tài liệu của chúng tôi, mỗi đóng góp đều làm cho Roo Code thông minh hơn! Để giữ cho cộng đồng của chúng tôi sôi động và thân thiện, tất cả thành viên phải tuân thủ [Quy Tắc Ứng Xử](CODE_OF_CONDUCT.md) của chúng tôi.
Roo Code là một dự án do cộng đồng dẫn dắt và chúng mình rất trân trọng mọi đóng góp. Để đảm bảo quy trình diễn ra suôn sẻ và hiệu quả cho tất cả mọi người, **chúng mình áp dụng nguyên tắc "[Issue-First](#2-nguyên-tắc-chính-cách-tiếp-cận-issue-first)".** Điều này có nghĩa là mọi công việc đều phải liên kết với một Issue trên GitHub _trước khi_ gửi Pull Request (xem [Chính sách PR](#chính-sách-pull-request-pr) để biết chi tiết). Hãy đọc kỹ hướng dẫn này để hiểu cách đóng góp.
Hướng dẫn này giải thích cách đóng góp cho Roo Code, dù bạn sửa lỗi, thêm tính năng mới hay cải thiện tài liệu.
## Tham Gia Cộng Đồng của Chúng Tôi
## Mục lục
Chúng tôi mạnh mẽ khuyến khích tất cả người đóng góp tham gia [cộng đồng Discord](https://discord.gg/roocode) của chúng tôi! Việc là một phần của máy chủ Discord của chúng tôi giúp bạn:
- [I. Trước khi đóng góp](#i-trước-khi-đóng-góp)
- [1. Quy tắc ứng xử](#1-quy-tắc-ứng-xử)
- [2. Hiểu lộ trình phát triển dự án](#2-hiểu-lộ-trình-phát-triển-dự-án)
- [Hỗ trợ nhà cung cấp](#hỗ-trợ-nhà-cung-cấp)
- [Hỗ trợ mô hình](#hỗ-trợ-mô-hình)
- [Hỗ trợ hệ thống](#hỗ-trợ-hệ-thống)
- [Tài liệu](#tài-liệu)
- [Ổn định](#ổn-định)
- [Quốc tế hóa](#quốc-tế-hóa)
- [3. Tham gia cộng đồng Roo Code](#3-tham-gia-cộng-đồng-roo-code)
- [II. Tìm kiếm & lên kế hoạch đóng góp](#ii-tìm-kiếm--lên-kế-hoạch-đóng-góp)
- [1. Các loại đóng góp](#1-các-loại-đóng-góp)
- [2. Nguyên tắc chính: Cách tiếp cận Issue-First](#2-nguyên-tắc-chính-cách-tiếp-cận-issue-first)
- [3. Quyết định việc cần làm](#3-quyết-định-việc-cần-làm)
- [4. Báo cáo lỗi hoặc vấn đề](#4-báo-cáo-lỗi-hoặc-vấn-đề)
- [III. Quy trình phát triển & gửi bài](#iii-quy-trình-phát-triển--gửi-bài)
- [1. Thiết lập môi trường phát triển](#1-thiết-lập-môi-trường-phát-triển)
- [2. Hướng dẫn viết mã](#2-hướng-dẫn-viết-mã)
- [3. Gửi mã: Quy trình Pull Request (PR)](#3-gửi-mã-quy-trình-pull-request-pr)
- [Pull Request nháp](#pull-request-nháp)
- [Mô tả Pull Request](#mô-tả-pull-request)
- [Chính sách Pull Request (PR)](#chính-sách-pull-request-pr)
- [Mục tiêu](#mục-tiêu)
- [Cách tiếp cận Issue-First](#cách-tiếp-cận-issue-first)
- [Điều kiện cho PR mở](#điều-kiện-cho-pr-mở)
- [Quy trình](#quy-trình)
- [Trách nhiệm](#trách-nhiệm)
- [IV. Pháp lý](#iv-pháp-lý)
- [Thỏa thuận đóng góp](#thỏa-thuận-đóng-góp)
- Nhận hỗ trợ và hướng dẫn thời gian thực về đóng góp của bạn
- Kết nối với những người đóng góp khác và các thành viên nhóm cốt lõi
- Cập nhật về sự phát triển và ưu tiên của dự án
- Tham gia vào các cuộc thảo luận định hình tương lai của Roo Code
- Tìm cơ hội hợp tác với các nhà phát triển khác
## I. Trước khi đóng góp
## Báo Cáo Lỗi hoặc Vấn Đề
Trước tiên, hãy làm quen với các tiêu chuẩn cộng đồng và định hướng dự án.
Báo cáo lỗi giúp cải thiện Roo Code cho mọi người! Trước khi tạo một vấn đề mới, vui lòng [tìm kiếm những vấn đề hiện có](https://github.com/RooVetGit/Roo-Code/issues) để tránh trùng lặp. Khi bạn đã sẵn sàng báo cáo lỗi, hãy truy cập [trang vấn đề](https://github.com/RooVetGit/Roo-Code/issues/new/choose) của chúng tôi, nơi bạn sẽ tìm thấy một mẫu để giúp bạn điền thông tin liên quan.
### 1. Quy tắc ứng xử
<blockquote class='warning-note'>
🔐 <b>Quan trọng:</b> Nếu bạn phát hiện lỗ hổng bảo mật, vui lòng sử dụng <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">công cụ bảo mật Github để báo cáo riêng tư</a>.
</blockquote>
Tất cả thành viên đóng góp phải tuân thủ [Quy tắc ứng xử](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md) của chúng mình. Hãy đọc kỹ trước khi đóng góp.
## Quyết Định Làm Việc trên Cái Gì
### 2. Hiểu lộ trình phát triển dự án
Tìm kiếm đóng góp đầu tiên tốt? Kiểm tra các vấn đề trong phần "Issue [Unassigned]" của [Dự án Github Roo Code](https://github.com/orgs/RooVetGit/projects/1) của chúng tôi. Những vấn đề này được chọn lọc đặc biệt cho người đóng góp mới và các lĩnh vực mà chúng tôi muốn nhận được sự giúp đỡ!
Roo Code có lộ trình phát triển rõ ràng, định hướng ưu tiên và tương lai của dự án. Hiểu lộ trình này giúp bạn:
Chúng tôi cũng hoan nghênh đóng góp cho [tài liệu](https://docs.roocode.com/) của chúng tôi! Dù là sửa lỗi chính tả, cải thiện hướng dẫn hiện có, hay tạo nội dung giáo dục mới - chúng tôi muốn xây dựng một kho tài nguyên do cộng đồng thúc đẩy giúp mọi người tận dụng tối đa Roo Code. Bạn có thể nhấp vào "Edit this page" trên bất kỳ trang nào để nhanh chóng đến đúng vị trí trong Github để chỉnh sửa tệp, hoặc bạn có thể đi trực tiếp vào https://github.com/RooVetGit/Roo-Code-Docs.
- Định hướng đóng góp phù hợp với mục tiêu dự án
- Xác định lĩnh vực bạn có thể đóng góp tốt nhất
- Hiểu bối cảnh đằng sau các quyết định thiết kế
- Lấy cảm hứng cho các tính năng mới phù hợp với tầm nhìn của dự án
Nếu bạn đang lên kế hoạch làm việc trên một tính năng lớn hơn, vui lòng tạo [yêu cầu tính năng](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop) trước để chúng tôi có thể thảo luận xem nó có phù hợp với tầm nhìn của Roo Code không. Bạn cũng có thể kiểm tra [Lộ Trình Dự Án](#lộ-trình-dự-án) bên dưới để xem liệu ý tưởng của bạn có phù hợp với định hướng chiến lược của chúng tôi không.
Lộ trình hiện tại tập trung vào 6 trụ cột chính:
## Lộ Trình Dự Án
#### Hỗ trợ nhà cung cấp
Roo Code có một lộ trình phát triển rõ ràng hướng dẫn các ưu tiên và định hướng tương lai của chúng tôi. Hiểu lộ trình của chúng tôi có thể giúp bạn:
Chúng mình muốn hỗ trợ càng nhiều nhà cung cấp càng tốt:
- Điều chỉnh đóng góp của bạn với mục tiêu của dự án
- Xác định các lĩnh vực mà chuyên môn của bạn sẽ có giá trị nhất
- Hiểu bối cảnh đằng sau một số quyết định thiết kế
- Tìm cảm hứng cho các tính năng mới hỗ trợ tầm nhìn của chúng tôi
Lộ trình hiện tại của chúng tôi tập trung vào sáu trụ cột chính:
### Hỗ Trợ Nhà Cung Cấp
Chúng tôi hướng đến việc hỗ trợ càng nhiều nhà cung cấp càng tốt:
- Hỗ trợ "OpenAI Compatible" linh hoạt hơn
- Hỗ trợ "Tương thích OpenAI" nhiều hơn
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- Hỗ trợ nâng cao cho Ollama và LM Studio
- Tăng cường hỗ trợ Ollama và LM Studio
### Hỗ Trợ Mô Hình
#### Hỗ trợ mô hình
Chúng tôi muốn Roo hoạt động tốt trên càng nhiều mô hình càng tốt, bao gồm cả mô hình cục bộ:
Chúng mình muốn Roo hoạt động tốt trên nhiều mô hình nhất có thể, kể cả mô hình cục bộ:
- Hỗ trợ mô hình cục bộ thông qua prompting hệ thống tùy chỉnh và quy trình làm việc
- Đánh giá hiệu suất và các trường hợp thử nghiệm
- Hỗ trợ mô hình cục bộ qua prompt hệ thống và workflow tùy chỉnh
- Đánh giá benchmark và test case
### Hỗ Trợ Hệ Thống
#### Hỗ trợ hệ thống
Chúng tôi muốn Roo chạy tốt trên máy tính của mọi người:
Chúng mình muốn Roo chạy tốt trên mọi máy tính:
- Tích hợp terminal đa nền tảng
- Hỗ trợ mạnh mẽ và nhất quán cho Mac, Windows và Linux
- Hỗ trợ mạnh mẽ và ổn định cho Mac, Windows, Linux
### Tài Liệu
#### Tài liệu
Chúng tôi muốn tài liệu toàn diện, dễ tiếp cận cho tất cả người dùng và người đóng góp:
Chúng mình muốn có tài liệu đầy đủ, dễ tiếp cận cho mọi người dùng và cộng tác viên:
- Hướng dẫn người dùng và hướng dẫn mở rộng
- Hướng dẫn và tài liệu mở rộng
- Tài liệu API rõ ràng
- Hướng dẫn tốt hơn cho người đóng góp
- Hướng dẫn tốt hơn cho cộng tác viên
- Tài nguyên tài liệu đa ngôn ngữ
- Ví dụ tương tác và mẫu
- Ví dụ tương tác và đoạn mã mẫu
### Ổn Định
#### Ổn định
Chúng tôi muốn giảm đáng kể số lượng lỗi và tăng kiểm tra tự động:
Chúng mình muốn giảm đáng kể số lỗi và tăng cường kiểm thử tự động:
- Công tắc ghi nhật ký gỡ lỗi
- Nút sao chép "Thông Tin Máy/Nhiệm Vụ" để gửi kèm với yêu cầu hỗ trợ/lỗi
- Công tắc bật/tắt log debug
- Nút "Sao chép thông tin máy/tác vụ" cho yêu cầu hỗ trợ/bug
### Quốc Tế Hóa
#### Quốc tế hóa
Chúng tôi muốn Roo nói ngôn ngữ của mọi người:
Chúng mình muốn Roo nói được ngôn ngữ của mọi người:
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
Chúng tôi đặc biệt hoan nghênh những đóng góp thúc đẩy mục tiêu lộ trình của chúng tôi. Nếu bạn đang làm việc trên điều gì đó phù hợp với những trụ cột này, vui lòng đề cập đến điều đó trong mô tả PR của bạn.
Chúng mình đặc biệt hoan nghênh các đóng góp giúp tiến gần hơn tới mục tiêu lộ trình. Nếu bạn làm việc liên quan đến các trụ cột này, hãy đề cập trong mô tả PR.
## Thiết Lập Phát Triển
### 3. Tham gia cộng đồng Roo Code
1. **Clone** kho lưu trữ:
Kết nối với cộng đồng Roo Code là cách tuyệt vời để bắt đầu:
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **Cách chính**:
1. Tham gia [cộng đồng Roo Code trên Discord](https://discord.gg/roocode).
2. Sau khi tham gia, gửi tin nhắn trực tiếp (DM) cho **Hannes Rudolph** (Discord: `hrudolph`) để trao đổi về mong muốn đóng góp và nhận hướng dẫn.
- **Dành cho cộng tác viên giàu kinh nghiệm**: Nếu bạn quen với cách tiếp cận issue-first, có thể tham gia trực tiếp trên GitHub bằng cách theo dõi [bảng Kanban](https://github.com/orgs/RooVetGit/projects/1) và trao đổi qua issues, pull requests.
2. **Cài đặt các phụ thuộc**:
## II. Tìm kiếm & lên kế hoạch đóng góp
```sh
npm run install:all
```
Xác định bạn muốn làm gì và cách thực hiện.
3. **Khởi động webview (ứng dụng Vite/React với HMR)**:
### 1. Các loại đóng góp
```sh
npm run dev
```
Chúng mình hoan nghênh nhiều hình thức đóng góp:
4. **Gỡ lỗi**:
Nhấn `F5` (hoặc **Run****Start Debugging**) trong VSCode để mở phiên mới với Roo Code được tải.
- **Sửa lỗi**: Khắc phục vấn đề trong mã nguồn hiện tại
- **Tính năng mới**: Thêm chức năng mới
- **Tài liệu**: Cải thiện hướng dẫn, ví dụ hoặc sửa lỗi chính tả
Các thay đổi đối với webview sẽ xuất hiện ngay lập tức. Các thay đổi đối với phần mở rộng cốt lõi sẽ yêu cầu khởi động lại máy chủ phần mở rộng.
### 2. Nguyên tắc chính: Cách tiếp cận Issue-First
Hoặc bạn có thể xây dựng một tệp .vsix và cài đặt nó trực tiếp trong VSCode:
**Mọi đóng góp đều phải bắt đầu bằng một Issue trên GitHub.** Đây là bước quan trọng để đảm bảo sự đồng thuận và tránh lãng phí công sức.
- **Tìm hoặc tạo Issue**:
- Trước khi bắt đầu, hãy kiểm tra [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) xem đã có issue cho đóng góp của bạn chưa.
- Nếu có và chưa được gán, hãy bình luận để nhận việc. Một maintainer sẽ gán cho bạn.
- Nếu chưa có, hãy tạo issue mới bằng template phù hợp trên [trang issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose):
- Sửa lỗi: dùng template "Bug Report"
- Tính năng mới: dùng template "Detailed Feature Proposal". Đợi maintainer (đặc biệt là @hannesrudolph) duyệt trước khi bắt đầu làm.
- **Lưu ý**: Ý tưởng chung hoặc thảo luận ban đầu về tính năng có thể bắt đầu ở [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests). Khi ý tưởng rõ ràng hơn, hãy tạo issue "Detailed Feature Proposal".
- **Nhận việc và được gán**:
- Bình luận rõ ràng để nhận việc trên issue.
- Đợi maintainer gán chính thức trên GitHub để tránh trùng lặp công việc.
- **Nếu không tuân thủ**:
- Pull Request (PR) gửi mà không có issue liên quan, được duyệt và gán trước có thể bị đóng mà không review đầy đủ. Chính sách này nhằm đảm bảo đóng góp phù hợp với ưu tiên dự án và tôn trọng thời gian của mọi người.
Cách này giúp chúng mình theo dõi công việc, đảm bảo thay đổi là cần thiết và phối hợp hiệu quả.
### 3. Quyết định việc cần làm
- **Good First Issues**: Xem mục "Issue [Unassigned]" trên [Dự án Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) trên GitHub.
- **Tài liệu**: Dù `CONTRIBUTING.md` là hướng dẫn chính cho đóng góp mã nguồn, nếu bạn muốn đóng góp cho tài liệu khác (hướng dẫn người dùng, API...), hãy xem [repo Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs) hoặc hỏi trên Discord.
- **Đề xuất tính năng mới**:
1. **Ý tưởng/thảo luận ban đầu**: Với ý tưởng chung hoặc mới, hãy bắt đầu thảo luận ở [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests).
2. **Đề xuất chính thức**: Với đề xuất cụ thể, sẵn sàng thực hiện, hãy tạo issue "Detailed Feature Proposal" bằng template trên [trang issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose). Đây là phần quan trọng của **cách tiếp cận Issue-First**.
### 4. Báo cáo lỗi hoặc vấn đề
Nếu bạn phát hiện lỗi:
1. **Tìm issue đã có**: Kiểm tra [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) xem đã có ai báo cáo chưa.
2. **Tạo issue mới**: Nếu chưa có, dùng template "Bug Report" trên [trang issues](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
> 🔐 **Lỗ hổng bảo mật**: Nếu phát hiện lỗ hổng bảo mật, hãy báo cáo riêng qua [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Không tạo issue công khai cho lỗ hổng bảo mật.
## III. Quy trình phát triển & gửi bài
Làm theo các bước sau để lập trình và gửi đóng góp.
### 1. Thiết lập môi trường phát triển
1. **Fork & Clone**:
- Fork repo trên GitHub.
- Clone repo về máy: `git clone https://github.com/TEN_TAI_KHOAN/Roo-Code.git`
2. **Cài đặt phụ thuộc**: `npm run install:all`
3. **Chạy Webview (Dev Mode)**: `npm run dev` (cho app Vite/React với HMR)
4. **Debug extension**: Nhấn `F5` trong VS Code (hoặc **Run****Start Debugging**) để mở cửa sổ Extension Development Host với Roo Code đã nạp.
Thay đổi ở webview (`webview-ui`) sẽ xuất hiện ngay nhờ Hot Module Replacement. Thay đổi ở extension chính (`src`) cần khởi động lại Extension Development Host.
Hoặc, để build và cài đặt gói `.vsix`:
```sh
npm run build
code --install-extension bin/roo-cline-<phiên-bản>.vsix
```
Một tệp `.vsix` sẽ xuất hiện trong thư mục `bin/` có thể được cài đặt bằng:
(Thay `<phiên-bản>` bằng số phiên bản thực tế của file đã build.)
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
### 2. Hướng dẫn viết mã
## Viết và Gửi Mã
- **PR tập trung**: Mỗi PR chỉ nên có một tính năng/sửa lỗi.
- **Chất lượng mã**:
- Vượt qua các kiểm tra CI (lint, format)
- Sửa cảnh báo/lỗi ESLint (`npm run lint`)
- Phản hồi góp ý từ công cụ review mã tự động
- Tuân thủ best practice TypeScript và đảm bảo an toàn kiểu dữ liệu
- **Kiểm thử**:
- Thêm test cho tính năng mới
- Chạy `npm test` để đảm bảo mọi test đều pass
- Cập nhật test hiện có nếu thay đổi ảnh hưởng đến chúng
- **Thông điệp commit**:
- Viết rõ ràng, mô tả đầy đủ
- Tham chiếu issue liên quan bằng `#số-issue` (vd: `Fixes #123`)
- **Checklist trước khi gửi PR**:
- Rebase branch lên `main` mới nhất từ upstream
- Đảm bảo mã build thành công (`npm run build`)
- Tất cả test phải pass (`npm test`)
- Xóa mã debug hoặc `console.log`
Bất kỳ ai cũng có thể đóng góp mã cho Roo Code, nhưng chúng tôi yêu cầu bạn tuân theo những hướng dẫn này để đảm bảo đóng góp của bạn có thể được tích hợp suôn sẻ:
### 3. Gửi mã: Quy trình Pull Request (PR)
1. **Giữ Pull Request Tập Trung**
#### Pull Request nháp
- Giới hạn PR vào một tính năng hoặc sửa lỗi duy nhất
- Chia các thay đổi lớn hơn thành các PR nhỏ hơn, có liên quan
- Chia các thay đổi thành các commit hợp lý có thể được xem xét độc lập
Dùng PR nháp cho công việc chưa sẵn sàng review đầy đủ nhưng bạn muốn:
2. **Chất Lượng Mã**
- Chạy kiểm tra tự động (CI)
- Nhận góp ý sớm từ maintainer hoặc cộng tác viên khác
- Thể hiện công việc đang tiến hành
- Tất cả PR phải vượt qua kiểm tra CI bao gồm cả linting và định dạng
- Giải quyết mọi cảnh báo hoặc lỗi ESLint trước khi gửi
- Phản hồi tất cả phản hồi từ Ellipsis, công cụ đánh giá mã tự động của chúng tôi
- Tuân theo các thực hành tốt nhất của TypeScript và duy trì an toàn kiểu
Chỉ đánh dấu PR là "Ready for Review" khi mọi kiểm tra đều pass và bạn tin rằng đã đáp ứng tiêu chí "Hướng dẫn viết mã" và "Mô tả Pull Request".
3. **Kiểm Tra**
#### Mô tả Pull Request
- Thêm kiểm tra cho các tính năng mới
- Chạy `npm test` để đảm bảo tất cả các kiểm tra đều vượt qua
- Cập nhật các bài kiểm tra hiện có nếu thay đổi của bạn ảnh hưởng đến chúng
- Bao gồm cả kiểm tra đơn vị và kiểm tra tích hợp khi thích hợp
Mô tả PR phải đầy đủ và theo cấu trúc của [Template Pull Request](.github/pull_request_template.md). Các điểm chính:
4. **Hướng Dẫn Commit**
- Link đến Issue đã duyệt trên GitHub mà PR giải quyết
- Mô tả rõ ràng thay đổi và mục đích
- Bước kiểm thử chi tiết
- Danh sách breaking changes (nếu có)
- **Với thay đổi UI, cung cấp ảnh/video trước/sau**
- **Chỉ rõ nếu PR cần cập nhật tài liệu người dùng và tài liệu/section nào bị ảnh hưởng**
- Viết thông điệp commit rõ ràng, mô tả
- Tham chiếu các vấn đề có liên quan trong commit bằng cách sử dụng #số-vấn-đề
#### Chính sách Pull Request (PR)
5. **Trước Khi Gửi**
##### Mục tiêu
- Rebase nhánh của bạn trên main mới nhất
- Đảm bảo nhánh của bạn xây dựng thành công
- Kiểm tra lại rằng tất cả các bài kiểm tra đều vượt qua
- Xem xét các thay đổi của bạn cho bất kỳ mã gỡ lỗi hoặc bản ghi console nào
Duy trì backlog PR sạch, tập trung và dễ quản lý.
6. **Mô Tả Pull Request**
- Mô tả rõ ràng những gì thay đổi của bạn làm
- Bao gồm các bước để kiểm tra các thay đổi
- Liệt kê bất kỳ thay đổi đáng kể nào
- Thêm ảnh chụp màn hình cho các thay đổi UI
##### Cách tiếp cận Issue-First
## Thỏa Thuận Đóng Góp
- **Bắt buộc**: Trước khi bắt đầu, phải có Issue trên GitHub đã được duyệt và gán (dù là "Bug Report" hay "Detailed Feature Proposal").
- **Duyệt**: Issue, nhất là thay đổi lớn, phải được maintainer (đặc biệt là @hannesrudolph) duyệt _trước_ khi bắt đầu code.
- **Tham chiếu**: PR phải tham chiếu rõ ràng đến các Issue đã duyệt trong mô tả.
- **Hậu quả**: Không tuân thủ có thể khiến PR bị đóng mà không review đầy đủ.
Bằng cách gửi một pull request, bạn đồng ý rằng đóng góp của bạn sẽ được cấp phép theo cùng giấy phép với dự án ([Apache 2.0](../LICENSE)).
##### Điều kiện cho PR mở
- **Sẵn sàng merge**: Pass mọi kiểm tra CI, phù hợp roadmap (nếu có), liên kết với Issue đã duyệt và gán, có tài liệu/bình luận rõ ràng, có ảnh/video trước/sau cho thay đổi UI
- **Đóng**: Lỗi CI, xung đột merge lớn, không phù hợp mục tiêu dự án hoặc không cập nhật sau góp ý >30 ngày
##### Quy trình
1. **Duyệt & gán Issue**: @hannesrudolph (hoặc maintainer khác) duyệt và gán Issue mới/cũ.
2. **Triage PR ban đầu (hàng ngày)**: Maintainer kiểm tra nhanh PR mới để lọc việc khẩn cấp hoặc vấn đề nghiêm trọng.
3. **Review PR chi tiết (hàng tuần)**: Maintainer review kỹ PR về độ sẵn sàng, phù hợp Issue và chất lượng tổng thể.
4. **Góp ý chi tiết & lặp lại**: Sau review, maintainer góp ý (Approve, Request Changes, Reject). Cộng tác viên cần phản hồi và chỉnh sửa nếu cần.
5. **Quyết định**: PR được duyệt sẽ merge. PR có vấn đề không giải quyết được hoặc không phù hợp sẽ bị đóng kèm giải thích.
6. **Theo dõi**: Tác giả PR bị đóng có thể sửa theo góp ý và mở lại nếu vấn đề được giải quyết hoặc hướng dự án thay đổi.
##### Trách nhiệm
- **Duyệt Issue & tuân thủ quy trình (@hannesrudolph & maintainer)**: Đảm bảo mọi đóng góp tuân thủ cách tiếp cận Issue-First. Hướng dẫn cộng tác viên.
- **Maintainer (Dev Team)**: Review PR, góp ý kỹ thuật, quyết định duyệt/từ chối, merge PR.
- **Cộng tác viên**: Đảm bảo PR liên kết với Issue đã duyệt và gán, tuân thủ hướng dẫn chất lượng, phản hồi nhanh góp ý.
Chính sách này đảm bảo rõ ràng và tích hợp hiệu quả.
## IV. Pháp lý
### Thỏa thuận đóng góp
Khi gửi pull request, bạn đồng ý rằng đóng góp của mình sẽ được cấp phép theo [Giấy phép Apache 2.0](LICENSE) (hoặc giấy phép hiện tại của dự án), giống như dự án.

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • <b>简体中文</b> • [繁體中文](../zh-TW/CODE_OF_CONDUCT.md)
</sub>
</div>
# 贡献者契约行为准则
## 我们的承诺

View file

@ -1,173 +1,279 @@
# 为 Roo Code 做贡献
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • <b>简体中文</b> • [繁體中文](../zh-TW/CONTRIBUTING.md)
</sub>
</div>
# 参与 Roo Code 贡献
我们很高兴您有兴趣为 Roo Code 做贡献。无论您是修复错误、添加功能,还是改进我们的文档,每一个贡献都让 Roo Code 变得更智能!为了保持我们的社区充满活力和欢迎,所有成员必须遵守我们的[行为准则](CODE_OF_CONDUCT.md)。
Roo Code 是一个由社区驱动的项目,我们非常重视每一位贡献者。为了让每个人的贡献流程顺畅高效,**我们采用“[Issue-First](#2-关键原则-issue-first-方式)”原则。** 这意味着所有工作都必须在提交 Pull Request _之前_ 关联到一个 GitHub Issue详情见[PR 政策](#pull-request-pr-政策))。请认真阅读本指南,了解如何参与贡献。
本指南介绍了如何为 Roo Code 做出贡献,无论是修复 bug、添加新功能还是完善文档。
## 加入我们的社区
## 目录
我们强烈鼓励所有贡献者加入我们的 [Discord 社区](https://discord.gg/roocode)!成为我们 Discord 服务器的一部分可以帮助您:
- [I. 贡献前须知](#i-贡献前须知)
- [1. 行为准则](#1-行为准则)
- [2. 了解项目路线图](#2-了解项目路线图)
- [Provider 支持](#provider-支持)
- [模型支持](#模型支持)
- [系统支持](#系统支持)
- [文档](#文档)
- [稳定性](#稳定性)
- [国际化](#国际化)
- [3. 加入 Roo Code 社区](#3-加入-roo-code-社区)
- [II. 寻找与规划你的贡献](#ii-寻找与规划你的贡献)
- [1. 贡献类型](#1-贡献类型)
- [2. 关键原则Issue-First 方式](#2-关键原则-issue-first-方式)
- [3. 决定要做什么](#3-决定要做什么)
- [4. 报告 bug 或问题](#4-报告-bug-或问题)
- [III. 开发与提交流程](#iii-开发与提交流程)
- [1. 开发环境配置](#1-开发环境配置)
- [2. 编码规范](#2-编码规范)
- [3. 提交代码Pull Request (PR) 流程](#3-提交代码-pull-request-pr-流程)
- [草稿 Pull Request](#草稿-pull-request)
- [Pull Request 描述](#pull-request-描述)
- [Pull Request (PR) 政策](#pull-request-pr-政策)
- [目标](#目标)
- [Issue-First 方式](#issue-first-方式)
- [开放 PR 条件](#开放-pr-条件)
- [流程](#流程)
- [责任分工](#责任分工)
- [IV. 法律声明](#iv-法律声明)
- [贡献协议](#贡献协议)
- 获得关于您贡献的实时帮助和指导
- 与其他贡献者和核心团队成员建立联系
- 了解项目发展和优先事项的最新信息
- 参与塑造 Roo Code 未来的讨论
- 寻找与其他开发者的合作机会
## I. 贡献前须知
## 报告错误或问题
首先,请熟悉我们的社区标准和项目方向。
错误报告有助于使 Roo Code 对每个人都更好!在创建新问题之前,请[搜索现有问题](https://github.com/RooVetGit/Roo-Code/issues)以避免重复。当您准备报告错误时,前往我们的[问题页面](https://github.com/RooVetGit/Roo-Code/issues/new/choose),那里有模板可以帮助您填写相关信息。
### 1. 行为准则
<blockquote class='warning-note'>
🔐 <b>重要提示:</b>如果您发现安全漏洞,请使用 <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">Github 安全工具私下报告它</a>
</blockquote>
所有贡献者都必须遵守我们的[行为准则](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md)。请在贡献前仔细阅读。
## 决定做什么
### 2. 了解项目路线图
寻找一个好的首次贡献?查看我们 [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) Github 项目中"Issue [Unassigned]"部分的问题。这些是专门为新贡献者精心挑选的,也是我们希望得到一些帮助的领域!
Roo Code 有清晰的发展路线图,指引我们的优先级和未来方向。了解路线图有助于你:
我们也欢迎对我们的[文档](https://docs.roocode.com/)做贡献!无论是修复错别字、改进现有指南,还是创建新的教育内容 - 我们希望建立一个由社区驱动的资源库,帮助每个人充分利用 Roo Code。您可以点击任何页面上的"Edit this page"快速进入 Github 中编辑文件的正确位置,或者直接访问 https://github.com/RooVetGit/Roo-Code-Docs。
- 让你的贡献与项目目标保持一致
- 找到你最擅长的领域
- 理解某些设计决策的背景
- 获得新功能灵感,助力项目愿景
如果您计划处理更大的功能,请先创建一个[功能请求](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop),以便我们讨论它是否符合 Roo Code 的愿景。您还可以查看下面的[项目路线图](#项目路线图),看看您的想法是否符合我们的战略方向。
当前路线图聚焦六大核心:
## 项目路线图
#### Provider 支持
Roo Code 有一个明确的开发路线图,指导我们的优先事项和未来方向。了解我们的路线图可以帮助您:
我们希望支持尽可能多的 Provider
- 使您的贡献与项目目标保持一致
- 确定您的专业知识最有价值的领域
- 理解某些设计决策背后的背景
- 为支持我们愿景的新功能找到灵感
- 更强的“OpenAI 兼容”支持
- xAI、Microsoft Azure AI、Alibaba Cloud Qwen、IBM Watsonx、Together AI、DeepInfra、Fireworks AI、Cohere、Perplexity AI、FriendliAI、Replicate
- 增强 Ollama 和 LM Studio 支持
我们当前的路线图专注于六个关键支柱:
#### 模型支持
### 提供商支持
我们希望 Roo 能在尽可能多的模型(包括本地模型)上运行:
我们的目标是尽可能支持更多的提供商:
- 通过自定义系统提示词和工作流支持本地模型
- Benchmark 测试与用例
- 更加多功能的 "OpenAI Compatible" 支持
- xAI, Microsoft Azure AI, Alibaba Cloud Qwen, IBM Watsonx, Together AI, DeepInfra, Fireworks AI, Cohere, Perplexity AI, FriendliAI, Replicate
- 增强对 Ollama 和 LM Studio 的支持
#### 系统支持
### 模型支持
我们希望 Roo 在尽可能多的模型上运行良好,包括本地模型:
- 通过自定义系统提示和工作流程支持本地模型
- 基准评估和测试案例
### 系统支持
我们希望 Roo 在每个人的计算机上都能良好运行:
我们希望 Roo 能在所有电脑上流畅运行:
- 跨平台终端集成
- 对 Mac、Windows 和 Linux 的强大一致支持
- 强大且一致地支持 Mac、Windows、Linux
### 文档
#### 文档
我们希望为所有用户和贡献者提供全面、易于访问的文档:
我们希望为所有用户和贡献者提供全面、易用的文档:
- 扩展用户指南和教程
- 扩展用户指南和教程
- 清晰的 API 文档
- 更好的贡献者指
- 更好的贡献者指
- 多语言文档资源
- 交互式示例和代码示例
- 交互式示例和代码片段
### 稳定性
#### 稳定性
我们希望显著减少错误数量并增加自动化测试
我们希望大幅减少 bug 数量并提升自动化测试覆盖
- 调试日志开关
- 用于发送错误/支持请求的"机器/任务信息"复制按钮
- “机器/任务信息”一键复制按钮,便于 bug/支持请求
### 国际化
#### 国际化
我们希望 Roo 说每个人的语言:
我们希望 Roo Code 说每个人的语言:
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
我们特别欢迎推进我们路线图目标的贡献。如果您正在处理符合这些支柱的内容,请在您的 PR 描述中提及
特别欢迎推进路线图目标的贡献。如果你的工作与这些方向相关,请在 PR 描述中说明
## 开发设置
### 3. 加入 Roo Code 社区
1. **克隆**仓库
加入 Roo Code 社区是一个很好的起点
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **主要方式**
1. 加入 [Roo Code Discord 社区](https://discord.gg/roocode)。
2. 加入后,私信 **Hannes Rudolph**Discord: `hrudolph`),表达你的兴趣并获取指导。
- **有经验的贡献者可选**:如果你熟悉 Issue-First 方式,可以直接通过 GitHub 跟进 [看板](https://github.com/orgs/RooVetGit/projects/1),通过 issue 和 pull request 沟通。
2. **安装依赖**
## II. 寻找与规划你的贡献
```sh
npm run install:all
```
明确你想做什么以及如何开展。
3. **启动 webviewVite/React 应用,具有热模块替换)**
### 1. 贡献类型
```sh
npm run dev
```
我们欢迎多种形式的贡献:
4. **调试**
在 VSCode 中按 `F5`(或**运行** → **开始调试**)打开一个加载了 Roo Code 的新会话。
- **Bug 修复**:修正现有代码中的问题
- **新功能**:添加新功能
- **文档**:完善指南、补充示例或修正错别字
对 webview 的更改将立即显示。对核心扩展的更改将需要重新启动扩展主机。
### 2. 关键原则Issue-First 方式
或者,您可以构建一个 .vsix 文件并直接在 VSCode 中安装:
**所有贡献都必须从 GitHub Issue 开始。** 这是确保协作一致、避免无效劳动的关键步骤。
- **查找或创建 Issue**
- 开始前,先在 [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) 检查是否已有相关 issue。
- 如果有且未分配,评论表达你想认领,维护者会分配给你。
- 如果没有,请在 [issues 页面](https://github.com/RooVetGit/Roo-Code/issues/new/choose) 用合适模板新建:
- Bug 用“Bug Report”模板
- 新功能用“Detailed Feature Proposal”模板。开始实现前请等待维护者尤其是 @hannesrudolph)批准。
- **注意**:功能的初步想法或讨论可在 [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests) 开始具体后再建“Detailed Feature Proposal” issue。
- **认领与分配**
- 明确评论表达你要做某个 issue。
- 等待维护者在 GitHub 正式分配,避免多人重复劳动。
- **不遵守的后果**
- 未关联、未批准、未分配的 PR 可能会被关闭,不做完整 review。此政策确保贡献与项目优先级一致尊重所有人的时间。
这样有助于我们跟踪工作、确保变更是需要的,并高效协作。
### 3. 决定要做什么
- **Good First Issues**:查看 GitHub [Roo Code Issues 项目](https://github.com/orgs/RooVetGit/projects/1) 的“未分配 Issue”部分。
- **文档**:虽然本 `CONTRIBUTING.md` 是代码贡献主指南但如想参与其他文档如用户指南、API 文档),请查阅 [Roo Code Docs 仓库](https://github.com/RooVetGit/Roo-Code-Docs) 或在 Discord 社区咨询。
- **提出新功能**
1. **初步想法/讨论**:广泛或初步想法可在 [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests) 讨论。
2. **正式提案**:具体、可执行的建议请用 [issues 页面](https://github.com/RooVetGit/Roo-Code/issues/new/choose) 的“Detailed Feature Proposal”模板新建 issue。这是 **Issue-First 方式** 的关键环节。
### 4. 报告 bug 或问题
如果你发现 bug
1. **查找已有 issue**:在 [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) 检查是否已有人报告。
2. **新建 issue**:如无重复,请用 [issues 页面](https://github.com/RooVetGit/Roo-Code/issues/new/choose) 的“Bug Report”模板新建。
> 🔐 **安全漏洞**:如发现安全漏洞,请通过 [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new) 私下报告。请勿公开 issue。
## III. 开发与提交流程
按以下步骤进行开发和提交。
### 1. 开发环境配置
1. **Fork & Clone**
- 在 GitHub 上 fork 本仓库
- 本地克隆你的 fork`git clone https://github.com/你的用户名/Roo-Code.git`
2. **安装依赖**`npm run install:all`
3. **运行 Webview开发模式**`npm run dev`(适用于 Vite/React 应用,支持 HMR
4. **调试扩展**:在 VS Code 按 `F5`(或 **Run****Start Debugging**),打开 Roo Code 的 Extension Development Host 窗口
webview`webview-ui`的更改会通过热更新HMR即时生效。核心扩展`src`)的更改需重启 Extension Development Host。
也可以构建并安装 `.vsix` 包:
```sh
npm run build
code --install-extension bin/roo-cline-<版本号>.vsix
```
`bin/` 目录中将出现一个 `.vsix` 文件,可以用以下命令安装:
(将 `<版本号>` 替换为实际生成的文件版本号)
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
### 2. 编码规范
## 编写和提交代码
- **聚焦 PR**:每个 PR 只做一项功能/修复
- **代码质量**
- 通过 CI 检查lint、格式化
- 修复 ESLint 警告或错误(`npm run lint`
- 响应自动代码审查工具反馈
- 遵循 TypeScript 最佳实践,保持类型安全
- **测试**
- 新功能需添加测试
- 运行 `npm test`,确保所有测试通过
- 如有影响,需更新现有测试
- **提交信息**
- 编写清晰、描述性的提交信息
- 用 `#issue-number`(如 `Fixes #123`)引用相关 issue
- **PR 提交前检查**
- 将分支 rebase 到最新 upstream `main`
- 确保代码可构建(`npm run build`
- 所有测试通过(`npm test`
- 移除调试代码或 `console.log`
任何人都可以为 Roo Code 贡献代码,但我们要求您遵循这些指导方针,以确保您的贡献能够顺利集成:
### 3. 提交代码Pull Request (PR) 流程
1. **保持 Pull Requests 聚焦**
#### 草稿 Pull Request
- 将 PR 限制在单一功能或错误修复
- 将较大的更改分割成更小的相关 PR
- 将更改分解为可以独立审查的逻辑提交
对于尚未准备好完整 review 的工作,请用草稿 PR
2. **代码质量**
- 运行自动检查CI
- 提前获取维护者或其他贡献者反馈
- 标明工作正在进行中
- 所有 PR 必须通过包括 linting 和格式化的 CI 检查
- 在提交之前解决任何 ESLint 警告或错误
- 回应 Ellipsis我们的自动代码审查工具的所有反馈
- 遵循 TypeScript 最佳实践并保持类型安全
只有当所有检查通过并且你认为已满足“编码规范”和“Pull Request 描述”要求时,才将 PR 标记为“Ready for Review”。
3. **测试**
#### Pull Request 描述
- 为新功能添加测试
- 运行 `npm test` 确保所有测试通过
- 如果您的更改影响现有测试,请更新它们
- 在适当的情况下包括单元测试和集成测试
你的 PR 描述必须完整,并遵循我们的 [Pull Request 模板](.github/pull_request_template.md) 结构。要点包括:
4. **提交指南**
- 关联的已批准 GitHub Issue 链接
- 变更内容及目的的清晰描述
- 测试变更的详细步骤
- 所有 breaking changes 列表
- **UI 变更需提供前后截图或视频**
- **如需更新用户文档,请说明涉及哪些文档/部分**
- 编写清晰、描述性的提交消息
- 在提交中使用 #issue-number 引用相关问题
#### Pull Request (PR) 政策
5. **提交前**
##### 目标
- 在最新的 main 分支上变基您的分支
- 确保您的分支成功构建
- 再次检查所有测试是否通过
- 检查您的更改中是否有任何调试代码或控制台日志
保持清晰、聚焦、可管理的 PR backlog。
6. **Pull Request 描述**
- 清晰描述您的更改做了什么
- 包括测试更改的步骤
- 列出任何破坏性更改
- 为 UI 更改添加截图
##### Issue-First 方式
## 贡献协议
- **必须**:开始前,需有已批准并分配的 GitHub Issue“Bug Report”或“Detailed Feature Proposal”
- **审批**:尤其是重大变更,需维护者(特别是 @hannesrudolph)提前审批
- **引用**PR 描述中需明确引用这些已审批的 issue
- **后果**:不遵守流程的 PR 可能会被关闭,不做完整 review
通过提交 pull request您同意您的贡献将在与项目相同的许可下获得许可[Apache 2.0](../LICENSE))。
##### 开放 PR 条件
- **可合并**:通过所有 CI 测试,符合路线图(如适用),关联已批准并分配的 issue有清晰文档/注释UI 变更有前后图片/视频
- **需关闭**CI 测试失败、严重合并冲突、不符项目目标或长期(>30 天)无更新
##### 流程
1. **Issue 资格审核与分配**@hannesrudolph(或其他维护者)审核并分配新/现有 issue
2. **初步 PR 筛查(每日)**:维护者快速检查新 PR筛选紧急或关键问题
3. **详细 PR 审查(每周)**:维护者详细评估 PR 的准备度、与 issue 的一致性和整体质量
4. **详细反馈与迭代**根据审查反馈Approve、Request Changes、Reject贡献者需及时响应和改进
5. **决策阶段**:通过的 PR 合并,无法解决或不符方向的 PR 说明原因后关闭
6. **后续跟进**:被关闭 PR 的作者可根据反馈修正后重新提交
##### 责任分工
- **Issue 资格审核与流程把控(@hannesrudolph & 维护者)**:确保所有贡献遵循 Issue-First 方式,指导贡献者
- **维护者(开发团队)**:初步/详细审查 PR提供技术反馈决定批准/拒绝,合并 PR
- **贡献者**:确保 PR 关联已批准并分配的 issue遵守质量规范及时响应反馈
本政策确保流程清晰、高效集成。
## IV. 法律声明
### 贡献协议
提交 Pull Request 即表示你同意你的贡献将以 [Apache 2.0 许可证](LICENSE)(或当前项目许可证)授权,与项目一致。

View file

@ -1,3 +1,11 @@
<div align="center">
<sub>
[English](../../CODE_OF_CONDUCT.md) • [Català](../ca/CODE_OF_CONDUCT.md) • [Deutsch](../de/CODE_OF_CONDUCT.md) • [Español](../es/CODE_OF_CONDUCT.md) • [Français](../fr/CODE_OF_CONDUCT.md) • [हिंदी](../hi/CODE_OF_CONDUCT.md) • [Italiano](../it/CODE_OF_CONDUCT.md) • [Nederlands](../nl/CODE_OF_CONDUCT.md) • [Русский](../ru/CODE_OF_CONDUCT.md)
</sub>
<sub>
[日本語](../ja/CODE_OF_CONDUCT.md) • [한국어](../ko/CODE_OF_CONDUCT.md) • [Polski](../pl/CODE_OF_CONDUCT.md) • [Português (BR)](../pt-BR/CODE_OF_CONDUCT.md) • [Türkçe](../tr/CODE_OF_CONDUCT.md) • [Tiếng Việt](../vi/CODE_OF_CONDUCT.md) • [简体中文](../zh-CN/CODE_OF_CONDUCT.md) • <b>繁體中文</b>
</sub>
</div>
# 貢獻者公約行為準則
## 我們的承諾

View file

@ -1,173 +1,279 @@
# 參與貢獻 Roo Code
<div align="center">
<sub>
[English](../../CONTRIBUTING.md) • [Català](../ca/CONTRIBUTING.md) • [Deutsch](../de/CONTRIBUTING.md) • [Español](../es/CONTRIBUTING.md) • [Français](../fr/CONTRIBUTING.md) • [हिंदी](../hi/CONTRIBUTING.md) • [Italiano](../it/CONTRIBUTING.md) • [Nederlands](../nl/CONTRIBUTING.md) • [Русский](../ru/CONTRIBUTING.md)
</sub>
<sub>
[日本語](../ja/CONTRIBUTING.md) • [한국어](../ko/CONTRIBUTING.md) • [Polski](../pl/CONTRIBUTING.md) • [Português (BR)](../pt-BR/CONTRIBUTING.md) • [Türkçe](../tr/CONTRIBUTING.md) • [Tiếng Việt](../vi/CONTRIBUTING.md) • [简体中文](../zh-CN/CONTRIBUTING.md) • <b>繁體中文</b>
</sub>
</div>
# 參與 Roo Code 貢獻
我們非常歡迎您參與貢獻 Roo Code。無論是修正錯誤、新增功能或改善文件每一份貢獻都能讓 Roo Code 變得更加出色!為了維持社群的活力與友善氛圍,所有成員皆須遵守我們的[行為準則](CODE_OF_CONDUCT.md)。
Roo Code 是一個由社群驅動的專案,我們非常重視每一位貢獻者。為了讓每個人的貢獻流程順暢且有效率,**我們採用「[Issue-First](#2-關鍵原則-issue-first-方式)」原則。** 這代表所有工作都必須在提交 Pull Request _之前_ 先關聯一個 GitHub Issue詳情請見[PR 政策](#pull-request-pr-政策))。請仔細閱讀本指南,了解如何參與貢獻。
本指南說明如何為 Roo Code 做出貢獻,無論是修正 bug、加入新功能或完善文件。
## 加入我們的社群
## 目錄
我們強烈建議所有貢獻者加入我們的 [Discord 社群](https://discord.gg/roocode)!加入 Discord 伺服器後,您可以:
- [I. 貢獻前須知](#i-貢獻前須知)
- [1. 行為準則](#1-行為準則)
- [2. 了解專案藍圖](#2-了解專案藍圖)
- [Provider 支援](#provider-支援)
- [模型支援](#模型支援)
- [系統支援](#系統支援)
- [文件](#文件)
- [穩定性](#穩定性)
- [國際化](#國際化)
- [3. 加入 Roo Code 社群](#3-加入-roo-code-社群)
- [II. 尋找與規劃你的貢獻](#ii-尋找與規劃你的貢獻)
- [1. 貢獻類型](#1-貢獻類型)
- [2. 關鍵原則Issue-First 方式](#2-關鍵原則-issue-first-方式)
- [3. 決定要做什麼](#3-決定要做什麼)
- [4. 回報 bug 或問題](#4-回報-bug-或問題)
- [III. 開發與提交流程](#iii-開發與提交流程)
- [1. 開發環境設定](#1-開發環境設定)
- [2. 程式碼規範](#2-程式碼規範)
- [3. 提交程式碼Pull Request (PR) 流程](#3-提交程式碼-pull-request-pr-流程)
- [草稿 Pull Request](#草稿-pull-request)
- [Pull Request 描述](#pull-request-描述)
- [Pull Request (PR) 政策](#pull-request-pr-政策)
- [目標](#目標)
- [Issue-First 方式](#issue-first-方式)
- [開放 PR 條件](#開放-pr-條件)
- [流程](#流程)
- [責任分工](#責任分工)
- [IV. 法律聲明](#iv-法律聲明)
- [貢獻協議](#貢獻協議)
- 即時取得貢獻相關的協助與指引
- 與其他貢獻者及核心團隊成員交流
- 掌握專案的最新進展與優先事項
- 參與討論,共同塑造 Roo Code 的未來
- 尋找與其他開發者合作的機會
## I. 貢獻前須知
## 回報錯誤或問題
請先熟悉我們的社群標準與專案方向。
回報錯誤能幫助我們改善 Roo Code在建立新議題前請先[搜尋現有議題](https://github.com/RooVetGit/Roo-Code/issues),避免重複回報。當您準備好回報錯誤時,請前往我們的 [議題頁面](https://github.com/RooVetGit/Roo-Code/issues/new/choose),您將找到協助填寫相關資訊的範本。
### 1. 行為準則
<blockquote class='warning-note'>
🔐 <b>重要:</b> 若您發現安全性漏洞,請透過 <a href="https://github.com/RooVetGit/Roo-Code/security/advisories/new">GitHub 安全性通報工具進行私密回報</a>
</blockquote>
所有貢獻者都必須遵守我們的[行為準則](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md)。請在貢獻前仔細閱讀。
## 決定貢獻方向
### 2. 了解專案藍圖
正在尋找適合新手的貢獻機會嗎?請查看我們 [Roo Code Issues](https://github.com/orgs/RooVetGit/projects/1) GitHub 專案中的「Issue [Unassigned]」區塊。這些議題特別適合新進貢獻者,也是我們最需要協助的領域!
Roo Code 有明確的開發藍圖,指引我們的優先順序與未來方向。了解藍圖有助於你:
我們也歡迎您對[文件](https://docs.roocode.com/)提出貢獻!無論是修正錯字、改善現有指南,或建立新的教學內容,我們都希望打造一個由社群推動的知識庫,協助每個人充分運用 Roo Code。您可以點選任何頁面上的「編輯此頁面」按鈕快速前往 GitHub 上的檔案編輯介面,或直接造訪 https://github.com/RooVetGit/Roo-Code-Docs。
- 讓你的貢獻與專案目標一致
- 找到你最擅長的領域
- 理解某些設計決策的背景
- 激發新功能靈感,推動專案願景
若您計畫開發較大型的功能,請先建立一個[功能請求](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests?discussions_q=is%3Aopen+category%3A%22Feature+Requests%22+sort%3Atop),讓我們能討論該功能是否符合 Roo Code 的願景。您也可以參考下方的[專案藍圖](#專案藍圖),確認您的想法是否符合我們的策略方向。
目前藍圖聚焦六大核心:
## 專案藍圖
#### Provider 支援
Roo Code 擁有明確的開發藍圖,指引我們的優先事項與未來方向。了解我們的藍圖能協助您:
我們希望支援越多 Provider 越好
- 讓您的貢獻與專案目標保持一致
- 找到最能發揮您專長的領域
- 理解特定設計決策的脈絡
- 為支援我們願景的新功能尋找靈感
目前的藍圖聚焦於六大核心支柱:
### 供應商支援
我們致力於完善各家供應商的支援:
- 對於「OpenAI 相容」API 的更全面支援
- 更強的「OpenAI 相容」支援
- xAI、Microsoft Azure AI、Alibaba Cloud Qwen、IBM Watsonx、Together AI、DeepInfra、Fireworks AI、Cohere、Perplexity AI、FriendliAI、Replicate
- 強化 Ollama 與 LM Studio 支援
- 強化 Ollama 與 LM Studio 支援
### 模型支援
#### 模型支援
我們希望 Roo 能在更多模型上順暢運作,包括本機模型
我們希望 Roo 能在越多模型(包含本地模型)上運作:
- 透過自訂系統提示與工作流程支援本機模型
- 基準測試評估與測試案例
- 透過自訂系統提示詞與工作流程支援本地模型
- Benchmark 測試與案例
### 系統支援
#### 系統支援
我們希望 Roo 能在每個人的電腦上順暢運作:
我們希望 Roo 能在所有電腦上順暢運作:
- 跨平台終端機整合
- 為 Mac、Windows 與 Linux 提供穩定且一致的支援
- 強大且一致地支援 Mac、Windows、Linux
### 文件
#### 文件
我們希望為所有使用者與貢獻者提供完整且易於取得的文件:
我們希望為所有使用者與貢獻者提供完整、易用的文件:
- 擴充使用者指南與教學
- 清的 API 文件
- 更完善的貢獻者指引
- 清的 API 文件
- 更的貢獻者指引
- 多語言文件資源
- 互動式範例與程式碼範例
- 互動式範例與程式碼片段
### 穩定性
#### 穩定性
我們希望顯著降低錯誤數量並增加自動化測試
我們希望大幅減少 bug 數量並提升自動化測試覆蓋
- 除錯記錄開關
- 用於傳送錯誤/支援請求的「機器/工作資訊」複製按鈕
- 除錯日誌開關
- 「機器/工作資訊」一鍵複製按鈕,方便 bug/支援請求
### 國際化
#### 國際化
我們希望 Roo 能說每個人的語言:
我們希望 Roo Code 能說每個人的語言:
- 我們希望 Roo Code 說每個人的語言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि Roo Code हर किसी की भाषा बोले
- نريد أن يتحدث Roo Code لغة الجميع
我們特別歡迎推動藍圖目標的貢獻。如果您的貢獻符合這些核心支柱,請在 PR 描述中提及
特別歡迎推動藍圖目標的貢獻。如果你的工作與這些方向相關,請在 PR 描述中說明
## 開發環境設定
### 3. 加入 Roo Code 社群
1. **複製**儲存庫
加入 Roo Code 社群是很好的起點
```sh
git clone https://github.com/RooVetGit/Roo-Code.git
```
- **主要方式**
1. 加入 [Roo Code Discord 社群](https://discord.gg/roocode)。
2. 加入後,私訊 **Hannes Rudolph**Discord: `hrudolph`),表達你的興趣並獲得指導。
- **有經驗的貢獻者可選**:如果你熟悉 Issue-First 方式,可以直接透過 GitHub 跟進 [看板](https://github.com/orgs/RooVetGit/projects/1),用 issue 與 pull request 溝通。
2. **安裝相依套件**
## II. 尋找與規劃你的貢獻
```sh
npm run install:all
```
明確你想做什麼以及如何進行。
3. **啟動網頁檢視Vite/React 應用程式,支援 HMR**
### 1. 貢獻類型
```sh
npm run dev
```
我們歡迎多種形式的貢獻:
4. **除錯**
在 VSCode 中按下 `F5`(或選擇**執行** → **開始除錯**)以開啟載入 Roo Code 的新工作階段。
- **Bug 修正**:修正現有程式碼問題
- **新功能**:新增功能
- **文件**:完善指南、補充範例或修正錯字
網頁檢視的變更會立即顯示。核心擴充功能的變更則需要重新啟動擴充主機。
### 2. 關鍵原則Issue-First 方式
或者,您也可以建置 .vsix 檔案並直接在 VSCode 中安裝:
**所有貢獻都必須從 GitHub Issue 開始。** 這是確保協作一致、避免無效勞動的關鍵步驟。
- **查找或建立 Issue**
- 開始前,先在 [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) 檢查是否已有相關 issue。
- 如果有且未分配,留言表達你想認領,維護者會分配給你。
- 如果沒有,請在 [issues 頁面](https://github.com/RooVetGit/Roo-Code/issues/new/choose) 用合適模板新建:
- Bug 用「Bug Report」模板
- 新功能用「Detailed Feature Proposal」模板。開始實作前請等維護者尤其是 @hannesrudolph)批准。
- **注意**:功能初步想法或討論可在 [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests) 開始具體後再建「Detailed Feature Proposal」issue。
- **認領與分配**
- 明確留言表達你要做某個 issue。
- 等待維護者在 GitHub 正式分配,避免多人重複。
- **不遵守的後果**
- 未關聯、未批准、未分配的 PR 可能會被關閉,不做完整 review。此政策確保貢獻與專案優先順序一致尊重大家的時間。
這有助於我們追蹤工作、確保變更是需要的,並高效協作。
### 3. 決定要做什麼
- **Good First Issues**:查看 GitHub [Roo Code Issues 專案](https://github.com/orgs/RooVetGit/projects/1) 的「未分配 Issue」區塊。
- **文件**:雖然本 `CONTRIBUTING.md` 是程式碼貢獻主指南但如想參與其他文件如使用者指南、API 文件),請參考 [Roo Code Docs 倉庫](https://github.com/RooVetGit/Roo-Code-Docs) 或在 Discord 社群詢問。
- **提出新功能**
1. **初步想法/討論**:廣泛或初步想法可在 [GitHub Discussions](https://github.com/RooVetGit/Roo-Code/discussions/categories/feature-requests) 討論。
2. **正式提案**:具體、可執行的建議請用 [issues 頁面](https://github.com/RooVetGit/Roo-Code/issues/new/choose) 的「Detailed Feature Proposal」模板新建 issue。這是 **Issue-First 方式** 的關鍵環節。
### 4. 回報 bug 或問題
如果你發現 bug
1. **查找已有 issue**:在 [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues) 檢查是否已有人回報。
2. **新建 issue**:如無重複,請用 [issues 頁面](https://github.com/RooVetGit/Roo-Code/issues/new/choose) 的「Bug Report」模板新建。
> 🔐 **安全漏洞**:如發現安全漏洞,請透過 [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new) 私下回報。請勿公開 issue。
## III. 開發與提交流程
請依下列步驟進行開發與提交。
### 1. 開發環境設定
1. **Fork & Clone**
- 在 GitHub 上 fork 本倉庫
- 本地 clone 你的 fork`git clone https://github.com/你的帳號/Roo-Code.git`
2. **安裝相依套件**`npm run install:all`
3. **執行 Webview開發模式**`npm run dev`(適用於 Vite/React 應用,支援 HMR
4. **除錯擴充功能**:在 VS Code 按 `F5`(或 **Run****Start Debugging**),開啟 Roo Code 的 Extension Development Host 視窗
webview`webview-ui`的變更會即時熱更新HMR。核心擴充`src`)的變更需重啟 Extension Development Host。
也可建置並安裝 `.vsix` 套件:
```sh
npm run build
code --install-extension bin/roo-cline-<版本號>.vsix
```
建置完成後,`.vsix` 檔案會出現在 `bin/` 目錄中,可使用以下指令安裝:
(將 `<版本號>` 替換為實際產生的檔案版本號)
```sh
code --install-extension bin/roo-cline-<version>.vsix
```
### 2. 程式碼規範
## 撰寫與提交程式碼
- **聚焦 PR**:每個 PR 只做一項功能/修正
- **程式碼品質**
- 通過 CI 檢查lint、格式化
- 修正 ESLint 警告或錯誤(`npm run lint`
- 回應自動化程式碼審查工具意見
- 遵循 TypeScript 最佳實踐,保持型別安全
- **測試**
- 新功能需加測試
- 執行 `npm test`,確保所有測試通過
- 如有影響,需更新現有測試
- **提交訊息**
- 撰寫清楚、具描述性的提交訊息
- 用 `#issue-number`(如 `Fixes #123`)引用相關 issue
- **PR 提交前檢查**
- 將分支 rebase 到最新 upstream `main`
- 確保程式碼可建置(`npm run build`
- 所有測試通過(`npm test`
- 移除除錯程式碼或 `console.log`
任何人都能為 Roo Code 貢獻程式碼,但請遵守以下準則,確保您的貢獻能順利整合:
### 3. 提交程式碼Pull Request (PR) 流程
1. **保持 Pull Request 聚焦**
#### 草稿 Pull Request
- 每個 PR 限制在單一功能或錯誤修正
- 將較大的變更拆分成較小且相關的 PR
- 將變更拆分成可獨立審查的邏輯提交
對於尚未準備好完整 review 的工作,請用草稿 PR
2. **程式碼品質**
- 執行自動檢查CI
- 提前獲得維護者或其他貢獻者回饋
- 標明工作進行中
- 所有 PR 必須通過包含程式碼檢查與格式化的 CI 檢查
- 提交前解決所有 ESLint 警告或錯誤
- 回應 Ellipsis我們的自動化程式碼審查工具的所有建議
- 遵循 TypeScript 最佳實務並維持型別安全
只有當所有檢查通過且你認為已滿足「程式碼規範」與「Pull Request 描述」要求時,才將 PR 標記為「Ready for Review」。
3. **測試**
#### Pull Request 描述
- 為新功能新增測試
- 執行 `npm test` 確保所有測試通過
- 如果變更影響現有測試,請更新測試
- 在適當情況下包含單元測試和整合測試
你的 PR 描述必須完整,並遵循我們的 [Pull Request 模板](.github/pull_request_template.md) 結構。重點包括:
4. **提交準則**
- 關聯的已批准 GitHub Issue 連結
- 變更內容及目的的清楚描述
- 測試變更的詳細步驟
- 所有 breaking changes 列表
- **UI 變更需提供前後截圖或影片**
- **如需更新使用者文件,請說明涉及哪些文件/區塊**
- 撰寫清晰、具描述性的提交訊息
- 使用 #issue-number 在提交中引用相關議題
#### Pull Request (PR) 政策
5. **提交前**
##### 目標
- 將您的分支重新基於最新的 main
- 確保您的分支能成功建置
- 再次檢查所有測試是否通過
- 檢查您的變更中是否有任何除錯程式碼或主控台記錄
保持清楚、聚焦、可管理的 PR backlog。
6. **PR 描述**
- 清楚描述您的變更內容
- 包含測試變更的步驟
- 列出任何重大變更
- 為使用者介面變更附上截圖
##### Issue-First 方式
## 貢獻協議
- **必須**:開始前,需有已批准並分配的 GitHub Issue「Bug Report」或「Detailed Feature Proposal」
- **審核**:尤其是重大變更,需維護者(特別是 @hannesrudolph)提前審核
- **引用**PR 描述中需明確引用這些已審核的 issue
- **後果**:不遵守流程的 PR 可能會被關閉,不做完整 review
透過提交 Pull Request您同意您的貢獻將依照與專案相同的授權條款[Apache 2.0](../LICENSE))進行授權。
##### 開放 PR 條件
- **可合併**:通過所有 CI 測試,符合藍圖(如適用),關聯已批准並分配的 issue有清楚文件/註解UI 變更有前後圖片/影片
- **需關閉**CI 測試失敗、嚴重合併衝突、不符專案目標或長期(>30 天)無更新
##### 流程
1. **Issue 資格審查與分配**@hannesrudolph(或其他維護者)審查並分配新/現有 issue
2. **初步 PR 篩查(每日)**:維護者快速檢查新 PR篩選緊急或關鍵問題
3. **詳細 PR 審查(每週)**:維護者詳細評估 PR 的準備度、與 issue 的一致性和整體品質
4. **詳細回饋與修正**根據審查回饋Approve、Request Changes、Reject貢獻者需及時回應和改進
5. **決策階段**:通過的 PR 合併,無法解決或不符方向的 PR 說明原因後關閉
6. **後續跟進**:被關閉 PR 的作者可根據回饋修正後重新提交
##### 責任分工
- **Issue 資格審查與流程把控(@hannesrudolph & 維護者)**:確保所有貢獻遵循 Issue-First 方式,指導貢獻者
- **維護者(開發團隊)**:初步/詳細審查 PR提供技術回饋決定批准/拒絕,合併 PR
- **貢獻者**:確保 PR 關聯已批准並分配的 issue遵守品質規範及時回應回饋
本政策確保流程清楚、高效整合。
## IV. 法律聲明
### 貢獻協議
提交 Pull Request 即表示你同意你的貢獻將以 [Apache 2.0 授權條款](LICENSE)(或專案現行授權)釋出,與專案一致。