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.
Gorąco zachęcamy wszystkich współtwórców do dołączenia do naszej społeczności Discord! Bycie częścią naszego serwera Discord pomaga:
- 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
Raporty o błędach pomagają ulepszyć Roo Code dla wszystkich! Przed utworzeniem nowego zgłoszenia, proszę przeszukaj istniejące, aby uniknąć duplikatów. Kiedy jesteś gotowy, aby zgłosić błąd, przejdź do naszej strony zgłoszeń, gdzie znajdziesz szablon, który pomoże Ci wypełnić odpowiednie informacje.
🔐 Ważne: Jeśli odkryjesz lukę w zabezpieczeniach, proszę użyj narzędzia bezpieczeństwa Github, aby zgłosić ją prywatnie.
Szukasz dobrego pierwszego wkładu? Sprawdź problemy w sekcji "Issue [Unassigned]" naszego projektu Github Roo Code. Te zostały specjalnie wybrane dla nowych współtwórców i obszarów, gdzie chętnie przyjmiemy pomoc!
Cieszymy się również z wkładu do naszej dokumentacji! 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.
Jeśli planujesz pracować nad większą funkcją, proszę najpierw utwórz prośbę o funkcję, abyśmy mogli przedyskutować, czy jest ona zgodna z wizją Roo Code. Możesz również sprawdzić naszą Mapę Drogową Projektu poniżej, aby zobaczyć, czy Twój pomysł pasuje do naszego strategicznego kierunku.
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:
- 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:
Dążymy do wspierania jak największej liczby dostawców:
- Bardziej wszechstronne wsparcie dla "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
Chcemy, aby Roo działał jak najlepiej na jak największej liczbie modeli, w tym modeli lokalnych:
- Wsparcie dla modeli lokalnych poprzez niestandardowe promptowanie systemowe i przepływy pracy
- Benchmarki ewaluacyjne i przypadki testowe
Chcemy, aby Roo działał dobrze na komputerze każdego:
- Integracja terminala międzyplatformowego
- Silne i spójne wsparcie dla Mac, Windows i Linux
Chcemy kompleksowej, dostępnej dokumentacji dla wszystkich użytkowników i współtwórców:
- Rozszerzone przewodniki użytkownika i tutoriale
- Jasna dokumentacja API
- Lepsze wskazówki dla współtwórców
- Wielojęzyczne zasoby dokumentacji
- Interaktywne przykłady i próbki kodu
Chcemy znacznie zmniejszyć liczbę błędów i zwiększyć zautomatyzowane testowanie:
- Przełącznik rejestrowania debugowania
- Przycisk kopiowania "Informacji o Maszynie/Zadaniu" do wysyłania z prośbami o pomoc/zgłoszeniami błędów
Chcemy, aby Roo mówił językiem każdego:
- 我们希望 Roo Code 说每个人的语言
- Queremos que Roo Code hable el idioma de todos
- हम चाहते हैं कि 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.
- Sklonuj repozytorium:
git clone https://github.com/RooVetGit/Roo-Code.git- Zainstaluj zależności:
npm run install:all- Uruchom webview (aplikację Vite/React z HMR):
npm run dev- Debugowanie:
Naciśnij
F5(lub Uruchom → Rozpocznij debugowanie) w VSCode, aby otworzyć nową sesję z załadowanym Roo Code.
Zmiany w webview pojawią się natychmiast. Zmiany w podstawowym rozszerzeniu będą wymagać ponownego uruchomienia hosta rozszerzenia.
Alternatywnie możesz zbudować plik .vsix i zainstalować go bezpośrednio w VSCode:
npm run buildPlik .vsix pojawi się w katalogu bin/ i można go zainstalować za pomocą:
code --install-extension bin/roo-cline-<version>.vsixKaż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:
-
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
-
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
-
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
-
Wytyczne dotyczące commitów
- Pisz jasne, opisowe komunikaty commitów
- Odwołuj się do odpowiednich problemów w commitach, używając #numer-problemu
-
Przed przesłaniem
- 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
-
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
Przesyłając pull request, zgadzasz się, że Twoje wkłady będą licencjonowane na tej samej licencji co projekt (Apache 2.0).