worktrunk: Δύο δουλειές ταυτόχρονα, χωρίς να πατάει η μία την άλλη
Το worktrunk είναι ένα μικρό πρόγραμμα για τη γραμμή εντολών που σου επιτρέπει να κρατάς το ίδιο αποθετήριο κώδικα ανοιχτό σε πολλούς φακέλους μαζί, έναν για κάθε δουλειά. Αντί να κρύβεις την ημιτελή αλλαγή σου για να πιάσεις την επόμενη, ανοίγεις έναν δεύτερο φάκελο που μοιράζεται το ίδιο ιστορικό και δουλεύεις και στα δύο παράλληλα. Με μία εντολή φτιάχνεις τον νέο φάκελο, με μία δεύτερη βλέπεις σε έναν πίνακα πού βρίσκεται η καθεμία. Είναι ιδιαίτερα χρήσιμο όταν βάζεις πολλούς βοηθούς τεχνητής νοημοσύνης να δουλεύουν ταυτόχρονα, γιατί ο καθένας παίρνει τον δικό του χώρο και σταματούν να πατάει ο ένας τη δουλειά του άλλου.

Τι κάνει
Φαντάσου έναν φάκελο στον υπολογιστή σου. Μέσα του έχεις το έργο σου, όλα τα αρχεία του, και ένα κρυφό τετράδιο που το λέμε git. Το τετράδιο κρατά την ιστορία: ποιος άλλαξε τι, πότε, και με ποια σειρά. Δουλεύεις εκεί, σώζεις, συνεχίζεις.
Το πρόβλημα αρχίζει όταν θέλεις να κάνεις δύο πράγματα μαζί. Διορθώνεις κάτι και ξαφνικά σου ζητούν μια άλλη διόρθωση, επείγουσα. Δεν θέλεις να πετάξεις τη δουλειά που έχεις στα χέρια. Μέχρι τώρα οι επιλογές σου ήταν να κρύψεις προσωρινά τις αλλαγές, να τις φυλάξεις σε μια άκρη και να τις ξαναφέρεις μετά. Λειτουργεί, αλλά είναι σαν να μαζεύεις όλο το τραπέζι για να φας σε άλλο τραπέζι και μετά να το ξαναστρώνεις.
Το git έχει εδώ και χρόνια μια λύση που λίγοι χρησιμοποιούν, γιατί είναι δύσκολη στη χρήση. Τη λένε worktree. Σημαίνει κάτι απλό: έναν δεύτερο φάκελο στον δίσκο, που δείχνει στο ίδιο ακριβώς ιστορικό. Όχι αντίγραφο του τετραδίου — το ίδιο τετράδιο. Κρατάς τον φάκελο της κύριας δουλειάς και δίπλα έναν δεύτερο, και οι δύο ζωντανοί, και οι δύο δεμένοι στο ίδιο έργο.
Το worktrunk παίρνει αυτή τη δυνατότητα και την κάνει τόσο εύκολη όσο είναι ένα κλαδί. Κλαδί, που στα αγγλικά λέγεται branch, είναι μια γραμμή δουλειάς μέσα στο τετράδιο: μια σειρά αλλαγών που μπορεί να τραβήξει τον δικό της δρόμο και μετά να ενωθεί με τις υπόλοιπες. Ως σήμερα δούλευες ένα κλαδί τη φορά, μέσα σε έναν φάκελο, και άλλαζες κλαδί πατώντας μια εντολή. Το worktrunk σου δίνει έναν φάκελο για κάθε κλαδί.
Η κίνηση που κάνει τα πάντα είναι μία. Γράφεις την εντολή, της δίνεις ένα όνομα, και το εργαλείο φτιάχνει το κλαδί και τον φάκελο μαζί. Το κλαδί ξεκινά από εκεί που βρίσκεσαι, και ο φάκελος στέκεται δίπλα στο αποθετήριο, με όνομα που ενώνει το όνομα του έργου και το όνομα του κλαδιού. Δεν χρειάζεται να θυμάσαι πού το έβαλε. Η δεύτερη κίνηση είναι ένας πίνακας που δείχνει όλα τα ανοιχτά κλαδιά, σε ποιον φάκελο κάθεται το καθένα, πόσο μπροστά ή πίσω είναι από το κύριο κλαδί, αν έχει αλλαγές που δεν έχουν σωθεί, και πόσο παλιά είναι η τελευταία δουλειά στο καθένα.
Και εδώ έρχεται ο λόγος που το εργαλείο υπάρχει. Η περιγραφή του στο GitHub λέει ξεκάθαρα ότι είναι φτιαγμένο για ροές εργασίας με παράλληλους βοηθούς τεχνητής νοημοσύνης. Σκέψου τι γίνεται σήμερα. Βάζεις έναν βοηθό να γράψει κώδικα, περιμένεις, και στο μεταξύ δεν μπορείς να πιάσεις το ίδιο έργο, γιατί ο βοηθός έχει ανοιχτά τα αρχεία. Αν βάλεις δύο βοηθούς στον ίδιο φάκελο, πατάει ο ένας τον άλλο. Το worktrunk δίνει σε κάθε βοηθό τον δικό του φάκελο, το δικό του κλαδί, και το ίδιο ιστορικό. Δουλεύουν παράλληλα χωρίς να συγκρούονται, και στο τέλος ενώνεις ό,τι κρατάς.
Αυτό είναι όλο. Ένα πρόγραμμα που φωνάζεις από τη γραμμή εντολών, με ένα καθαρό όνομα για κάθε δουλειά και έναν πίνακα να τα βλέπεις όλα μαζί.
Τι δεν κάνει
Πρώτο και σημαντικότερο: δεν είναι διακομιστής. Δεν ανήκει σε εκείνα τα προγράμματα που τα δηλώνεις σε έναν βοηθό τεχνητής νοημοσύνης για να του δώσεις καινούργιες ικανότητες. Το worktrunk δεν προσθέτει εργαλεία σε κανέναν, δεν έχει λίστα όπου να το προσθέσεις. Είναι ένα πρόγραμμα που το φωνάζεις από το κέλυφος, δηλαδή από το παράθυρο όπου γράφεις εντολές. Όποιος βοηθός μπορεί να τρέξει μια εντολή, μπορεί να το χρησιμοποιήσει· κανείς δεν χρειάζεται να το δηλώσει πουθενά.
Δεύτερο: δεν αντικαθιστά το git και δεν το κρύβει. Το αποθετήριο παραμένει κανονικό αποθετήριο. Ό,τι κάνεις με το worktrunk, μπορείς να το κάνεις και με τις εντολές του git, μόνο με περισσότερα βήματα. Αν κάτι πάει στραβά, δεν είσαι κλειδωμένος μέσα σε ένα ειδικό σύστημα.
Τρίτο: δεν ενώνει κλαδιά στη θέση σου και δεν αποφασίζει για σένα. Δεν λύνει συγκρούσεις. Όταν δύο κλαδιά έχουν αλλάξει τα ίδια σημεία, η ένωση παραμένει δική σου δουλειά, όπως πάντα.
Τέταρτο: δεν σου χαρίζει χώρο. Κάθε worktree είναι ένας πραγματικός δεύτερος φάκελος με τα αρχεία μέσα, όχι μια συντόμευση. Το εργαλείο δηλώνει ότι μπορεί να μοιράζεται κρυφές αποθήκες χτισίματος σε κάποια συστήματα αρχείων — το κρατάμε ως ισχυρισμό του κατασκευαστή, γιατί η δική μας μέτρηση δεν το άγγιξε. Σε κάθε περίπτωση, ο χώρος στον δίσκο είναι το τίμημα.
Πέμπτο: δεν σου εξηγείται μόνο του. Δεν έχει παράθυρο, δεν έχει κουμπιά, δεν έχει φιλικά μηνύματα όταν κάτι λείπει. Είναι γραμμή εντολών γυμνή. Αν δεν διαβάσεις τι κάνει κάθε εντολή, δεν θα μαντέψει εκείνο για σένα.
Για ποιον είναι
Για τον άνθρωπο που δουλεύει με πολλούς βοηθούς τεχνητής νοημοσύνης ταυτόχρονα και έχει κουραστεί να τους μαλώνει για τον ίδιο φάκελο. Αυτός είναι ο πρώτος αναγνώστης, και γι’ αυτόν φτιάχτηκε το εργαλείο.
Για τον προγραμματιστή που του ζητούν συχνά δύο πράγματα μαζί: μια διόρθωση τώρα, και μια κανονική δουλειά που βρίσκεται σε εξέλιξη. Με το worktrunk κρατά και τα δύο ανοιχτά, το καθένα στον φάκελό του, χωρίς να μαζεύει και να ξαναστρώνει το τραπέζι.
Για τον άνθρωπο που δουλεύει σε μεγάλα έργα και θέλει να δοκιμάσει μια αλλαγή χωρίς να ακουμπήσει τη σοβαρή δουλειά. Ο δεύτερος φάκελος γίνεται το εργαστήρι του, με καθαρή επιστροφή αν η δοκιμή δεν πάει καλά.
Δεν είναι για κάποιον που δουλεύει πάντα ένα πράγμα τη φορά και ποτέ δεν χρειάστηκε να κρατήσει δύο εκδόσεις ζωντανές. Εκεί ο φάκελος είναι ένας, το κλαδί είναι ένα, και το εργαλείο θα του φαίνεται περιττό.
Εγκατάσταση
Στα Windows 11 η εγκατάσταση γίνεται από το εργαλείο εγκατάστασης προγραμμάτων. Μία εντολή, από το κέλυφος:
winget install max-sixty.worktrunkΜετά από αυτό έχεις δύο ονόματα για το ίδιο πρόγραμμα, wt και git-wt. Κράτα το δεύτερο. Υπάρχει μια σύγκρουση που θα σε μπερδέψει αν δεν την ξέρεις: το Windows Terminal έχει κι εκείνο μια εντολή με το όνομα wt. Αν γράψεις wt και σου ανοίξει παράθυρο τερματικού αντί για το εργαλείο, δεν έκανες λάθος — ο υπολογιστής βρήκε το άλλο πρόγραμμα πρώτο. Το git-wt δεν συγκρούεται με τίποτα.
Η ρύθμιση που λείπει συχνά
Αυτό είναι το επόμενο βήμα, και δεν είναι προαιρετικό αν θέλεις να μπαίνεις αυτόματα στον νέο φάκελο. Χωρίς αυτό, το εργαλείο φτιάχνει τον φάκελο αλλά σε αφήνει εκεί που ήσουν:
git-wt config shell installΈνα πράγμα που δεν θα χρειαστείς ποτέ: δεν υπάρχει τίποτα να κατεβάσεις από το npm, τη βιβλιοθήκη πακέτων της JavaScript, ούτε από το PyPI, τη βιβλιοθήκη πακέτων της Python. Δεν υπάρχει ούτε μία γραμμή εξάρτησης για εγκατάσταση. Το εργαλείο έρχεται ως ένα έτοιμο πρόγραμμα, ένα αρχείο που τρέχει αμέσως, χωρίς να στηθεί τίποτα γύρω του.
Αν θέλεις να το χτίσεις μόνος σου
Εδώ χρειάζεσαι εργαλειοθήκη Rust, τη γλώσσα στην οποία είναι γραμμένο το πρόγραμμα:
cargo install worktrunkΟ δρόμος αυτός είναι για όποιον θέλει να πειράξει το εργαλείο μέσα. Για τη συνηθισμένη χρήση, η πρώτη εντολή αρκεί.
Χρήση σε κάθε LLM
Ξανά, γιατί αυτό μπερδεύει πολλούς: το worktrunk δεν είναι διακομιστής, και δεν χρειάζεται να το δηλώσεις πουθενά σε κανέναν βοηθό. Δεν θα βρεις λίστα για να το προσθέσεις. Το μόνο που κάνεις είναι να δώσεις μια εντολή από το κέλυφος — και ο βοηθός τη δίνει μαζί ή στη θέση σου. Ισχύει το ίδιο παντού, αλλά κάθε βοηθός έχει άλλον τρόπο να πάρει την εντολή, γι’ αυτό τα βήματα χωρίζονται παρακάτω.
Claude Code
Άνοιξε το Claude Code μέσα στον φάκελο του έργου και ζήτα του να σου ετοιμάσει χωριστό χώρο πριν πιάσει δουλειά. Θα τρέξει αυτό:
git-wt switch --create claude-fixΑν έχεις κάνει τη ρύθμιση του κελύφους, σε βάζει μέσα στον νέο φάκελο. Όποτε θέλεις να δεις πού βρίσκεται η καθεμία εργασία:
git-wt listCodex CLI
Ίδιο σχήμα, άλλο όνομα για να ξεχωρίζεις τις δουλειές. Από τον φάκελο του έργου, πριν ξεκινήσει:
git-wt switch --create codex-fixΚαι ο ίδιος πίνακας για έλεγχο:
git-wt listΖήτα του να τρέξει την πρώτη εντολή ως ξεχωριστό βήμα, πριν αγγίξει αρχεία. Έτσι η δουλειά του δεν μοιράζεται φάκελο με καμία άλλη.
Cursor
Στο Cursor δουλεύεις μέσα στον επεξεργαστή, γι’ αυτό άνοιξε το ενσωματωμένο τερματικό στον φάκελο του έργου και τρέξε:
git-wt switch --create cursor-fixΈπειτα άνοιξε τον νέο φάκελο στο Cursor ως ξεχωριστό παράθυρο. Ο βοηθός του Cursor δουλεύει τώρα σε δικό του χώρο, και η κύρια εργασία σου μένει άθικτη δίπλα.
Πού κερδίζει, πού χάνει
Κερδίζει στο ίδιο το εμπόδιο που λύνει. Το πιο δύσκολο κομμάτι των worktrees δεν ήταν ποτέ το git· ήταν ότι έπρεπε να θυμάσαι διαδρομές και ονόματα. Εδώ μία εντολή κάνει τη δουλειά, με σταθερό σχήμα ονόματος, και ένας πίνακας σου λέει τα υπόλοιπα.
Κερδίζει γιατί δεν έχει βάρος. Είναι ένα έτοιμο πρόγραμμα, 17,46 MB για Windows, χωρίς εξάρτηση χρόνου εκτέλεσης. Δεν φορτώνει τίποτα σε καμία συνεδρία βοηθού, δεν κρατά διεργασία στη μνήμη, δεν ζητά λογαριασμό.
Κερδίζει στη διαφάνεια. Δεν είναι κλειστό σύστημα. Ό,τι κάνει φαίνεται στις εντολές, και ό,τι κάνει μπορεί να ξαναγίνει με γυμνό git.
Κερδίζει, επίσης, στο ότι ωριμάζει γρήγορα. Στα 10.738 αστέρια και τα 395 αντίγραφα του έργου, με 41.290 λήψεις στο σύνολο — και 14.092 από αυτές μέσα στους τελευταίους τρεις μήνες — είναι εργαλείο που το χρησιμοποιεί κόσμος, όχι πείραμα ενός ανθρώπου.
Χάνει στην πρώτη επαφή. Χωρίς τη ρύθμιση του κελύφους, φτιάχνει τον φάκελο και σε αφήνει πίσω. Ο νέος χρήστης νομίζει ότι απέτυχε. Είναι ένα σκαλοπάτι στην αρχή, όχι σφάλμα, αλλά κοστίζει χρόνο.
Χάνει στον χώρο. Στα Windows, όπου τα αντίγραφα μοιράζονται αργά ή καθόλου, κάθε worktree είναι πραγματικά δεύτερα αρχεία.
Χάνει, τέλος, στην ηλικία. Το έργο γεννήθηκε στις 17 Οκτωβρίου 2025 και σε έναν χρόνο έφτασε στην έκδοση 0.81.0, που βγήκε στις 20 Οκτωβρίου 2026. Ο γρήγορος αριθμός έκδοσης σημαίνει συχνές αλλαγές· ένα εργαλείο που κινείται τόσο γρήγορα θέλει λίγη υπομονή από όποιον το βάλει σε καθημερινή δουλειά. Τα 73 ανοιχτά ζητήματα στο αποθετήριο το δείχνουν κι αυτό.
Δοκιμή
Κατέβασα το επίσημο αρχείο της έκδοσης 0.81.0 για Windows — το αρχείο έχει μέγεθος 17,46 MB και το κατέβασαν 1.407 άνθρωποι πριν από μένα — το ξεζίπαρα και έφτιαξα δικό μου αποθετήριο git, με ένα αρχείο μέσα, σε φάκελο που έφτιαξα εγώ.
Πρώτος έλεγχος, η έκδοση:
git-wt --versionΑπάντησε wt v0.81.0. Σωστά, η έκδοση βγαίνει όπως πρέπει.
Δεύτερος έλεγχος, η κύρια λειτουργία. Δημιούργησα κλαδί και χώρο δουλειάς σε μία κίνηση:
git-wt switch --create trap-wtΤο εργαλείο έφτιαξε το κλαδί trap-wt από το κύριο κλαδί και τον φάκελο δίπλα στο αποθετήριο, με όνομα demo.trap-wt. Τύπωσε: «Created branch trap-wt from master and worktree @ …/demo.trap-wt». Το σχήμα του ονόματος είναι ακριβώς αυτό: όνομα αποθετηρίου, τελεία, όνομα κλαδιού.
Και την ίδια στιγμή ήρθε η αστοχία που αξίζει να ξέρεις. Το εργαλείο τύπωσε «Cannot change directory — shell integration not installed». Δηλαδή: χωρίς να τρέξεις πρώτα τη ρύθμιση του κελύφους, φτιάχνει κανονικά τον νέο φάκελο αλλά δεν σε βάζει μέσα. Μένεις στον αρχικό φάκελο και μπαίνεις μόνος σου. Δεν είναι σφάλμα, είναι ρύθμιση που λείπει — αλλά αν δεν το ξέρεις, νομίζεις ότι δεν δούλεψε τίποτα.
Τρίτος έλεγχος, ο πίνακας:
git-wt listΈβγαλε πίνακα με δύο γραμμές, το κύριο κλαδί και το νέο, με στήλες για κλαδί, κατάσταση, απόσταση από το κύριο κλαδί, απομακρυσμένο αντίγραφο, διαδρομή, τελευταία αλλαγή και μήνυμα. Λειτουργεί όπως υπόσχεται.
Αυτά τα τρία είναι όσα μέτρησα. Ό,τι άλλο αναφέρει η τεκμηρίωση του κατασκευαστή, το γράφω ως ισχυρισμό του, όχι ως μέτρηση.
Τι κοστίζει
Το εργαλείο. Μηδέν χρήματα: το worktrunk είναι διπλά αδειοδοτημένο, MIT ή Apache-2.0 (το διαβάσαμε από το αρχείο LICENSE, γιατί το πεδίο του GitHub API γράφει NOASSERTION). Δεν θέλει κλειδί, λογαριασμό, ούτε κλήση σε μοντέλο: είναι ένα ντόπιο πρόγραμμα.
Το πλαίσιο. Δεν είναι διακομιστής MCP, οπότε δεν φορτώνει σχήματα εργαλείων σε κάθε συνεδρία: ο φόρος του σε tokens πριν γράψεις λέξη είναι μηδέν. Το βάρος του είναι το ίδιο το πρόγραμμα: 17,46 MB το αρχείο για Windows (μέτρηση από το πεδίο του μεγέθους στην έκδοση), ένα static binary χωρίς εξαρτήσεις χρόνου εκτέλεσης. Για μέτρο σύγκρισης, ένα εργαλείο με βαριές εξαρτήσεις μοντέλων φτάνει τα εκατοντάδες megabyte.
Η δουλειά. Δεν πληρώνεις τίποτα για τη χρήση· πληρώνεις σε χώρο στον δίσκο, γιατί κάθε worktree είναι ένα δεύτερο αντίγραφο του αποθετηρίου. Το ίδιο το εργαλείο προσφέρει μείωση μέσω κοινών cache χτισίματος, αλλά μόνο σε συστήματα αρχείων APFS, btrfs και XFS — όχι σε NTFS, δηλαδή όχι στα Windows. Εκεί τα αντίγραφα είναι πραγματικά αντίγραφα. Και ένα κόστος σε χρόνο που το μετρήσαμε: χωρίς git-wt config shell install δεν σε βάζει μέσα στον νέο φάκελο· φτιάχνει το worktree και σε αφήνει εκεί που ήσουν.
Η τηλεμετρία. Δεν υπάρχει: είναι ντόπιο πρόγραμμα χωρίς λογαριασμό και χωρίς κλήσεις στο δίκτυο για τη λειτουργία του.
Ετυμηγορία
Αξίζει αν βάζεις πολλούς βοηθούς να δουλεύουν ταυτόχρονα στο ίδιο έργο. Εκεί το worktrunk δεν είναι ευκολία, είναι η διαφορά ανάμεσα σε έναν βοηθό και τρεις. Δίνει σε κάθε δουλειά τον δικό της φάκελο, με το ίδιο ιστορικό, και έναν πίνακα να βλέπεις τα πάντα χωρίς να θυμάσαι διαδρομές.
Δεν αξίζει αν δουλεύεις ένα πράγμα τη φορά. Θα πληρώσεις χώρο και ένα σκαλοπάτι εκμάθησης για κάτι που δεν σου λείπει.
Δύο πράγματα να κρατήσεις πριν το βάλεις. Πρώτο: τρέξε τη ρύθμιση του κελύφους αμέσως, αλλιώς θα νομίζεις ότι το εργαλείο δεν δουλεύει. Δεύτερο: είναι νέο, κινείται γρήγορα, και αυτό σημαίνει ότι κάποιες εντολές θα αλλάξουν. Το έργο είναι υγιές — 10.738 αστέρια, 41.290 λήψεις, ενεργή ανάπτυξη, άδεια ελεύθερη — γι’ αυτό δεν το φοβάμαι. Αλλά το βάζεις για τη δουλειά που λύνει σήμερα, όχι για να το ξεχάσεις για δύο χρόνια.
Η δική μου εκτίμηση: μέσα σε ένα χρόνο, η διαχείριση χώρων δουλειάς για παράλληλους βοηθούς θα είναι τόσο συνηθισμένη όσο τα κλαδιά. Το worktrunk είναι σήμερα ένα από τα καθαρότερα παραδείγματα αυτής της στροφής, και η τιμή — μηδέν — το κάνει εύκολο στοίχημα.
Πηγές:
https://github.com/max-sixty/worktrunk
Εγκατάσταση
4 ΒΗΜΑΤΑ- winget install max-sixty.worktrunk
- git-wt config shell install
- git-wt switch --create mybranch
- git-wt list