Gå til indhold

Udvikling

Krav

  • Bun til workspace-installationer og scripts
  • Node.js 20+
  • tmux og cloudflared til end-to-end-tests
  • Daytona API-nøgle + Git-legitimationsoplysninger til integrationstesten af sandkassen (valgfrit)
  • Playwright til UI-e2e-tests

Installation

Shell
bun install

Kør appen

Shell
bun run dev:beam

Dette bygger CLI, starter den lokale server på port 8787 (kan ændres med TERMBRIDGE_DEV_PORT) med tmux-sessionen codex (kan ændres med TERMBRIDGE_DEV_SESSION) og starter udviklings-UI for Vite, som videresender /__tb (herunder WebSockets) til serveren. Den udskriver et udviklings-URL til indløsning, som du kan åbne i browseren. Angiv TERMBRIDGE_SKIP_BUILD=1 for at springe CLI-buildet over.

Flere sessioner

Shell
TERMBRIDGE_SESSIONS=2 bun run dev:beam

Eller brug genvejen:

Shell
bun run dev:beam:multi

dev:beam angiver TERMBRIDGE_INSECURE_COOKIE=1, medmindre du selv angiver den, så sessionscookies virker over almindelig HTTP. Når du kører CLI direkte uden HTTPS, skal du angive den eksplicit:

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

Tests

Shell
bun run test
  • test:mocked kører enheds- og integrationstests med 100 % dækning.
  • test:cli kører reelle e2e-tests med CLI + UI (tmux + cloudflared + Playwright).
  • Sandkassetesten Daytona i test:cli læser kun sine indstillinger fra en .env-fil i en termbridge-test-app-mappe ved siden af dette repository (../termbridge-test-app/.env). Den køres, når filen angiver TERMBRIDGE_E2E_DAYTONA=1 og TERMBRIDGE_DAYTONA_API_KEY. Angiv TERMBRIDGE_SANDBOX_REPO dér til et repository, du kan klone; standardtestrepositoryet er privat og kræver også TERMBRIDGE_SANDBOX_GIT_USERNAME og TERMBRIDGE_SANDBOX_GIT_TOKEN.

Dokumentation

Dokumentationen består af almindelige Markdown-filer i docs/ med frontmatter på hver side og meta.json-filer til navigationsrækkefølgen. Den udgives på termbridge.dev. Valider den med:

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

Dokumentationsarbejdsflowet kører den samme kontrol på pull requests, der berører docs/.