|
|
@@ -4,239 +4,126 @@
|
|
|
|
|
|
# Вклад в Roo Code
|
|
|
|
|
|
-Roo Code — это проект, управляемый сообществом, и мы очень ценим каждый вклад. Чтобы процесс был максимально простым и эффективным для всех, **мы работаем по принципу "[Issue-First](#2-ключевой-принцип-подход-issue-first)".** Это значит, что вся работа должна быть связана с GitHub Issue _до_ отправки Pull Request (подробности см. в нашей [PR-политике](#политика-pull-request-pr)). Пожалуйста, внимательно прочитай это руководство, чтобы понять, как внести свой вклад.
|
|
|
-Это руководство объясняет, как внести вклад в Roo Code — будь то исправление ошибок, добавление новых функций или улучшение документации.
|
|
|
+Roo Code — проект, управляемый сообществом, и мы высоко ценим каждый вклад. Для упрощения сотрудничества мы работаем по принципу [Issue-First](#подход-issue-first), что означает, что все [Pull Request (PR)](#отправка-pull-request) должны сначала быть связаны с GitHub Issue. Пожалуйста, внимательно ознакомься с этим руководством.
|
|
|
|
|
|
## Содержание
|
|
|
|
|
|
-- [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. Перед тем как внести вклад
|
|
|
-
|
|
|
-Сначала ознакомься с нашими стандартами сообщества и направлением проекта.
|
|
|
+- [Перед тем как внести вклад](#перед-тем-как-внести-вклад)
|
|
|
+- [Поиск и планирование вклада](#поиск-и-планирование-вклада)
|
|
|
+- [Процесс разработки и отправки](#процесс-разработки-и-отправки)
|
|
|
+- [Юридическая информация](#юридическая-информация)
|
|
|
|
|
|
-### 1. Кодекс поведения
|
|
|
-
|
|
|
-Все участники должны соблюдать наш [Кодекс поведения](https://github.com/RooVetGit/Roo-Code/blob/main/CODE_OF_CONDUCT.md). Пожалуйста, прочитай его перед тем, как вносить вклад.
|
|
|
+## Перед тем как внести вклад
|
|
|
|
|
|
-### 2. Понимание дорожной карты проекта
|
|
|
+### 1. Кодекс поведения
|
|
|
|
|
|
-У Roo Code есть четкая дорожная карта развития, определяющая наши приоритеты и будущее направление. Понимание дорожной карты поможет тебе:
|
|
|
+Все участники должны соблюдать наш [Кодекс поведения](./CODE_OF_CONDUCT.md).
|
|
|
|
|
|
-- Согласовать свой вклад с целями проекта
|
|
|
-- Найти области, где твой опыт будет наиболее ценен
|
|
|
-- Понять контекст некоторых проектных решений
|
|
|
-- Вдохновиться на новые функции, поддерживающие наше видение
|
|
|
+### 2. Дорожная карта проекта
|
|
|
|
|
|
-Мы стремимся сделать Roo Code лучшим выбором для разработчиков, создающих приложения с инструментами программирования на основе ИИ. Вот как мы это реализуем:
|
|
|
+Наша дорожная карта определяет направление проекта. Согласуй свой вклад с этими ключевыми целями:
|
|
|
|
|
|
-#### Надежность в первую очередь
|
|
|
+### Надежность в первую очередь
|
|
|
|
|
|
-- Обеспечение стабильной и надежной работы редактирования различий и выполнения команд
|
|
|
-- Сокращение точек трения, которые препятствуют регулярному использованию
|
|
|
+- Обеспечение стабильной работы редактирования различий и выполнения команд
|
|
|
+- Сокращение точек трения, препятствующих регулярному использованию
|
|
|
- Гарантия бесперебойной работы на всех языках и платформах
|
|
|
- Расширение надежной поддержки для широкого спектра ИИ-провайдеров и моделей
|
|
|
|
|
|
-#### Улучшенный пользовательский опыт
|
|
|
+### Улучшенный пользовательский опыт
|
|
|
|
|
|
- Упрощение пользовательского интерфейса для большей ясности и интуитивности
|
|
|
-- Постоянное совершенствование рабочего процесса для соответствия высоким ожиданиям, которые разработчики предъявляют к инструментам ежедневного использования
|
|
|
+- Постоянное совершенствование рабочего процесса для соответствия высоким ожиданиям разработчиков
|
|
|
|
|
|
-#### Лидерство в производительности агентов
|
|
|
+### Лидерство в производительности агентов
|
|
|
|
|
|
- Создание комплексных показателей оценки (evals) для измерения реальной продуктивности
|
|
|
- Упрощение запуска и интерпретации этих оценок для всех пользователей
|
|
|
-- Внедрение улучшений в Roo Code, демонстрирующих явное повышение оценочных показателей
|
|
|
+- Внедрение улучшений, демонстрирующих явное повышение оценочных показателей
|
|
|
|
|
|
-Особенно приветствуются вклады, которые способствуют достижению целей дорожной карты. Если ты работаешь над чем-то, что связано с этими направлениями, укажи это в описании PR.
|
|
|
+Упоминай связь с этими направлениями в своих 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. Виды вклада
|
|
|
+- **Основной способ:** Присоединись к нашему [Discord](https://discord.gg/roocode) и отправь личное сообщение **Hannes Rudolph (`hrudolph`)**.
|
|
|
+- **Альтернатива:** Опытные участники могут взаимодействовать напрямую через [GitHub Projects](https://github.com/orgs/RooVetGit/projects/1).
|
|
|
|
|
|
-Мы приветствуем разные виды вклада:
|
|
|
+## Поиск и планирование вклада
|
|
|
|
|
|
-- **Исправление ошибок**: Исправление проблем в существующем коде
|
|
|
-- **Новые функции**: Добавление новых возможностей
|
|
|
-- **Документация**: Улучшение руководств, добавление примеров или исправление опечаток
|
|
|
+### Виды вклада
|
|
|
|
|
|
-### 2. Ключевой принцип: подход Issue-First
|
|
|
+- **Исправление ошибок:** Решение проблем в коде.
|
|
|
+- **Новые функции:** Добавление функциональности.
|
|
|
+- **Документация:** Улучшение руководств и ясности.
|
|
|
|
|
|
-**Весь вклад должен начинаться с GitHub Issue.** Это важно для согласования и предотвращения лишней работы.
|
|
|
+### Подход Issue-First
|
|
|
|
|
|
-- **Найти или создать 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, могут быть закрыты без полного рассмотрения. Эта политика нужна для согласования вклада с приоритетами проекта и уважения времени всех участников.
|
|
|
+Весь вклад должен начинаться с GitHub Issue.
|
|
|
|
|
|
-Этот подход помогает отслеживать работу, гарантировать нужность изменений и эффективно координировать усилия.
|
|
|
+- **Проверь существующие issues:** Поищи в [GitHub Issues](https://github.com/RooVetGit/Roo-Code/issues).
|
|
|
+- **Создай issue:** Используй подходящие шаблоны:
|
|
|
+ - **Баги:** Шаблон "Bug Report".
|
|
|
+ - **Функции:** Шаблон "Detailed Feature Proposal". Требуется одобрение перед началом.
|
|
|
+- **Заяви issue:** Оставь комментарий и дождись официального назначения.
|
|
|
|
|
|
-### 3. Решение, над чем работать
|
|
|
+**PR без одобренных issue могут быть закрыты.**
|
|
|
|
|
|
-- **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. Сообщение об ошибках или проблемах
|
|
|
+- Проверь [GitHub проект](https://github.com/orgs/RooVetGit/projects/1) на наличие незанятых "Good First Issues".
|
|
|
+- Для документации посети [Roo Code Docs](https://github.com/RooVetGit/Roo-Code-Docs).
|
|
|
|
|
|
-Если нашел ошибку:
|
|
|
+### Сообщение об ошибках
|
|
|
|
|
|
-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).
|
|
|
+- Сначала проверь существующие сообщения.
|
|
|
+- Создай новые сообщения об ошибках, используя [шаблон "Bug Report"](https://github.com/RooVetGit/Roo-Code/issues/new/choose).
|
|
|
+- **Уязвимости безопасности:** Сообщай приватно через [security advisories](https://github.com/RooVetGit/Roo-Code/security/advisories/new).
|
|
|
|
|
|
-> 🔐 **Уязвимости безопасности**: Если обнаружил уязвимость, сообщи о ней приватно через [GitHub Security Advisory Tool](https://github.com/RooVetGit/Roo-Code/security/advisories/new). Не создавай публичное issue для уязвимостей.
|
|
|
+## Процесс разработки и отправки
|
|
|
|
|
|
-## III. Процесс разработки и отправки
|
|
|
+### Настройка среды разработки
|
|
|
|
|
|
-Следуй этим шагам для написания и отправки кода.
|
|
|
+1. **Fork & Clone:**
|
|
|
|
|
|
-### 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
|
|
|
+```
|
|
|
+git clone https://github.com/ТВОЙ_ПОЛЬЗОВАТЕЛЬ/Roo-Code.git
|
|
|
```
|
|
|
|
|
|
-(Замени `<версия>` на фактический номер версии сгенерированного файла).
|
|
|
-
|
|
|
-### 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.
|
|
|
+2. **Установка зависимостей:**
|
|
|
|
|
|
-##### Подход Issue-First
|
|
|
+```
|
|
|
+npm run install:all
|
|
|
+```
|
|
|
|
|
|
-- **Обязательно**: Перед началом работы должно быть существующее, одобренное и назначенное GitHub Issue ("Bug Report" или "Detailed Feature Proposal").
|
|
|
-- **Одобрение**: Issues, особенно для крупных изменений, должны быть одобрены мейнтейнерами (особенно @hannesrudolph) _до_ начала кодирования.
|
|
|
-- **Ссылка**: PR должны явно ссылаться на эти предварительно одобренные issues в описании.
|
|
|
-- **Последствия**: Несоблюдение этого процесса может привести к закрытию PR без полной проверки.
|
|
|
+3. **Отладка:** Открой в VS Code (`F5`).
|
|
|
|
|
|
-##### Условия для открытых PR
|
|
|
+### Руководство по написанию кода
|
|
|
|
|
|
-- **Готов к слиянию**: Проходит все проверки CI, соответствует дорожной карте (если применимо), связан с одобренным и назначенным Issue, имеет четкую документацию/комментарии, включает скриншоты/видео до/после для изменений в UI
|
|
|
-- **Для закрытия**: Ошибки CI, серьезные конфликты слияния, несоответствие целям проекта или длительная неактивность (>30 дней без обновлений после фидбека)
|
|
|
+- Один сфокусированный PR на функцию или исправление.
|
|
|
+- Следуй лучшим практикам ESLint и TypeScript.
|
|
|
+- Пиши ясные, описательные сообщения коммитов с ссылками на issues (например, `Fixes #123`).
|
|
|
+- Обеспечь тщательное тестирование (`npm test`).
|
|
|
+- Перебазируй на последнюю ветку `main` перед отправкой.
|
|
|
|
|
|
-##### Процедура
|
|
|
+### Отправка Pull Request
|
|
|
|
|
|
-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 могут доработать их по фидбеку и открыть новые, если проблемы решены или направление проекта изменилось.
|
|
|
+- Начни с **черновика PR**, если ищешь ранний фидбек.
|
|
|
+- Четко опиши свои изменения, следуя шаблону Pull Request.
|
|
|
+- Предоставь скриншоты/видео для изменений UI.
|
|
|
+- Укажи, нужны ли обновления документации.
|
|
|
|
|
|
-##### Ответственности
|
|
|
+### Политика Pull Request
|
|
|
|
|
|
-- **Квалификация Issue и соблюдение процесса (@hannesrudolph & мейнтейнеры)**: Следить, чтобы все вклады следовали подходу Issue-First. Помогать участникам с процессом.
|
|
|
-- **Мейнтейнеры (Dev Team)**: Проверять PR, давать технический фидбек, принимать решения об одобрении/отклонении, сливать PR.
|
|
|
-- **Участники**: Связывать PR с одобренным и назначенным Issue, соблюдать стандарты качества, быстро реагировать на фидбек.
|
|
|
+- Должен ссылаться на предварительно одобренные и назначенные issue.
|
|
|
+- PR, не соответствующие политике, могут быть закрыты.
|
|
|
+- PR должны проходить CI-тесты, соответствовать дорожной карте и иметь четкую документацию.
|
|
|
|
|
|
-Эта политика обеспечивает ясность и эффективную интеграцию.
|
|
|
+### Процесс проверки
|
|
|
|
|
|
-## IV. Юридическая информация
|
|
|
+- **Ежедневный отбор:** Быстрые проверки мейнтейнерами.
|
|
|
+- **Еженедельный глубокий обзор:** Комплексная оценка.
|
|
|
+- **Быстро итерируй** на основе полученного фидбека.
|
|
|
|
|
|
-### Соглашение о вкладе
|
|
|
+## Юридическая информация
|
|
|
|
|
|
-Отправляя pull request, ты соглашаешься, что твой вклад будет лицензирован по [лицензии Apache 2.0](LICENSE) (или текущей лицензии проекта), как и сам проект.
|
|
|
+Отправляя pull request, ты соглашаешься, что твой вклад будет лицензирован под лицензией Apache 2.0, в соответствии с лицензией Roo Code.
|