Přejít k obsahu

Vývoj

Požadavky

  • Bun pro instalaci pracovního prostoru a skripty
  • Node.js 20+
  • tmux a cloudflared pro end-to-end testy
  • Klíč Daytona API a přihlašovací údaje git pro integrační test sandboxu (volitelné)
  • Playwright pro end-to-end testy UI

Instalace

Shell
bun install

Spuštění aplikace

Shell
bun run dev:beam

Tím se sestaví CLI, spustí místní server na portu 8787 (změna pomocí TERMBRIDGE_DEV_PORT) s relací codex tmux (změna pomocí TERMBRIDGE_DEV_SESSION) a spustí vývojová UI Vite, která předává /__tb (včetně WebSocket) tomuto serveru. Vypíše vývojový odkaz pro uplatnění URL, který otevřete v prohlížeči. Nastavením TERMBRIDGE_SKIP_BUILD=1 přeskočíte sestavení CLI.

Více relací

Shell
TERMBRIDGE_SESSIONS=2 bun run dev:beam

Nebo použijte zkratku:

Shell
bun run dev:beam:multi

dev:beam nastaví TERMBRIDGE_INSECURE_COOKIE=1, pokud tuto proměnnou nenastavíte sami, takže relační cookies fungují přes běžné HTTP. Při přímém spuštění CLI bez HTTPS ji nastavte výslovně:

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

Testy

Shell
bun run test
  • test:mocked spouští jednotkové a integrační testy s pokrytím 100 %.
  • test:cli spouští skutečné end-to-end testy CLI + UI (tmux + cloudflared + Playwright).
  • Test sandboxu Daytona v test:cli načítá nastavení pouze ze souboru .env v adresáři termbridge-test-app vedle tohoto repozitáře (../termbridge-test-app/.env). Spustí se, pokud tento soubor nastavuje TERMBRIDGE_E2E_DAYTONA=1 a TERMBRIDGE_DAYTONA_API_KEY. Zde nastavte TERMBRIDGE_SANDBOX_REPO na repozitář, který můžete klonovat; výchozí testovací repozitář je soukromý a vyžaduje také TERMBRIDGE_SANDBOX_GIT_USERNAME a TERMBRIDGE_SANDBOX_GIT_TOKEN.

Dokumentace

Dokumentace tvoří běžné soubory Markdown v docs/; každá stránka obsahuje frontmatter a pořadí navigace určují soubory meta.json. Je publikována na adrese termbridge.dev. Ověřte ji příkazem:

Shell
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3

Pracovní postup obsahu dokumentace spouští stejnou kontrolu při pull requestech, které mění docs/.