Przejdź do treści

Programowanie

Wymagania

  • Bun do instalowania zależności i uruchamiania skryptów w workspace
  • Node.js 20+
  • tmux i cloudflared do testów end-to-end
  • Daytona API key + dane uwierzytelniające git do testu integracyjnego piaskownicy (opcjonalnie)
  • Playwright do testów e2e UI

Instalacja

Powłoka
bun install

Uruchamianie aplikacji

Powłoka
bun run dev:beam

Kompiluje CLI, uruchamia serwer lokalny na porcie 8787 (zmień za pomocą TERMBRIDGE_DEV_PORT) z sesją codex tmux (zmień za pomocą TERMBRIDGE_DEV_SESSION) i uruchamia deweloperskie UI Vite, które przekazuje ruch /__tb (w tym WebSockety) do tego serwera. Wyświetla deweloperski link do wykorzystania URL w przeglądarce. Ustaw TERMBRIDGE_SKIP_BUILD=1, aby pominąć kompilację CLI.

Wiele sesji

Powłoka
TERMBRIDGE_SESSIONS=2 bun run dev:beam

Możesz też użyć skrótu:

Powłoka
bun run dev:beam:multi

dev:beam ustawia TERMBRIDGE_INSECURE_COOKIE=1, jeśli nie ustawisz go samodzielnie, dzięki czemu pliki cookie sesji działają przez zwykłe HTTP. Uruchamiając bezpośrednio CLI bez HTTPS, ustaw tę zmienną jawnie:

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

Testy

Powłoka
bun run test
  • test:mocked uruchamia testy jednostkowe i integracyjne z pokryciem 100%.
  • test:cli uruchamia rzeczywiste testy e2e CLI + UI (tmux + cloudflared + Playwright).
  • Test sandboxa Daytona w test:cli pobiera ustawienia wyłącznie z pliku .env w katalogu termbridge-test-app obok tego repozytorium (../termbridge-test-app/.env). Test jest uruchamiany, gdy w pliku ustawiono TERMBRIDGE_E2E_DAYTONA=1 i TERMBRIDGE_DAYTONA_API_KEY. Ustaw tam TERMBRIDGE_SANDBOX_REPO na repozytorium, które możesz sklonować; domyślne repozytorium testowe jest prywatne i wymaga także TERMBRIDGE_SANDBOX_GIT_USERNAME i TERMBRIDGE_SANDBOX_GIT_TOKEN.

Dokumentacja

Dokumentacja składa się ze zwykłych plików Markdown w docs/, z metadanymi frontmatter na każdej stronie i plikami meta.json określającymi kolejność nawigacji. Jest opublikowana pod adresem dokumentacjatermbridge.dev. Sprawdź ją za pomocą:

Powłoka
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3

Proces dokumentacji sprawdza to samo w żądaniach pull request obejmujących docs/.