Ανάπτυξη
Απαιτήσεις
- Bun για εγκαταστάσεις και σενάρια εργασιακού χώρου
- Node.js 20+
- tmux και cloudflared για δοκιμές από άκρο σε άκρο
- Daytona API κλειδί και διαπιστευτήρια git για την ενσωματωμένη δοκιμή sandbox (προαιρετικά)
- Playwright για δοκιμές e2e του UI
Εγκατάσταση
bun install
Εκτέλεση της εφαρμογής
bun run dev:beam
Αυτό δημιουργεί το CLI, εκκινεί τον τοπικό διακομιστή στη θύρα 8787 (αλλάξτε την με το TERMBRIDGE_DEV_PORT) με τη συνεδρία tmux codex (αλλάξτε την με το TERMBRIDGE_DEV_SESSION) και εκκινεί τον διακομιστή ανάπτυξης Vite UI, ο οποίος προωθεί το /__tb (συμπεριλαμβανομένων των WebSockets) σε αυτόν τον διακομιστή. Εμφανίζει ένα διακριτικό εξαργύρωσης ανάπτυξης URL για άνοιγμα στο πρόγραμμα περιήγησης. Ορίστε το TERMBRIDGE_SKIP_BUILD=1 για να παραλείψετε τη δημιουργία CLI.
Πολλαπλές συνεδρίες
TERMBRIDGE_SESSIONS=2 bun run dev:beam
Ή χρησιμοποιήστε τη συντόμευση:
bun run dev:beam:multi
Λειτουργία τοπικών cookie
Το dev:beam ορίζει το TERMBRIDGE_INSECURE_COOKIE=1, εκτός αν το ορίσετε εσείς, ώστε τα cookie συνεδρίας να λειτουργούν μέσω απλού HTTP. Όταν εκτελείτε απευθείας το CLI χωρίς HTTPS, ορίστε το ρητά:
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
Δοκιμές
bun run test
- Το
test:mockedεκτελεί δοκιμές μονάδας/ενσωμάτωσης με κάλυψη 100%. - Το
test:cliεκτελεί πραγματικές δοκιμές e2e CLI + UI (tmux + cloudflared + Playwright). - Η δοκιμή sandbox Daytona στο
test:cliδιαβάζει τις ρυθμίσεις της μόνο από ένα αρχείο.envσε έναν κατάλογοtermbridge-test-appδίπλα σε αυτό το αποθετήριο (../termbridge-test-app/.env). Εκτελείται όταν το αρχείο ορίζει ταTERMBRIDGE_E2E_DAYTONA=1καιTERMBRIDGE_DAYTONA_API_KEY. Ορίστε εκεί τοTERMBRIDGE_SANDBOX_REPOσε ένα αποθετήριο που μπορείτε να κλωνοποιήσετε· το προεπιλεγμένο αποθετήριο δοκιμών είναι ιδιωτικό και χρειάζεται επίσης ταTERMBRIDGE_SANDBOX_GIT_USERNAMEκαιTERMBRIDGE_SANDBOX_GIT_TOKEN.
Τεκμηρίωση
Η τεκμηρίωση αποτελείται από απλά αρχεία Markdown στο docs/, με frontmatter σε κάθε σελίδα και αρχεία meta.json για τη σειρά πλοήγησης. Δημοσιεύεται στη διεύθυνση termbridge.dev. Επικυρώστε την με:
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
Η ροή εργασίας περιεχομένου Docs εκτελεί τον ίδιο έλεγχο σε αιτήματα έλξης που αφορούν το docs/.