coderabbit-setup — konfiguracja CodeRabbit dla projektu
SkillDatabases & dataCreates a project stack-tailored .coderabbit.yaml file so CodeRabbit performs automatic AI code review of every pull request before merge. Detects the stack (Expo/RN, Next.js, React+Vite, Node, Supabase), assembles the config from a base template + per-stack blocks, and validates the YAML. Use when:
Use coderabbit-setup — konfiguracja CodeRabbit dla projektu in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add coderabbit-setup — konfiguracja CodeRabbit dla projektu and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the coderabbit-setup skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; Ahel provides instructions and does not run this skill.
No other account needed.
Add Ahel to your AI once: Claude, ChatGPT, Cursor, Claude Code or Codex. Then ask it to use this.
What this skill tells your AI
The instructions your AI receives, as published by aibiz-automatyzacje/claude-code-starter in .claude/skills/coderabbit-setup/SKILL.md and read by Ahel’s review.
Tworzy .coderabbit.yaml w korzeniu repo — spójny ze standardem z pozostałych
projektów (język polski, profil assertive, te same tools i reguły kodu
projektu), a dopasowany do stacku bieżącego projektu.
Pliki skilla
templates/coderabbit-base.yaml— część wspólna configu (tone, review, tools, knowledge_base). Zawiera komentarze# STACK:i# UZUPEŁNIJ:wskazujące miejsca do dopasowania.reference/stack-blocks.md— gotowe blokipath_filters+path_instructionsper stack, z sygnałami detekcji.
Stała ścieżki reguł kodu: CODING_RULES = .claude/rules/coding-rules.md.
To jedyne miejsce z tą ścieżką — template ma w jej miejscu znacznik
{{CODING_RULES}}, który przy sklejaniu zastępujesz wartością stałej.
Wykonanie
-
Sprawdź istniejący config. Jeśli
.coderabbit.yamljuż istnieje w korzeniu repo — pokaż userowi diff względem tego, co byś wygenerował, i ZAPYTAJ czy nadpisać. Nie nadpisuj bez potwierdzenia. -
Wykryj stack. Przeczytaj
package.json(dependencies + devDependencies) i strukturę katalogów. Sygnały detekcji są opisane przy każdym bloku wreference/stack-blocks.md. Jeśli user podał stack w argumencie — użyj go zamiast detekcji. Jeśli detekcja jest niejednoznaczna (np. brak package.json) — ZAPYTAJ usera o stack, nie zgaduj. -
Sklej config. Weź
templates/coderabbit-base.yamlw całości i:- dołóż do
path_filtersipath_instructionsbloki wykrytego stacku (Supabase łączy się z blokiem frontowym), - w
path_instructionszostaw TYLKO wpisy dla katalogów, które istnieją w projekcie (wyjątek: świeży projekt przed init — wtedy zostaw z komentarzem, że filtry są przygotowane z wyprzedzeniem); wpisy z template'u bazowego zostają zawsze —e2e/seeds/dopisuje pipeline, - każdy znacznik
{{CODING_RULES}}zastąp wartością stałej z sekcji „Pliki skilla”, - w
knowledge_base.code_guidelines.filePatternswpisz TYLKO istniejące pliki — sprawdź kolejno: plik ze stałejCODING_RULES,CLAUDE.md, dodatkowe konwencje wdocs/(np.docs/figma-build-conventions.md); gdy pliku ze stałej nie ma, usuń go także z pierwszej linii bloku**/*.{ts,tsx}, - jeśli branch główny to nie
main(sprawdźgit symbolic-ref refs/remotes/origin/HEADlubgit branch) — poprawbase_branches.
- dołóż do
-
Zapisz jako
.coderabbit.yamlw korzeniu repo (git toplevel, nie cwd). -
Zwaliduj YAML. Uruchom:
ruby -ryaml -e 't = File.read(".coderabbit.yaml"); c = YAML.load(t); abort "niepodstawiony {{CODING_RULES}}" if t.include?("{{CODING_RULES}}"); abort "tone_instructions > 250 zn." if c["tone_instructions"].to_s.size > 250; puts "YAML OK"'(systemowy ruby jest na macOS; gdyby go nie było — zwaliduj innym dostępnym parserem YAML). Błąd = napraw plik, nie pomijaj walidacji. Schemat CodeRabbit odrzuca
tone_instructionsdłuższe niż 250 znaków i nieznane klucze najwyższego poziomu — wtedy bot ignoruje cały plik bez komunikatu w PR. Template skilla jest sprawdzany schematem w teście__tests__/generator.test.mjs; dokładaj więc tylko klucze, które w nim są. -
Zweryfikuj instalację aplikacji GitHub CodeRabbit — KROK OBOWIĄZKOWY, nie pomijaj go nigdy. Bez zainstalowanej aplikacji config jest martwym plikiem. Instalacji nie da się wykonać z CLI, ale da się ją WYKRYĆ:
gh api user/installations --jq '.installations[] | select(.app_slug == "coderabbitai") | .account.login'- Wynik zawiera ownera repo (porównaj z
gh repo view --json owner -q .owner.login) → instalacja jest, odnotuj ✅. - Wynik pusty, brak ownera albo błąd → uznaj instalację za BRAKUJĄCĄ (❌).
Sygnał potwierdzający: sprawdź, czy bot komentował ostatnie PR-y —
Zero komentarzy bota na istniejących PR-ach = na pewno brak instalacji.gh pr list --state merged --limit 3 --json number -q '.[].number' gh api "repos/{owner}/{repo}/issues/<nr>/comments" --jq '[.[] | select(.user.login == "coderabbitai[bot]")] | length'
- Wynik zawiera ownera repo (porównaj z
-
Raport dla usera — ZAWSZE wypisz wszystkie 4 punkty poniżej. Nie skracaj i nie pomijaj żadnego, nawet gdy wszystko jest OK:
- Wykryty stack + które bloki weszły do configu.
- Pliki wpisane do
code_guidelines.filePatterns. - Instalacja aplikacji GitHub CodeRabbit: ✅ albo ❌ (wynik kroku 6). Przy ❌ powiedz wprost: „Bez tego config NIE DZIAŁA. Jednorazowy krok ręczny w przeglądarce (nie da się z CLI): https://github.com/apps/coderabbitai → Configure → zaznacz to repo."
- Przypomnienie:
.coderabbit.yamltrzeba zacommitować i wypchnąć — CodeRabbit czyta config z brancha PR-a, więc już pierwszy PR zawierający ten plik jest reviewowany według niego.
Bot bez szumu — jak dopisywać reguły
Wzorzec z 574 uwag bota na 19 PR (85% szumu wynikało z konfiguracji, nie z kodu). Zanim dopiszesz albo zmienisz instrukcję, sprawdź ją wobec tej listy:
- Instrukcje per glob się sumują. Plik testowy dostaje blok
**/*.{ts,tsx}i blok**/*.test.{ts,tsx}naraz — wyjątek wpisany tylko w węższym globie nie zdejmuje reguły z głównego. Wyjątki od reguły z bloku głównego wpisuj w bloku głównym. - Progi liczbowe z tolerancją. Bot zgłasza przekroczenie o 5 linii tak samo jak o 500. Próg w instrukcji to 360/60 (reguła 300/50 + 20%); twardy próg egzekwuje lint, nie bot.
- Nazwij, czego reguła nie obejmuje. „Zero
as” bot czyta dosłownie: bez zdania oas const,satisfiesi rzutowaniach w atrapach testowych zgłasza każde z nich. - Reguła dotyczy typu pliku, nie całego katalogu. „Jeden eksport per plik” dotyczy komponentów-ekranów; pliki-kolekcje (ikony, kafle, typy propsów obok komponentu) są wyjątkiem wpisanym w tej samej instrukcji.
- Preferencje bez wpływu na defekty wyłączaj w
tone_instructions(układ Arrange-Act-Assert, docstringi, DRY w testach) — w limicie 250 zn. - Kod działający na bazie dostaje własną instrukcję. Seedy E2E i skrypty
bez wpisu w
path_instructionsbot czyta bez kontekstu granicy zaufania i pomija pytanie, na jakiej bazie działają. - Pliki generowane wyklucz w
path_filters. Ich kształt dyktuje generator — uwaga do stylu trafia w próżnię. - Nowa reguła dopiero po powtórce. Dopisz ją, gdy ta sama klasa uwagi
wróciła w 2+ PR-ach, i sprawdź, czy nie zgłosi czegoś, co jest decyzją
z
CLAUDE.mdalbodocs/decisions/.
Czego NIE robić
- Nie dodawaj sekcji, których nie ma w template (np.
pre_merge_checks,finishing_touches,slop_detection) — user świadomie z nich zrezygnował. - Nie zmieniaj
tone_instructions,profileani listytoolsbez wyraźnej prośby usera — to ustandaryzowane między projektami. - Nie wpisuj do
filePatternsplików, których nie ma w repo — CodeRabbit po cichu je zignoruje, a config kłamie.
Signals
- GitHub stars
- 88
- Forks
- 29
- Last commit
- Oct 2026
Advanced
- Item type
- skill
- Key
coderabbit-setup- Source
- github.com/aibiz-automatyzacje/claude-code-starter
github.com/aibiz-automatyzacje/claude-code-starter
Related picks
Skill · thedaviddias
The pick for JavaScriptmodern-javascript-patterns
Skill · wshobson
The pick for JavaScripterror-tracking-ruby
Skill · posthog
The pick for Rubyvigilante-issue-implementation-on-ruby
Skill · aliengiraffe
The pick for Rubysetup-ts-deep-modules
Skill · mattpocock
The pick for TypeScripttypescript-pro
Skill · jeffallan
The pick for TypeScript