Razvoj
Zahteve
- Bun za namestitve in skripte v delovnem prostoru
- Node.js 20+
- tmux in cloudflared za teste od začetka do konca
- Ključ API Daytona + poverilnice git za integracijski test peskovnika (izbirno)
- Playwright za teste e2e UI
Namestitev
bun install
Zaženite aplikacijo
bun run dev:beam
S tem se zgradi CLI, zažene lokalni strežnik na vratih 8787 (spremenite jih z TERMBRIDGE_DEV_PORT) s sejo codex tmux (spremenite jo z TERMBRIDGE_DEV_SESSION) ter zažene razvojni UI Vite, ki posreduje /__tb (vključno s povezavami WebSocket) temu strežniku. Izpiše razvojni žeton za dostop URL, ki ga odprete v brskalniku. Nastavite TERMBRIDGE_SKIP_BUILD=1, da preskočite gradnjo CLI.
Več sej
TERMBRIDGE_SESSIONS=2 bun run dev:beam
Lahko pa uporabite bližnjico:
bun run dev:beam:multi
Način lokalnih piškotkov
dev:beam nastavi TERMBRIDGE_INSECURE_COOKIE=1, če ga ne nastavite sami, zato sejni piškotki delujejo prek navadnega HTTP. Če zaženete CLI neposredno brez HTTPS, ga nastavite izrecno:
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
Testi
bun run test
test:mockedizvaja enotske in integracijske teste z 100-odstotno pokritostjo.test:cliizvaja prave teste e2e CLI + UI (tmux + cloudflared + Playwright).- Test peskovnika Daytona v
test:clibere nastavitve samo iz datoteke.envv imenikutermbridge-test-apppoleg tega repozitorija (../termbridge-test-app/.env). Zažene se, ko ta datoteka nastaviTERMBRIDGE_E2E_DAYTONA=1inTERMBRIDGE_DAYTONA_API_KEY. Tam nastaviteTERMBRIDGE_SANDBOX_REPOna repozitorij, ki ga lahko klonirate; privzeti testni repozitorij je zaseben in zahteva tudiTERMBRIDGE_SANDBOX_GIT_USERNAMEinTERMBRIDGE_SANDBOX_GIT_TOKEN.
Dokumentacija
Dokumentacija je sestavljena iz navadnih datotek Markdown v docs/; vsaka stran ima metapodatke v glavi, datoteke meta.json pa določajo vrstni red navigacije. Objavljena je na termbridge.dev. Preverite jo z:
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
Potek dela Docs preveri isto tudi pri zahtevkih za vključitev sprememb, ki se dotikajo docs/.