İçeriğe geç

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

Kabuk
bun install

Uygulamayı çalıştırma

Kabuk
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

Kabuk
TERMBRIDGE_SESSIONS=2 bun run dev:beam

Ya da kısayolu kullanın:

Kabuk
bun run dev:beam:multi

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:

Kabuk
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080

Testler

Kabuk
bun run test
  • test:mocked, 100% kapsam oranıyla birim/tümleştirme testlerini çalıştırır.
  • test:cli gerçek CLI + UI uçtan uca testlerini çalıştırır (tmux + cloudflared + Playwright).
  • test:cli içindeki Daytona korumalı alan testi, ayarlarını yalnızca bu deponun yanındaki termbridge-test-app dizininde bulunan bir .env dosyasından okur (../termbridge-test-app/.env). Dosyada TERMBRIDGE_E2E_DAYTONA=1 ve TERMBRIDGE_DAYTONA_API_KEY ayarlandığında çalışır. TERMBRIDGE_SANDBOX_REPO değerini klonlayabileceğiniz bir depoya ayarlayın; varsayılan test deposu özeldir ve ayrıca TERMBRIDGE_SANDBOX_GIT_USERNAME ile TERMBRIDGE_SANDBOX_GIT_TOKEN gerektirir.

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:

Kabuk
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.