Μετάβαση στο περιεχόμενο

Ανάπτυξη

Απαιτήσεις

  • 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

Το 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/.