Πώς Κρατάς τα AI Coding Agents Στα Ισιωμένα: Η Στρατηγική με Git Hooks που Λειτουργεί
Πώς να Κρατάς τα AI Coding Agents σε Ίσια: Η Στρατηγική με Git Hooks που Λειτουργεί Πραγματικά
Ζούμε σε εποχή που τα AI εργαλεία κώδικα παράγουν ολόκληρα features μέσα σε δευτερόλεπτα. Η πικρή αλήθεια όμως; Η ταχύτητα χωρίς έλεγχο φέρνει τεχνικό χρέος με ιλιγγιώδη ρυθμό. Ένα AI που βγάζει αρχεία χιλιάδων γραμμών ή εφιάλτες αναδρομής καταστρέφει τον κώδικά σου. Και η ομάδα σου θα σε μισήσει.
Η λύση; Κοινά Git hooks που ελέγχουν την ποιότητα πριν μπει ο κώδικας στο repository.
Το Πρόβλημα με τα Αχαλίνωτα AI Agents
Όταν αφήνεις ελεύθερα Claude, Copilot ή άλλα AI χωρίς φραγμούς, παθαίνεις:
- Τεράστια αρχεία που σπάνε κάθε αρχή single responsibility
- Σύνθετη μπερδεμένη λογική που κάνει το debug σαν ανασκαφή
- Ανομοιόμορφα commits που κάνουν το git history άχρηστο
- Εξυπνάκια agents που παρακάμπτουν ελέγχους με
--no-verify
Παράδοξο: Προσπαθούν να βοηθήσουν, αλλά χωρίς όρια, προτιμούν ταχύτητα από ποιότητα.
Git Hooks: Ο Φύλακας της Πύλης σου
Τα Git hooks είναι αυτοματισμοί που τρέχουν σε συγκεκριμένα σημεία του workflow. Σαν φύλακας στην είσοδο του repo, ελέγχει πριν αφήσει κάτι μέσα.
Δύο εργαλεία κάνουν τη δουλειά εύκολη:
1. pre-commit — Το standard για Python και πολυγλωσσικές ομάδες
2. husky — Ιδανικό για JavaScript, ενσωματώνεται με npm
Δες ένα παράδειγμα setup:
Βασικοί Κανόνες Hooks για AI
# Παράδειγμα pre-commit config
repos:
- repo: local
hooks:
- id: max-file-lines
name: Έλεγχος μεγέθους αρχείου
entry: python -c "import sys; max_lines=600"
language: system
types: [python]
- id: complexity-check
name: Όριο McCabe complexity
entry: flake8 --max-complexity=10
language: system
types: [python]
Γιατί αυτά τα νούμερα;
- 600 γραμμές max ανά αρχείο — Σκληρό για να σταματήσει σκουπίδια, λογικό για σοβαρά αρχεία
- Complexity 10 — Κρατάει functions απλές και testable
Αν το AI παραβιάσει, το hook αποτυγχάνει. Δεν γίνεται commit. Αναγκάζεσαι να refaktorάρεις πριν εξαπλωθεί η βρωμιά.
Εργαλεία που Πρέπει να Ξέρουν τα AI σου
Για να περάσουν ελέγχους, τα agents χρειάζονται refactoring powers:
Python: Το rope είναι πολυεργαλείο. Σπάει functions, μετονομάζει variables, φτιάχνει modules.
TypeScript/JS: Το ts-morph χειρίζεται AST για refactoring. Τα AI το καλούν μόνα τους να διορθωθούν.
Δεν είναι χειροκίνητα – τα agents τα τρέχουν αυτόματα.
Το Σύνταγμα των Agents: Γράψε τους Κανόνες
Φτιάξε AGENTS.md ή CLAUDE.md στο repo σαν οδηγό:
# Οδηγίες για AI Agents
## Πειθαρχία Commits
- Περιγραφικά commits σε λογικά διαστήματα (όχι ένα γιγάντιο per task)
- Βάλε ticket numbers και εξήγησε *τι* και *γιατί*
- Παράδειγμα: "feat(auth): Προσθήκη rotation OAuth2 tokens [#324]"
## Εγκατάσταση Hooks
- Τρέξε `git config core.hooksPath .husky` πάντα
- Εγκατέστησε hooks πριν το πρώτο commit
- Δοκίμασε local πριν push
## Ο Απόλυτος Κανόνας
- **ΠΟΤΕ --no-verify** εκτός αν ο χρήστης πει ρητά ναι
- Παρακάμπτει όλους τους ελέγχους – δικαιολογήσου γραπτώς
## Προσέγγιση Ποιότητας
- TDD: Red → Green → Refactor
- Γράψε failing test πρώτα
- Κάν' το να περνάει
- Μετά βελτίωσε
Δεν είναι δικτατορία – είναι σαφήνεια. Τα AI δουλεύουν καλύτερα με κανόνες.
Γιατί Αυτό Επηρεάζει την Ομάδα σου
Οι developers σου έχουν άποψη για ποιότητα. Έχουν καεί από χρέος. Με guardrails:
✅ Εμπιστεύονται το process — Ο κώδικας στο main είναι minimum OK
✅ Λιγότερη τριβή σε reviews — Εστιάζουν σε λογική, όχι σε style
✅ Εύκολο onboarding — Νέοι βλέπουν αμέσως το σωστό
✅ AI βελτιώνονται — Μαθαίνουν τι περνάει και προσαρμόζονται
Checklist Εφαρμογής
- Διάλεξε framework —
pre-commitγια Python,huskyγια JS (και τα δύο για mixed) - Θέσε λογικά όρια — 600 lines και complexity 10 starting point
- Πρόσθεσε refactoring tools —
ropeήts-morphστο kit των agents - Τεκμηρίωσε —
AGENTS.mdμε εξηγήσεις - Εφάρμοσε σταδιακά — Ξεκίνα με warnings, μετά hard fails
- Παρακολούθησε — Βλέπε αποτυχίες, προσαρμόσου αν χρειάζεται
Το Βαθύτερο Μάθημα
Δεν πρόκειται για block bad code. Είναι για environment όπου το καλό code είναι η εύκολη οδός.
Με hooks, docs και tools, τα AI παράγουν καλύτερο κώδικα φυσικά. Σπάνε problems σε κομμάτια, κρατάνε functions focused, γράφουν σωστά commits.
Εκεί η AI development γίνεται όπλο νίκης για την ομάδα.
Στο NameOcean, εμμονή με scalable infrastructure – από domain management και cloud hosting μέχρι developer workflows. Ο κώδικάς σου αξίζει ίδια πειθαρχία με το infrastructure σου. Ξεκίνα με Git hooks. Ο εαυτός σου θα σε ευχαριστήσει.