revdeck 0.1.0 → 0.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/CONTRIBUTING.md +17 -7
- package/README.md +50 -6
- package/README.ru.md +50 -5
- package/dist/cli.js +687 -69
- package/dist/cli.js.map +4 -4
- package/dist/daemon.js +386 -54
- package/dist/daemon.js.map +4 -4
- package/dist/mcp.js +20 -4
- package/dist/mcp.js.map +2 -2
- package/dist/ui/assets/index-BAejn_X6.js +10 -0
- package/dist/ui/assets/{index-ByfGHwCb.css → index-xv-zA2Sf.css} +1 -1
- package/dist/ui/index.html +2 -2
- package/docs/adr/0001-daemon-first.md +3 -1
- package/docs/architecture.md +3 -1
- package/docs/configuration.md +2 -0
- package/docs/integrations.md +53 -11
- package/docs/protocol.md +11 -2
- package/docs/ru/adr/0001-daemon-first.md +3 -1
- package/docs/ru/architecture.md +3 -1
- package/docs/ru/configuration.md +2 -0
- package/docs/ru/integrations.md +52 -10
- package/docs/ru/protocol.md +11 -2
- package/docs/ru/threat-model.md +3 -1
- package/docs/threat-model.md +3 -1
- package/package.json +2 -1
- package/skills/revdeck/en/agents/openai.yaml +4 -0
- package/skills/revdeck/ru/agents/openai.yaml +4 -0
- package/dist/ui/assets/index-mvPA8Avw.js +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -6,6 +6,40 @@ All notable changes to this project are documented here. The format is based on
|
|
|
6
6
|
|
|
7
7
|
## [Unreleased]
|
|
8
8
|
|
|
9
|
+
## [0.2.1] - 2026-11-12
|
|
10
|
+
|
|
11
|
+
### Fixed
|
|
12
|
+
|
|
13
|
+
- `revdeck devcontainer --write` no longer writes absolute host paths into the shared
|
|
14
|
+
`devcontainer.json`: mounts use `${localEnv:HOME}${localEnv:USERPROFILE}` and a stable
|
|
15
|
+
`~/.local/state/revdeck/devcontainer/{run,state}` bridge. The daemon listens on a second RPC socket
|
|
16
|
+
there for containers. Comments and formatting in an existing JSONC file are preserved.
|
|
17
|
+
|
|
18
|
+
## [0.2.0] - 2026-11-12
|
|
19
|
+
|
|
20
|
+
### Added
|
|
21
|
+
|
|
22
|
+
- Reactions on platform comments: thread cards in the UI, `revdeck react --note <id> --emoji <name>`,
|
|
23
|
+
and the `reactions.list` / `reactions.toggle` RPC methods. Existing reactions and the current user's
|
|
24
|
+
choice are shown for GitLab and GitHub.
|
|
25
|
+
- `revdeck eject`: removes the config, installed skills and command files, the `revdeck` MCP entry and
|
|
26
|
+
the local cache from a repository. It is preview-only without `--yes` and leaves foreign files and
|
|
27
|
+
other MCP servers intact.
|
|
28
|
+
- Attachments for comments: the UI **Attach** button and `revdeck attach` upload images and videos
|
|
29
|
+
through the host daemon. GitLab project uploads return absolute URLs, relative `/uploads/` links are
|
|
30
|
+
normalized to the platform host during publish, and the sanitizer allows images only from that host.
|
|
31
|
+
Only raster images and videos with matching extension, MIME and file signature are accepted.
|
|
32
|
+
- Devcontainer support: `revdeck devcontainer --write` mounts the host runtime and state directories,
|
|
33
|
+
sets `REVDECK_*` variables and marks the container, so revdeck reuses the host daemon and never runs
|
|
34
|
+
`gh`/`glab` inside. `revdeck doctor` checks the host daemon in this mode; `revdeck daemon start
|
|
35
|
+
--host` exposes the HTTP UI, and `revdeck eject` removes the generated mounts/env.
|
|
36
|
+
|
|
37
|
+
### Fixed
|
|
38
|
+
|
|
39
|
+
- `revdeck init` keeps one canonical skill in `.agents/skills/revdeck` (now including
|
|
40
|
+
`agents/openai.yaml`) and links `.claude/skills/revdeck` to it instead of copying the procedure files.
|
|
41
|
+
A copy is used only on platforms without symlink support.
|
|
42
|
+
|
|
9
43
|
## [0.1.0] - 2026-11-11
|
|
10
44
|
|
|
11
45
|
First public release.
|
package/CONTRIBUTING.md
CHANGED
|
@@ -56,8 +56,9 @@ Rules of thumb:
|
|
|
56
56
|
|
|
57
57
|
## Adding a harness adapter
|
|
58
58
|
|
|
59
|
-
Add a `SPECS` entry in `src/cli/init.ts` with the
|
|
60
|
-
document it in `docs/integrations.md`.
|
|
59
|
+
Add a `SPECS` entry in `src/cli/init.ts` with the MCP config path, command file or `linkSkill` flag, then
|
|
60
|
+
document it in `docs/integrations.md`. The canonical skill is always `.agents/skills/revdeck`; adapters
|
|
61
|
+
link to it instead of copying the procedure files. `init` must never overwrite files it does not own.
|
|
61
62
|
|
|
62
63
|
## Translations
|
|
63
64
|
|
|
@@ -87,11 +88,20 @@ npm version minor
|
|
|
87
88
|
git push --follow-tags
|
|
88
89
|
```
|
|
89
90
|
|
|
90
|
-
The `release` workflow publishes to npm with provenance and creates a GitHub release. It
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
91
|
+
The `release` workflow publishes to npm with provenance and creates a GitHub release. It uses
|
|
92
|
+
[trusted publishing](https://docs.npmjs.com/trusted-publishers): GitHub Actions gets a short-lived
|
|
93
|
+
OIDC token, so no npm token is stored in the repository and provenance is generated automatically.
|
|
94
|
+
|
|
95
|
+
Requirements, all configured once on npmjs.com (package `revdeck` → Settings → Trusted publishing):
|
|
96
|
+
|
|
97
|
+
- publisher `katrov/revdeck`, workflow file `release.yml`, environment left empty;
|
|
98
|
+
- "stage only" disabled, so tagged releases publish straight away.
|
|
99
|
+
|
|
100
|
+
The workflow runs on Node 24 and installs npm >= 11.15 because trusted publishing requires npm
|
|
101
|
+
11.5.1 or newer. If `id-token` is not writable the "Verify OIDC permissions" step fails with a
|
|
102
|
+
clear error; `ENEEDAUTH` from npm means the trusted publisher entry does not match the repo,
|
|
103
|
+
workflow file or environment. The version in `src/version.ts` must match `package.json`.
|
|
104
|
+
`prepublishOnly` re-runs build, typecheck and tests.
|
|
95
105
|
|
|
96
106
|
## Security
|
|
97
107
|
|
package/README.md
CHANGED
|
@@ -24,7 +24,7 @@ and a web UI. Platform tokens stay on the host.
|
|
|
24
24
|
bound to a hash of the plan and is idempotent. There is no “agent approved its own comment” path.
|
|
25
25
|
- **Tokens never reach the agent.** The daemon calls `glab`/`gh` on the host and scrubs platform tokens
|
|
26
26
|
from child environments. A sandboxed agent only gets an RPC.
|
|
27
|
-
- **GitLab and GitHub.** One model: MR/PR, threads, diff, resolve, reactions, line comments.
|
|
27
|
+
- **GitLab and GitHub.** One model: MR/PR, threads, diff, resolve, reactions, line comments, attachments.
|
|
28
28
|
- **Many reviews.** The daemon keeps them in SQLite; the UI is a triage queue with keyboard shortcuts.
|
|
29
29
|
- **Any harness.** MCP tools for MCP clients, the same capabilities over CLI, and a skill that carries
|
|
30
30
|
the review procedure.
|
|
@@ -62,8 +62,11 @@ revdeck ui # open the local UI
|
|
|
62
62
|
```
|
|
63
63
|
|
|
64
64
|
`init` never overwrites an existing config without `--force`, and it merges `.mcp.json` instead of
|
|
65
|
-
replacing it.
|
|
66
|
-
|
|
65
|
+
replacing it. `revdeck eject` is the inverse: it removes the config, installed skills and command files,
|
|
66
|
+
the `revdeck` MCP entry and the local `.revdeck/` cache, leaving foreign files and other MCP servers
|
|
67
|
+
untouched. It only shows the plan by default; add `--yes` to apply (`--keep-config` keeps
|
|
68
|
+
`.revdeck.yml`). Auto-start on login: `revdeck daemon install` (systemd user unit on Linux, launchd
|
|
69
|
+
plist on macOS). Use a global install for this — an `npx` cache path can be evicted.
|
|
67
70
|
|
|
68
71
|
## Languages
|
|
69
72
|
|
|
@@ -91,6 +94,8 @@ Russian READMEs live in this repository; translation fixes are welcome.
|
|
|
91
94
|
| Command | What it does |
|
|
92
95
|
|---|---|
|
|
93
96
|
| `revdeck init` | config, harness adapters, MCP |
|
|
97
|
+
| `revdeck eject [--yes]` | remove revdeck-owned config, adapters and MCP entry |
|
|
98
|
+
| `revdeck devcontainer [--write]` | mount the host daemon socket/state into a devcontainer |
|
|
94
99
|
| `revdeck doctor` | environment, `glab`/`gh` auth, daemon, adapters |
|
|
95
100
|
| `revdeck list [--remote]` | tracked reviews or open ones from the platform |
|
|
96
101
|
| `revdeck open <N\|URL>` | load a review |
|
|
@@ -101,6 +106,8 @@ Russian READMEs live in this repository; translation fixes are welcome.
|
|
|
101
106
|
| `revdeck reply <N> --thread <id> --body …` | draft a reply |
|
|
102
107
|
| `revdeck publish <N> [--yes]` | preview or publish after confirmation |
|
|
103
108
|
| `revdeck notes <N> …` | line comments from the human |
|
|
109
|
+
| `revdeck react <N> --note <id> --emoji <name>` | toggle a reaction on a platform comment |
|
|
110
|
+
| `revdeck attach <N> --file <image-or-video>` | upload an attachment and print its markdown link |
|
|
104
111
|
| `revdeck rules [--explain <path>]` | effective rules |
|
|
105
112
|
| `revdeck checks <N> [--run --yes]` | project checks |
|
|
106
113
|
| `revdeck export/import <N>` | legacy file exchange |
|
|
@@ -110,6 +117,41 @@ Russian READMEs live in this repository; translation fixes are welcome.
|
|
|
110
117
|
|
|
111
118
|
Common flags: `--json`, `--root`, `--review`, `--platform`, `--project`, `--host`, `--lang ru|en`.
|
|
112
119
|
|
|
120
|
+
## Attachments
|
|
121
|
+
|
|
122
|
+
The UI has an **Attach** button next to reply, finding and line-comment editors; the CLI equivalent is
|
|
123
|
+
`revdeck attach <N> --file shot.png`. The file is uploaded by the daemon on the host, and the editor
|
|
124
|
+
receives a markdown link with an absolute platform URL, so GitLab renders images and videos in the
|
|
125
|
+
original MR. Relative GitLab `/uploads/...` links in existing drafts are rewritten to
|
|
126
|
+
`https://<host>/uploads/...` during the publish preview.
|
|
127
|
+
|
|
128
|
+
GitLab is supported through project uploads (requires a `glab` with `--form` support). GitHub has no
|
|
129
|
+
public attachment API, so the button is disabled there and a link must be pasted manually. Only raster
|
|
130
|
+
images and videos (PNG, JPEG, GIF, WebP, AVIF, MP4, WebM, OGV, MOV) are accepted; SVG and arbitrary
|
|
131
|
+
files are rejected.
|
|
132
|
+
|
|
133
|
+
## Devcontainer
|
|
134
|
+
|
|
135
|
+
The daemon, `glab` and `gh` stay on the host. From the repository root:
|
|
136
|
+
|
|
137
|
+
```bash
|
|
138
|
+
revdeck devcontainer # print the mounts and environment
|
|
139
|
+
revdeck devcontainer --write # merge them into .devcontainer/devcontainer.json
|
|
140
|
+
```
|
|
141
|
+
|
|
142
|
+
The command mounts the stable host bridge `~/.local/state/revdeck/devcontainer/run` at `/run/revdeck`
|
|
143
|
+
(socket) and `~/.local/state/revdeck/devcontainer/state` at `/var/lib/revdeck` (read-only
|
|
144
|
+
`daemon.json`), and sets `REVDECK_RUNTIME_DIR`, `REVDECK_STATE_DIR`, `REVDECK_DEV_CONTAINER=1` and
|
|
145
|
+
`REVDECK_UI_HOST`. The JSON uses `${localEnv:HOME}${localEnv:USERPROFILE}` instead of an absolute
|
|
146
|
+
home path, so the same `.devcontainer/devcontainer.json` works for every developer. Comments and
|
|
147
|
+
foreign keys in an existing JSONC file are preserved.
|
|
148
|
+
|
|
149
|
+
The daemon creates the bridge socket on startup, so on the host run `revdeck daemon restart`, then
|
|
150
|
+
rebuild the container. Inside the container revdeck never starts a local daemon, so `gh`/`glab` are
|
|
151
|
+
never invoked there; if the host socket is missing it fails with a clear `DEVCONTAINER` error.
|
|
152
|
+
`revdeck doctor` is aware of this mode. For the UI from the container, start the host daemon with
|
|
153
|
+
`revdeck daemon start --host 0.0.0.0`.
|
|
154
|
+
|
|
113
155
|
## MCP
|
|
114
156
|
|
|
115
157
|
```json
|
|
@@ -175,7 +217,7 @@ found. Full schema: [docs/configuration.md](docs/configuration.md).
|
|
|
175
217
|
- `glab`/`gh` run without a shell, with `cwd` outside the working copy and a scrubbed environment;
|
|
176
218
|
secrets are redacted from logs and errors.
|
|
177
219
|
- Comments are checked for GitLab quick actions, HTML, hidden/bidi characters, mass mentions and
|
|
178
|
-
external images.
|
|
220
|
+
external images (only uploads from the platform host are allowed).
|
|
179
221
|
- Review text is untrusted data; agent instructions say so explicitly.
|
|
180
222
|
|
|
181
223
|
Details: [docs/threat-model.md](docs/threat-model.md). The guarantee is: the token does not cross the
|
|
@@ -192,7 +234,7 @@ read the CLI configuration — isolate the agent.
|
|
|
192
234
|
| `src/cli` | commands, `init`, `doctor`, export/import |
|
|
193
235
|
| `src/mcp` | MCP server over stdio |
|
|
194
236
|
| `ui` | Svelte 5 + Vite |
|
|
195
|
-
| `skills/revdeck` | review procedures (SKILL, Review, Feedback, Criteria, Rules, Sources) |
|
|
237
|
+
| `skills/revdeck` | review procedures (SKILL, Review, Feedback, Criteria, Rules, Sources, `agents/openai.yaml`) |
|
|
196
238
|
|
|
197
239
|
More: [docs/architecture.md](docs/architecture.md), [docs/protocol.md](docs/protocol.md),
|
|
198
240
|
[ADR-0001](docs/adr/0001-daemon-first.md).
|
|
@@ -216,7 +258,9 @@ Provider tests use recorded CLI responses and need no network. See [CONTRIBUTING
|
|
|
216
258
|
used yet, though the provider interface is ready.
|
|
217
259
|
- Project checks are planned by the agent; running them requires `revdeck checks --run --yes`.
|
|
218
260
|
- The UI does not open a new review by number; use the CLI and the review appears in the list.
|
|
219
|
-
- Thread resolution is in the thread card; reactions
|
|
261
|
+
- Thread resolution is in the thread card; reactions are available on thread notes in the UI and through
|
|
262
|
+
`revdeck react`.
|
|
263
|
+
- GitHub has no public attachment API: the Attach button is disabled there; uploads work in GitLab.
|
|
220
264
|
- Auto-start is supported on Linux and macOS; on Windows run the daemon manually.
|
|
221
265
|
|
|
222
266
|
## License
|
package/README.ru.md
CHANGED
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
- **Токены не уезжают агенту.** Демон вызывает `glab`/`gh` на хосте и вычищает токены из окружения
|
|
26
26
|
дочерних процессов. Агент в песочнице получает только RPC и не видит ни токена, ни конфигурации
|
|
27
27
|
платформы.
|
|
28
|
-
- **GitLab и GitHub.** Одна модель: MR/PR, треды, diff, резолв, реакции, комментарии к
|
|
28
|
+
- **GitLab и GitHub.** Одна модель: MR/PR, треды, diff, резолв, реакции, комментарии к строкам, вложения.
|
|
29
29
|
- **Несколько ревью.** Демон хранит открытые ревью в SQLite; UI — очередь с поиском и горячими
|
|
30
30
|
клавишами.
|
|
31
31
|
|
|
@@ -51,7 +51,10 @@ revdeck ui # ссылка на локальный интерфейс
|
|
|
51
51
|
```
|
|
52
52
|
|
|
53
53
|
`revdeck init` не перезаписывает существующий конфиг без `--force` и не трогает чужие ключи в
|
|
54
|
-
`.mcp.json`.
|
|
54
|
+
`.mcp.json`. Обратная операция — `revdeck eject`: удаляет конфиг, установленные скиллы и файлы команд,
|
|
55
|
+
запись `revdeck` в MCP и локальный кеш `.revdeck/`, не трогая чужие файлы и другие MCP-серверы. По
|
|
56
|
+
умолчанию команда только показывает план; применить — с `--yes` (`--keep-config` оставляет
|
|
57
|
+
`.revdeck.yml`). Автозапуск демона при входе в систему — `revdeck daemon install`: создаёт systemd user unit
|
|
55
58
|
(Linux) или launchd plist (macOS) и печатает команду включения. Для автозапуска ставьте пакет глобально:
|
|
56
59
|
путь в кеше `npx` может быть очищен.
|
|
57
60
|
|
|
@@ -77,6 +80,8 @@ revdeck ui # ссылка на локальный интерфейс
|
|
|
77
80
|
| Команда | Что делает |
|
|
78
81
|
|---|---|
|
|
79
82
|
| `revdeck init` | конфиг, адаптеры, MCP |
|
|
83
|
+
| `revdeck eject [--yes]` | удалить конфиг, адаптеры и MCP-запись revdeck |
|
|
84
|
+
| `revdeck devcontainer [--write]` | смонтировать сокет/state демона хоста в devcontainer |
|
|
80
85
|
| `revdeck doctor` | окружение, `glab`/`gh`, демон, адаптеры |
|
|
81
86
|
| `revdeck list [--remote]` | локальные или открытые на платформе ревью |
|
|
82
87
|
| `revdeck open <N│URL>` | загрузить ревью |
|
|
@@ -87,6 +92,8 @@ revdeck ui # ссылка на локальный интерфейс
|
|
|
87
92
|
| `revdeck reply <N> --thread <id> --body …` | черновик ответа |
|
|
88
93
|
| `revdeck publish <N> [--yes]` | план или публикация после подтверждения |
|
|
89
94
|
| `revdeck notes <N> …` | комментарии человека к строкам |
|
|
95
|
+
| `revdeck react <N> --note <id> --emoji <name>` | поставить или снять реакцию на комментарий платформы |
|
|
96
|
+
| `revdeck attach <N> --file <картинка-или-видео>` | загрузить вложение и вывести markdown-ссылку |
|
|
90
97
|
| `revdeck rules [--explain <path>]` | эффективные правила |
|
|
91
98
|
| `revdeck checks <N> [--run --yes]` | проверки проекта |
|
|
92
99
|
| `revdeck export/import <N>` | обмен с файловым форматом |
|
|
@@ -96,6 +103,41 @@ revdeck ui # ссылка на локальный интерфейс
|
|
|
96
103
|
|
|
97
104
|
Общие флаги: `--json`, `--root`, `--review`, `--platform`, `--project`, `--host`, `--lang ru|en`.
|
|
98
105
|
|
|
106
|
+
## Вложения
|
|
107
|
+
|
|
108
|
+
В UI рядом с редакторами ответа, замечания и комментария к строке есть кнопка **Прикрепить**; в CLI —
|
|
109
|
+
`revdeck attach <N> --file shot.png`. Файл загружает демон на хосте, а в редактор попадает
|
|
110
|
+
markdown-ссылка с абсолютным URL платформы, поэтому GitLab показывает картинки и видео в исходном MR.
|
|
111
|
+
Относительные ссылки GitLab `/uploads/...` в уже написанных черновиках при предпросмотре публикации
|
|
112
|
+
переписываются в `https://<host>/uploads/...`.
|
|
113
|
+
|
|
114
|
+
GitLab поддержан через project uploads (нужен `glab` с поддержкой `--form`). У GitHub нет публичного
|
|
115
|
+
API загрузки вложений, поэтому кнопка там отключена, а ссылку нужно вставить вручную. Принимаются
|
|
116
|
+
только растровые картинки и видео (PNG, JPEG, GIF, WebP, AVIF, MP4, WebM, OGV, MOV); SVG и
|
|
117
|
+
произвольные файлы отклоняются.
|
|
118
|
+
|
|
119
|
+
## Devcontainer
|
|
120
|
+
|
|
121
|
+
Демон, `glab` и `gh` остаются на хосте. Из корня репозитория:
|
|
122
|
+
|
|
123
|
+
```bash
|
|
124
|
+
revdeck devcontainer # показать mounts и окружение
|
|
125
|
+
revdeck devcontainer --write # добавить их в .devcontainer/devcontainer.json
|
|
126
|
+
```
|
|
127
|
+
|
|
128
|
+
Команда монтирует стабильный мост хоста `~/.local/state/revdeck/devcontainer/run` в `/run/revdeck`
|
|
129
|
+
(сокет) и `~/.local/state/revdeck/devcontainer/state` в `/var/lib/revdeck` (только чтение,
|
|
130
|
+
`daemon.json`) и выставляет `REVDECK_RUNTIME_DIR`, `REVDECK_STATE_DIR`, `REVDECK_DEV_CONTAINER=1` и
|
|
131
|
+
`REVDECK_UI_HOST`. В JSON пишется `${localEnv:HOME}${localEnv:USERPROFILE}`, а не абсолютный домашний
|
|
132
|
+
путь, поэтому один `.devcontainer/devcontainer.json` работает у всех разработчиков. Комментарии и
|
|
133
|
+
чужие ключи в существующем JSONC сохраняются.
|
|
134
|
+
|
|
135
|
+
Демон создаёт сокет моста при старте: на хосте выполните `revdeck daemon restart`, затем пересоберите
|
|
136
|
+
контейнер. В контейнере revdeck никогда не запускает свой демон, поэтому `gh`/`glab` там не
|
|
137
|
+
вызываются; если сокет хоста недоступен, команда падает с понятной ошибкой `DEVCONTAINER`.
|
|
138
|
+
`revdeck doctor` знает об этом режиме. Для UI из контейнера запустите демон на хосте с
|
|
139
|
+
`revdeck daemon start --host 0.0.0.0`.
|
|
140
|
+
|
|
99
141
|
## MCP
|
|
100
142
|
|
|
101
143
|
```json
|
|
@@ -162,7 +204,7 @@ revdeck ищет `AGENTS.md`, `CLAUDE.md`, `CONTRIBUTING.md` и `docs/*` и пр
|
|
|
162
204
|
- `glab`/`gh` вызываются без shell, с `cwd` вне рабочей копии и вычищенным окружением; секреты
|
|
163
205
|
редактируются в логах и ошибках.
|
|
164
206
|
- Комментарии проверяются на быстрые команды GitLab, HTML, скрытые/bidi-символы, `@all` и внешние
|
|
165
|
-
|
|
207
|
+
внешние картинки (разрешены только загрузки с хоста платформы).
|
|
166
208
|
- Текст MR — недоверенные данные; агентские инструкции это оговаривают.
|
|
167
209
|
|
|
168
210
|
Подробно: [docs/ru/threat-model.md](docs/ru/threat-model.md). Гарантия формулируется так: токен не
|
|
@@ -179,7 +221,7 @@ revdeck ищет `AGENTS.md`, `CLAUDE.md`, `CONTRIBUTING.md` и `docs/*` и пр
|
|
|
179
221
|
| `src/cli` | команды, `init`, `doctor`, экспорт/импорт |
|
|
180
222
|
| `src/mcp` | MCP-сервер (stdio) |
|
|
181
223
|
| `ui` | Svelte 5 + Vite |
|
|
182
|
-
| `skills/revdeck` | процедуры ревью (SKILL, Review, Feedback, Criteria, Rules, Sources) |
|
|
224
|
+
| `skills/revdeck` | процедуры ревью (SKILL, Review, Feedback, Criteria, Rules, Sources, `agents/openai.yaml`) |
|
|
183
225
|
|
|
184
226
|
Подробно: [docs/ru/architecture.md](docs/ru/architecture.md), [docs/ru/protocol.md](docs/ru/protocol.md),
|
|
185
227
|
[ADR-0001](docs/ru/adr/0001-daemon-first.md).
|
|
@@ -202,7 +244,10 @@ npm run build # dist/cli.js, dist/daemon.js, dist/mcp.js, dist/ui
|
|
|
202
244
|
ещё не используются, хотя провайдеры к этому готовы.
|
|
203
245
|
- Проверки проекта агент только планирует; запуск — `revdeck checks --run --yes`.
|
|
204
246
|
- UI не открывает новое ревью по номеру: это делает CLI, ревью появляется в списке.
|
|
205
|
-
- Резолв тредов есть в карточке треда; реакции
|
|
247
|
+
- Резолв тредов есть в карточке треда; реакции доступны на комментариях тредов в UI и через
|
|
248
|
+
`revdeck react`.
|
|
249
|
+
- У GitHub нет публичного API загрузки вложений: кнопка «Прикрепить» там отключена; загрузка работает
|
|
250
|
+
в GitLab.
|
|
206
251
|
- Поддержаны Linux и macOS для автозапуска; Windows — запуск вручную.
|
|
207
252
|
|
|
208
253
|
## Лицензия
|