Geliştirme
Gereksinimler
- Çalışma alanı kurulumları ve betikler için Bun
- Node.js 20+
- Uçtan uca testler için tmux ve cloudflared
- Koruma alanı tümleştirme testi için Daytona API anahtarı + git kimlik bilgileri (isteğe bağlı)
- UI uçtan uca testleri için Playwright
Yükleme
bun install
Uygulamayı çalıştırma
bun run dev:beam
Bu işlem CLI öğesini derler, yerel sunucuyu 8787 bağlantı noktasında başlatır (TERMBRIDGE_DEV_PORT ile geçersiz kılınabilir) ve tmux oturumu codex ile başlatır (TERMBRIDGE_DEV_SESSION ile geçersiz kılınabilir); ardından Vite geliştirme UI aracını çalıştırır. Bu araç, /__tb adresini (WebSocket'ler dahil) sunucuya yönlendirir. Tarayıcıda açmanız için bir geliştirme kullanım URL değeri yazdırır. CLI derlemesini atlamak için TERMBRIDGE_SKIP_BUILD=1 ayarlayın.
Birden fazla oturum
TERMBRIDGE_SESSIONS=2 bun run dev:beam
Ya da kısayolu kullanın:
bun run dev:beam:multi
Yerel çerez modu
Kendiniz ayarlamadığınız sürece dev:beam, TERMBRIDGE_INSECURE_COOKIE=1 değerini ayarlar; böylece oturum çerezleri düz HTTP üzerinden çalışır. HTTPS olmadan CLI aracını doğrudan çalıştırırken bunu açıkça ayarlayın:
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
Testler
bun run test
test:mocked, 100% kapsam oranıyla birim/tümleştirme testlerini çalıştırır.test:cligerçek CLI + UI uçtan uca testlerini çalıştırır (tmux + cloudflared + Playwright).test:cliiçindeki Daytona korumalı alan testi, ayarlarını yalnızca bu deponun yanındakitermbridge-test-appdizininde bulunan bir.envdosyasından okur (../termbridge-test-app/.env). DosyadaTERMBRIDGE_E2E_DAYTONA=1veTERMBRIDGE_DAYTONA_API_KEYayarlandığında çalışır.TERMBRIDGE_SANDBOX_REPOdeğerini klonlayabileceğiniz bir depoya ayarlayın; varsayılan test deposu özeldir ve ayrıcaTERMBRIDGE_SANDBOX_GIT_USERNAMEileTERMBRIDGE_SANDBOX_GIT_TOKENgerektirir.
Belgeler
Belgeler, docs/ içindeki düz Markdown dosyalarından oluşur; her sayfada ön bilgiler, gezinme sırasını belirleyen meta.json dosyaları bulunur. termbridge.dev adresinde yayımlanır. Şu komutla doğrulayın:
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
Belgeler içerik iş akışı, docs/ öğesine dokunan çekme isteklerinde aynı denetimi çalıştırır.