coderabbit-rate-limits
Zarządzaj limitami API CodeRabbita i GitHuba — implementuj retry logic i throttling dla automatyzacji review
Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Skill do obsługi limitów taryfowych CodeRabbita i GitHub API. Dowiesz się, jak radzić sobie z błędami rate limit, implementować backoff i idempotentność, oraz optymalizować przepustowość zapytań API. Przydatny przy automatyzacji recenzji kodu, budowaniu skryptów integrujących CodeRabbita z GitHub API, oraz przy obsłudze błędów "too many requests". Zawiera tabele limitów dla różnych planów (Free, Pro, Enterprise) i poziomów dostępu GitHub (token osobisty, GitHub App).
Jak używać
Upewnij się, że masz zainstalowany CodeRabbita w repozytorium oraz dostęp do GitHub CLI (
gh) lub bezpośrednio do API GitHub. Skill wymaga uprawnień do odczytu, zapisu i edycji kodu, a także dostępu do poleceń bash zghicurl.Sprawdź bieżący limit API GitHub, uruchamiając polecenie
gh api rate_limitlubcurlz odpowiednimi nagłówkami autoryzacji. Poznaj swój limit (60 req/h bez autoryzacji, 5000 req/h z tokenem dostępu osobistego lub GitHub App).Zidentyfikuj, na jakim planie CodeRabbita jesteś (Free: 1 recenzja równocześnie, Pro: 5, Enterprise: custom) i jakie są limity dla Twojego repozytorium — maksymalnie ~3000 plików na PR, ~30 sekund cooldown między pełnymi recenzjami, ~10 poleceń na minutę.
Implementuj logikę retry z exponential backoff — gdy otrzymasz błąd rate limit (429 lub 403), czekaj zgodnie z nagłówkami
Retry-AfterlubX-RateLimit-Reset, a następnie ponów żądanie. Upewnij się, że żądania są idempotentne (bezpieczne do powtórzenia).Monitoruj nagłówki odpowiedzi GitHub API (
X-RateLimit-Remaining,X-RateLimit-Reset) w swoich skryptach automatyzacji, aby proaktywnie unikać przekroczenia limitów — jeśli zostało mało żądań, poczekaj przed wysłaniem kolejnego.Testuj swoje skrypty z limitami — uruchamiaj automatyzację w godzinach poza szczytem, rozłóż zapytania w czasie i używaj GitHub App zamiast tokena osobistego, jeśli budujesz narzędzie dla wielu repozytoriów.