Разработка
Изисквания
- Bun за инсталиране в работното пространство и скриптове
- Node.js 20+
- tmux и cloudflared за сквозни тестове
- Daytona API ключ + идентификационни данни за git за интеграционния тест със sandbox (по избор)
- Playwright за сквозни тестове на UI
Инсталиране
bun install
Стартиране на приложението
bun run dev:beam
Това компилира CLI, стартира локалния сървър на порт 8787 (заменете с TERMBRIDGE_DEV_PORT) със сесия codex на tmux (заменете с TERMBRIDGE_DEV_SESSION) и стартира dev UI на Vite, който препраща /__tb (включително WebSocket връзките) към този сървър. Показва dev токен URL за отваряне в браузъра. Задайте TERMBRIDGE_SKIP_BUILD=1, за да пропуснете компилацията CLI.
Няколко сесии
TERMBRIDGE_SESSIONS=2 bun run dev:beam
Или използвайте пряк път:
bun run dev:beam:multi
Режим с локални бисквитки
dev:beam задава TERMBRIDGE_INSECURE_COOKIE=1, освен ако не сте го задали сами, така че сесийните бисквитки работят през обикновен HTTP. Когато стартирате CLI директно без HTTPS, задайте го изрично:
TERMBRIDGE_INSECURE_COOKIE=1 node cli/dist/bin.js --no-tunnel --public-url http://127.0.0.1:8080 --port 8080
Тестове
bun run test
test:mockedизпълнява модулни/интеграционни тестове с покритие 100%.test:cliизпълнява реални сквозни тестове с CLI + UI (tmux + cloudflared + Playwright).- Тестът за sandbox Daytona в
test:cliчете настройките си само от файл.envв директорияtermbridge-test-appдо това хранилище (../termbridge-test-app/.env). Изпълнява се, когато този файл задаваTERMBRIDGE_E2E_DAYTONA=1иTERMBRIDGE_DAYTONA_API_KEY. Задайте тамTERMBRIDGE_SANDBOX_REPOкато хранилище, което можете да клонирате; тестовото хранилище по подразбиране е частно и изисква същоTERMBRIDGE_SANDBOX_GIT_USERNAMEиTERMBRIDGE_SANDBOX_GIT_TOKEN.
Документация
Документацията представлява обикновени файлове Markdown в docs/, с предна метаинформация на всяка страница и файлове meta.json, които задават реда на навигация. Публикува се на termbridge.dev. Проверете я с:
node scripts/check-docs-content.mjs --root docs --expected-docs 16 --expected-nav 3
Работният процес за съдържанието на документацията изпълнява същата проверка при заявки за сливане, които засягат docs/.