Desarrollo
Requisitos
- Bun para instalaciones y scripts del espacio de trabajo
- Node.js 20+
- tmux y cloudflared para pruebas de extremo a extremo
- Clave Daytona API + credenciales de git para la prueba de integración con el entorno aislado (opcional)
- Playwright para pruebas e2e de UI
Instalación
bun install
Ejecutar la aplicación
bun run dev:beam
Esto compila CLI, inicia el servidor local en el puerto 8787 (se puede cambiar con TERMBRIDGE_DEV_PORT) con la sesión de tmux codex (se puede cambiar con TERMBRIDGE_DEV_SESSION) y lanza el proxy de desarrollo de Vite UI, que reenvía /__tb (incluidos los WebSockets) a ese servidor. Muestra un URL de canje de desarrollo para abrirlo en el navegador. Define TERMBRIDGE_SKIP_BUILD=1 para omitir la compilación de CLI.
Varias sesiones
TERMBRIDGE_SESSIONS=2 bun run dev:beam
O usa el atajo:
bun run dev:beam:multi
Modo de cookie local
dev:beam establece TERMBRIDGE_INSECURE_COOKIE=1 salvo que lo definas tú, así que las cookies de sesión funcionan con HTTP sin cifrar. Si ejecutas CLI directamente sin HTTPS, establécelo explícitamente:
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
Pruebas
bun run test
test:mockedejecuta pruebas unitarias y de integración con una cobertura del 100 %.test:cliejecuta pruebas e2e reales de CLI + UI (tmux + cloudflared + Playwright).- La prueba del sandbox de Daytona en
test:clilee sus ajustes únicamente de un archivo.enven un directoriotermbridge-test-appjunto a este repositorio (../termbridge-test-app/.env). Se ejecuta cuando ese archivo defineTERMBRIDGE_E2E_DAYTONA=1yTERMBRIDGE_DAYTONA_API_KEY. Define allíTERMBRIDGE_SANDBOX_REPOcon un repositorio que puedas clonar; el repositorio de prueba predeterminado es privado y también requiereTERMBRIDGE_SANDBOX_GIT_USERNAMEyTERMBRIDGE_SANDBOX_GIT_TOKEN.
Documentación
La documentación consta de archivos Markdown simples en docs/, con metadatos iniciales en cada página y archivos meta.json que determinan el orden de navegación. Se publica en termbridge.dev. Valídala con:
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
El flujo de trabajo del contenido de Docs ejecuta la misma comprobación en las solicitudes de incorporación de cambios que modifican docs/.