Jak utrzymać AI kodujące w ryzach: Skuteczna strategia z Git Hooks
Jak utrzymać dyscyplinę w AI do kodowania: Strategia z Git Hooks, która naprawdę działa
AI do kodowania to rewolucja. Generują funkcje w mgnieniu oka. Ale bez kontroli? Tworzą dług techniczny szybciej niż myślisz. Pliki po 2000 linii czy rekurencyjne koszmary niszczą kod. Zespół cię znienawidzi.
Rozwiązanie? Wspólne Git hooks, które blokują złe zmiany przed commitem.
Dlaczego AI bez hamulców to problem
Bez zasad Claude czy Copilot dają:
- Wypełnione po brzegi pliki, łamiące zasadę jednej odpowiedzialności
- Zawiłe struktury, gdzie debugowanie to katorga
- Chaotyczne commity, przez które historia git jest nieczytelna
- Buntowników, omijających проверки z
--no-verify
Chcą pomóc, ale bez granic stawiają na prędkość, nie jakość.
Git Hooks jako strażnik jakości
Git hooks to automaty, które sprawdzają kod w kluczowych momentach. Jak portier przed wejściem do repo.
Polecam dwa narzędzia:
1. pre-commit – Standard dla Pythona i mieszanych projektów
2. husky – Idealny dla JavaScript, prosty w integracji z npm
Przykładowa konfiguracja:
Kluczowe reguły dla AI
# Przykładowy plik pre-commit
repos:
- repo: local
hooks:
- id: limit-linii
name: Maksymalna długość pliku
entry: python -c "import sys; sys.exit(0 if len(open(sys.argv[1]).readlines()) <= 600 else 1)"
language: system
types: [python]
- id: sprawdz-kompleksowosc
name: Limit McCabe
entry: flake8 --max-complexity=10
language: system
types: [python]
Dlaczego te limity?
- 600 linii na plik – Blokuje wysypywanie kodu, ale pozwala na złożone pliki
- Kompleksowość McCabe 10 – Funkcje łatwe do testów i zrozumienia
AI łamie regułę? Hook blokuje commit. Zmuszasz do refaktoryzacji od razu.
Narzędzia, które AI musi znać
Żeby przestrzegać zasad, AI potrzebuje pomocy w refaktoryzacji:
Python: rope – Do wyciągania funkcji, zmiany nazw, dzielenia modułów. Automatycznie.
TypeScript/JS: ts-morph – Refaktoryzacja na poziomie AST. AI samo poprawia architekturę.
To nie ręczna robota – AI wywołuje je programowo.
Konstytucja dla agentów: Reguły w pliku
Stwórz AGENTS.md w repo. To ich kodeks:
# Zasady dla AI w projekcie
## Commity
- Twórz małe, opisowe commity (nie jeden wielki na zadanie)
- Dodawaj numery ticketów i wyjaśnij *dlaczego*
- Przykład: "feat(auth): Rotacja tokenów OAuth2 [#324]"
## Instalacja hooks
- Ustaw `git config core.hooksPath .husky`
- Zainstaluj przed pierwszym commitem
- Testuj lokalnie
## Zasada numer 1
- **Nigdy `--no-verify` bez zgody użytkownika**
- To omija wszystko – dokumentuj powód
## Podejście do kodu
- TDD: Najpierw test (czerwony), potem kod (zielony), na końcu refaktoryzacja
- To daje solidną architekturę
Jasne zasady = lepsze wyniki AI.
Korzyści dla zespołu
Ludzie w teamie mają swoje standardy. Z hookami:
✅ Zaufanie do main – Kod na branchu jest OK
✅ Łatwiejsze review – Skup na logice, nie na bzdurach
✅ Szybki start dla nowych – Widzą, co jest dobre
✅ AI ewoluuje – Uczy się i generuje lepiej
Checklista wdrożenia
- Wybierz framework –
pre-commitdo Pythona,huskydo JS - Ustaw limity – 600 linii i 10 kompleksowości to dobry punkt startu
- Dodaj refaktoryzację –
ropeczyts-morphw arsenale AI - Dokumentuj –
AGENTS.mdz uzasadnieniem - Wprowadzaj stopniowo – Najpierw ostrzeżenia, potem blokady
- Śledź i tuninguj – Analizuj awarie, dostosuj progi
Prawdziwa lekcja
Nie chodzi o blokowanie AI. Chodzi o środowisko, gdzie dobry kod jest najłatwiejszy. Z hookami, dokumentacją i narzędziami AI samo zaczyna generować lepiej. Dzielą problemy na części, piszą czytelne commity.
Wtedy AI staje się mnożnikiem sił, nie balastem.
W NameOcean dbamy o infrastrukturę, która rośnie z tobą – od domain po hosting i workflow deweloperski. Kod traktuj jak infrastrukturę. Zacznij od Git hooks. Przyszły ty podziękuje.