Preskočiť na obsah

Vývoj

Požiadavky

  • Bun na inštaláciu a skripty v pracovnom priestore
  • Node.js 20+
  • tmux a cloudflared na testy od začiatku do konca
  • Daytona API kľúč + git prihlasovacie údaje na integračný test v sandboxe (voliteľné)
  • Playwright na testy e2e UI

Inštalácia

Shell
bun install

Spustenie aplikácie

Shell
bun run dev:beam

Týmto sa zostaví CLI, spustí lokálny server na porte 8787 (možno zmeniť pomocou TERMBRIDGE_DEV_PORT) s reláciou codex tmux (možno zmeniť pomocou TERMBRIDGE_DEV_SESSION) a spustí vývojový Vite UI, ktorý presmeruje /__tb (vrátane WebSocketov) na tento server. Vypíše vývojový odkaz na uplatnenie URL, ktorý môžete otvoriť v prehliadači. Nastavením TERMBRIDGE_SKIP_BUILD=1 preskočíte zostavenie CLI.

Viacero relácií

Shell
TERMBRIDGE_SESSIONS=2 bun run dev:beam

Alebo použite skratku:

Shell
bun run dev:beam:multi

dev:beam nastaví TERMBRIDGE_INSECURE_COOKIE=1, ak ho nenastavíte sami, takže relačné cookies fungujú cez obyčajné HTTP. Ak spúšťate CLI priamo bez HTTPS, nastavte ho explicitne:

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 spúšťa jednotkové a integračné testy s pokrytím 100 %.
  • test:cli spúšťa skutočné testy CLI + UI od začiatku do konca (tmux + cloudflared + Playwright).
  • Test Daytona sandboxu v test:cli načítava nastavenia iba zo súboru .env v adresári termbridge-test-app vedľa tohto repozitára (../termbridge-test-app/.env). Spustí sa, keď súbor obsahuje nastavenia TERMBRIDGE_E2E_DAYTONA=1 a TERMBRIDGE_DAYTONA_API_KEY. Nastavte v ňom TERMBRIDGE_SANDBOX_REPO na repozitár, ktorý možno klonovať; predvolený testovací repozitár je súkromný a vyžaduje aj TERMBRIDGE_SANDBOX_GIT_USERNAME a TERMBRIDGE_SANDBOX_GIT_TOKEN.

Dokumentácia

Dokumentácia pozostáva z obyčajných súborov Markdown v docs/, pričom každá stránka obsahuje frontmatter a poradie navigácie určujú súbory meta.json. Je zverejnená na termbridge.dev. Overte ju príkazom:

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

Pracovný postup obsahu dokumentácie vykonáva rovnakú kontrolu pri požiadavkách na zlúčenie, ktoré menia docs/.