|
3 | 3 | `docker-git` создаёт отдельную Docker-среду для каждого репозитория, issue или PR. |
4 | 4 | По умолчанию проекты лежат в `~/.docker-git`. |
5 | 5 |
|
6 | | -## Что нужно |
7 | | - |
8 | | -- Bun `1.3+` |
9 | | -- Docker Engine или Docker Desktop |
10 | | -- Доступ к Docker без `sudo` |
11 | | -- Git и OpenSSH client (`ssh`, `ssh-keygen`) |
12 | | -- GitHub CLI `gh` для `docker-git auth github login --web` |
13 | | - |
14 | | -`Node.js` не является основным runtime для `docker-git`: CLI и workspace запускаются через Bun. |
15 | | -Node всё ещё устанавливается внутри создаваемых Docker-сред, потому что часть агентских CLI зависит от Node ecosystem. |
16 | | - |
17 | 6 | ## Установка |
18 | 7 |
|
19 | 8 | ```bash |
@@ -69,67 +58,12 @@ docker-git apply-all --active |
69 | 58 | - `apply` применяет конфиг к одному проекту. `--no-up` только обновляет файлы без `docker compose up`. В текущем API-only host mode команда ещё недоступна. |
70 | 59 | - `apply-all` применяет конфиг ко всем проектам. `--active` только к запущенным контейнерам. |
71 | 60 |
|
72 | | -## Browser frontend |
73 | | - |
74 | | -Browser UI использует тот же backend-контракт, что и CLI. API находится в `packages/api`, |
75 | | -а frontend shell в `packages/app`. |
76 | | - |
77 | | -Dev-режим: |
78 | | - |
79 | | -```bash |
80 | | -bun install |
81 | | -bun run api:start |
82 | | -``` |
83 | | - |
84 | | -Во втором терминале: |
85 | | - |
86 | | -```bash |
87 | | -bun run web:dev |
88 | | -``` |
89 | | - |
90 | | -Открой `http://127.0.0.1:4174/`. |
91 | | - |
92 | | -Одна команда для controller + web frontend: |
93 | 61 |
|
| 62 | +Для запуска WEB версии: |
94 | 63 | ```bash |
95 | 64 | bun run docker-git -- browser |
96 | 65 | ``` |
97 | 66 |
|
98 | | -Если controller или web frontend уже запущены, команда спросит про restart. В non-interactive запуске restart выполняется автоматически. |
99 | | - |
100 | | -Preview собранного frontend: |
101 | | - |
102 | | -```bash |
103 | | -bun run web:build |
104 | | -bun run web:serve |
105 | | -``` |
106 | | - |
107 | | -Открой `http://127.0.0.1:4191/`. |
108 | | -`web:serve` проксирует `/api` и WebSocket terminal-сессии в API на `127.0.0.1:3334`. |
109 | | - |
110 | | -## Архитектура workspace |
111 | | - |
112 | | -- `packages/app` — CLI/Web frontend, renderer, API client. |
113 | | -- `packages/api` — HTTP/WebSocket controller, единственный backend entrypoint для frontend. |
114 | | -- `packages/lib` — бизнес-логика, Docker/SSH/usecase слой. |
115 | | - |
116 | | -Frontend не должен напрямую вызывать бизнес-логику из `packages/lib`; он работает через `packages/api`. |
117 | | - |
118 | | -## Проверки |
119 | | - |
120 | | -```bash |
121 | | -bun run typecheck |
122 | | -bun run lint |
123 | | -bun run lint:effect |
124 | | -bun run test |
125 | | -``` |
126 | | - |
127 | | -E2E: |
128 | | - |
129 | | -```bash |
130 | | -bun run e2e |
131 | | -``` |
132 | | - |
133 | 67 | ## Подробности |
134 | 68 |
|
135 | 69 | ```bash |
|
0 commit comments