Dezvoltare
Cerințe
- Bun pentru instalări în spațiul de lucru și scripturi
- Node.js 20+
- tmux și cloudflared pentru teste de la un capăt la altul
- Daytona API key + git credentials pentru testul de integrare cu sandboxul (opțional)
- Playwright pentru teste e2e UI
Instalare
bun install
Rularea aplicației
bun run dev:beam
Aceasta compilează CLI, pornește serverul local pe portul 8787 (înlocuiți cu TERMBRIDGE_DEV_PORT), cu sesiunea tmux codex (înlocuiți cu TERMBRIDGE_DEV_SESSION) și lansează Vite dev UI, care direcționează /__tb (inclusiv WebSockets) către server. Afișează un link de revendicare pentru dezvoltare URL, pe care îl puteți deschide în browser. Setați TERMBRIDGE_SKIP_BUILD=1 pentru a omite compilarea CLI.
Sesiuni multiple
TERMBRIDGE_SESSIONS=2 bun run dev:beam
Sau folosiți scurtătura:
bun run dev:beam:multi
Modul cu cookie-uri locale
dev:beam setează TERMBRIDGE_INSECURE_COOKIE=1 dacă nu îl setați manual, astfel încât cookie-urile de sesiune să funcționeze prin HTTP simplu. Când rulați direct CLI fără HTTPS, setați-l explicit:
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
Teste
bun run test
test:mockedrulează teste unitare/de integrare cu o acoperire de 100%.test:clirulează teste e2e reale cu CLI + UI (tmux + cloudflared + Playwright).- Testul Daytona cu sandbox din
test:clicitește setările numai dintr-un fișier.envdintr-un directortermbridge-test-appaflat lângă acest depozit (../termbridge-test-app/.env). Rulează când acel fișier seteazăTERMBRIDGE_E2E_DAYTONA=1șiTERMBRIDGE_DAYTONA_API_KEY. Setați acoloTERMBRIDGE_SANDBOX_REPOla un depozit pe care îl puteți clona; depozitul de test implicit este privat și necesită, de asemenea,TERMBRIDGE_SANDBOX_GIT_USERNAMEșiTERMBRIDGE_SANDBOX_GIT_TOKEN.
Documentație
Documentația constă în fișiere Markdown simple din docs/, cu frontmatter pe fiecare pagină și fișiere meta.json pentru ordinea navigării. Este publicată la termbridge.dev. Validați-o cu:
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
Fluxul de lucru pentru conținutul Docs rulează aceeași verificare la cererile de integrare care modifică docs/.