Pengembangan
Persyaratan
- Bun untuk instalasi dan skrip ruang kerja
- Node.js 20+
- tmux dan cloudflared untuk pengujian menyeluruh
- Daytona kunci API + kredensial git untuk pengujian integrasi sandbox (opsional)
- Playwright untuk pengujian e2e UI
Instalasi
bun install
Menjalankan aplikasi
bun run dev:beam
Ini akan membangun CLI, memulai server lokal di port 8787 (ganti dengan TERMBRIDGE_DEV_PORT) menggunakan sesi tmux codex (ganti dengan TERMBRIDGE_DEV_SESSION), lalu menjalankan Vite dev UI yang memproksikan /__tb (termasuk WebSockets) ke server tersebut. Perintah ini mencetak URL penukaran dev untuk dibuka di browser. Atur TERMBRIDGE_SKIP_BUILD=1 untuk melewati build CLI.
Beberapa sesi
TERMBRIDGE_SESSIONS=2 bun run dev:beam
Atau gunakan pintasan:
bun run dev:beam:multi
Mode cookie lokal
dev:beam menetapkan TERMBRIDGE_INSECURE_COOKIE=1 kecuali jika Anda menetapkannya sendiri, sehingga cookie sesi dapat digunakan melalui HTTP biasa. Saat menjalankan CLI secara langsung tanpa HTTPS, tetapkan secara eksplisit:
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
Pengujian
bun run test
test:mockedmenjalankan pengujian unit/integrasi dengan cakupan 100%.test:climenjalankan pengujian e2e CLI + UI sungguhan (tmux + cloudflared + Playwright).- Pengujian sandbox Daytona di
test:clihanya membaca pengaturannya dari file.envdi direktoritermbridge-test-appyang berada di samping repositori ini (../termbridge-test-app/.env). Pengujian berjalan jika file tersebut menetapkanTERMBRIDGE_E2E_DAYTONA=1danTERMBRIDGE_DAYTONA_API_KEY. TetapkanTERMBRIDGE_SANDBOX_REPOdi sana ke repositori yang dapat Anda klon; repositori pengujian default bersifat privat dan juga memerlukanTERMBRIDGE_SANDBOX_GIT_USERNAMEsertaTERMBRIDGE_SANDBOX_GIT_TOKEN.
Dokumentasi
Konten dokumentasi berupa file Markdown biasa di docs/, dengan frontmatter di setiap halaman dan file meta.json untuk urutan navigasi. Dokumentasi dipublikasikan di termbridge.dev. Validasi dengan:
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
Alur kerja konten Docs menjalankan pemeriksaan yang sama pada pull request yang mengubah docs/.