GitHub
Integracja z serwisem GitHub umożliwia Speedwave bezpośrednią pracę na repozytoriach w serwisie GitHub.com: przeglądanie kodu, analizę diffów w pull requestach, dodawanie komentarzy inline w trakcie przeglądu kodu, zarządzanie zgłoszeniami oraz uruchamianie potoków GitHub Actions.
Uwierzytelnianie i izolacja poświadczeń
Dział zatytułowany „Uwierzytelnianie i izolacja poświadczeń”GitHub działa w odrębnym kontenerze workera. Tokeny są zapisywane w pliku ~/.speedwave/tokens/<projekt>/github/token i montowane do kontenera w trybie tylko do odczytu pod ścieżką /tokens/token.
Uwierzytelnienie przebiega za pomocą mechanizmu OAuth Device Flow: aplikacja wyświetla jednorazowy kod urządzenia, który zatwierdzasz w przeglądarce pod adresem https://github.com/login/device. Aplikacja prosi o zakresy uprawnień repo oraz read:user. Istnieje również możliwość podania ręcznego tokena Personal Access Token (np. fine-grained github_pat_ lub klasycznego ghp_).
Żądania z sesji Claude Code trafiają przez bezstanowy Tool Gateway do workera GitHub, który łączy się bezpośrednio z API https://api.github.com.
Zestawienie narzędzi
Dział zatytułowany „Zestawienie narzędzi”Worker GitHub udostępnia 45 operacji pogrupowanych według obszarów:
Zarządzanie repozytoriami i gałęziami
Dział zatytułowany „Zarządzanie repozytoriami i gałęziami”| Narzędzie | Zakres działania |
|---|---|
listRepos | Przegląd i wyszukiwanie repozytoriów dostępnych dla konta. |
getRepo | Pobieranie szczegółowych metadanych repozytorium. |
searchCode | Wyszukiwanie fraz w kodzie źródłowym repozytoriów. |
listBranches | Lista gałęzi w repozytorium. |
getBranch | Pobieranie szczegółów wybranej gałęzi. |
createBranch | Tworzenie nowej gałęzi ze wskazanego commita lub innej gałęzi. |
deleteBranch | Trwałe usunięcie gałęzi z repozytorium. |
compareBranches | Porównywanie różnic w commitach między gałęziami. |
getTree | Pobieranie rekurencyjnego drzewa plików i katalogów. |
getFileContents | Odczyt surowej zawartości pliku z repozytorium. |
createOrUpdateFile | Bezpośredni commit tworzący lub modyfikujący plik. |
Obsługa pull requestów i przegląd kodu
Dział zatytułowany „Obsługa pull requestów i przegląd kodu”| Narzędzie | Zakres działania |
|---|---|
listPullRequests | Wyszukiwanie pull requestów według stanu, gałęzi lub celu. |
getPullRequest | Odczyt pełnych danych pull requesta. |
createPullRequest | Otwieranie nowych pull requestów (roboczych lub gotowych). |
updatePullRequest | Modyfikacja tytułu, opisu, gałęzi bazowej lub stanu pull requesta. |
mergePullRequest | Scalanie pull requestów. |
getPrDiff | Pobieranie ujednoliconego diffa zmian w pull requeście. |
getPrFiles | Wykaz zmodyfikowanych plików wraz ze statystykami linii. |
listPrCommits | Lista commitów powiązanych z pull requestem. |
listPrReviews | Wykaz formalnych ocen w pull requeście. |
createPrReview | Zgłaszanie formalnego przeglądu kodu (APPROVE, REQUEST_CHANGES, COMMENT). |
listPrComments | Odczyt ogólnych komentarzy dyskusyjnych pod pull requestem. |
createPrComment | Dodawanie ogólnego komentarza do dyskusji. |
createPrReviewComment | Dodawanie komentarza inline przypiętego do konkretnej linii w diffie. |
Commity, tagi i wydania
Dział zatytułowany „Commity, tagi i wydania”| Narzędzie | Zakres działania |
|---|---|
listCommits | Przegląd historii commitów z filtrowaniem według autora i daty. |
listBranchCommits | Lista commitów na wybranej gałęzi. |
searchCommits | Wyszukiwanie w treściach wiadomości commitów. |
getCommitDiff | Pobieranie diffa dla pojedynczego commita. |
createTag | Tworzenie tagów Git (lekkich lub opisowych). |
deleteTag | Usunięcie tagu Git. |
createRelease | Tworzenie wydań GitHub Releases (z opcją automatycznego tagowania). |
Potoki Actions i obsługa zgłoszeń (Issues)
Dział zatytułowany „Potoki Actions i obsługa zgłoszeń (Issues)”| Narzędzie | Zakres działania |
|---|---|
listWorkflowRuns | Przegląd uruchomień potoków GitHub Actions. |
getWorkflowRun | Odczyt szczegółów wykonania potoku CI. |
getRunLogs | Pobieranie tymczasowego adresu URL do archiwum ZIP z logami. |
rerunWorkflow | Ponowne uruchomienie potoku CI/CD. |
triggerWorkflow | Ręczne wyzwalanie zdarzeń typu workflow_dispatch. |
listWorkflowRunArtifacts | Lista artefaktów wygenerowanych przez potok Actions. |
downloadArtifact | Pobieranie adresu URL do archiwum artefaktów. |
listIssues | Przegląd zgłoszeń (z wyłączeniem pull requestów). |
getIssue | Pobieranie szczegółów pojedynczego zgłoszenia. |
createIssue | Zakładanie nowego zgłoszenia. |
updateIssue | Modyfikacja tytułu, opisu, stanu, etykiet i osób przypisanych. |
closeIssue | Zamykanie zgłoszenia. |
listLabels | Wykaz etykiet w repozytorium. |
createLabel | Tworzenie nowej etykiety. |
Konfiguracja
Dział zatytułowany „Konfiguracja”- Otwórz projekt w aplikacji Desktop i przejdź do sekcji Integracje -> GitHub.
- Kliknij Sign in with GitHub i potwierdź kod urządzenia w oknie przeglądarki.
- Po autoryzacji token zostaje zapisany na dysku, a integracja staje się aktywna.
Granice bezpieczeństwa
Dział zatytułowany „Granice bezpieczeństwa”Kontener workera GitHub podlega standardowym zasadom izolacji kontenerowej Speedwave: nieuprzywilejowany użytkownik, system plików tylko do odczytu i brak dostępu do tokenów innych usług. Szczegóły dotyczące separacji poświadczeń znajdziesz w rozdziale Zarządzanie poświadczeniami.