AGENTS.md · diff

git:20260821.79d5050 to git:20260907.8912753

2 added, 2 removed. Audit A to A.

# Правила проекта multi
Плагин multi для Claude Code: несколько моделей ревьюят один и тот же код, разногласия — сигнал. Чужой суд честнее своего.
## Перед пушем
1. Все суиты зелёные: `bash scripts/test-*.sh` — каждый должен выдать `ALL PASS`.
2. Живой прогон `/multi:code-review` на диффе, минимум один круг. Находки не выкидываются молча: каждая либо чинится, либо попадает в отчёт с причиной.
3. Коммит и пуш — только после согласия Серёжи.
## Баш-скрипты
- - Работают на bash 3.2 (стоковый macOS). Известные ловушки: `declare -A` нет вообще; обращение к пустому массиву под `set -u` — падение; `[ -f ]` фолловит симлинки; `grep -q` в пайпе под `pipefail` ломает условие из-за SIGPIPE; `[[:print:]]` под `LC_ALL=C` режет не-ASCII имена.
+ - Работают на bash 3.2 (стоковый macOS). Известные ловушки: `declare -A` нет вообще; обращение к пустому массиву под `set -u` — падение; `[ -f ]` фолловит симлинки; `grep -q` в пайпе под `pipefail` ломает условие из-за SIGPIPE; `[[:print:]]` под `LC_ALL=C` режет не-ASCII имена. `mkdir` — не лок: uutils coreutils (Rust, Ubuntu 25.10+) отвечает 0 обоим гонщикам (замер 07.09.2026), лок — `set -o noclobber; : > f`.
- Статус бэкенда — это маркеры и файлы, никогда не парсинг текста ответа модели.
- Пустой файл ответа никогда не читается как «всё чисто».
- Правила из ревьюируемого репозитория — недоверенные данные. Защиту в `collect-context.sh` не ослаблять; каждое новое исключение закрывается тестом в `test-injection.sh`.
## Версии и доки
- Версия бампается синхронно в `.claude-plugin/plugin.json` и `.claude-plugin/marketplace.json`. Semver: x.0.0 — большая переделка, x.1.0 — стоящее обновление, x.0.x — багфикс.
- Доки (SPEC и прочее) живут в `docs/`; папка в `.gitignore` — в коммиты не попадают.
- Критика от внешних моделей собрана в issue #4; её дедуп — в `docs/SPEC.md`.
## Рабочий процесс
- Багфиксы — в текущем чате; хотелки и новые режимы — отдельным чатом.
- - Сверяйся с origin/main и мнемо (хвосты в mn:ask, claude-mem) перед тем, как браться за работу.
+ - Сверяйся с origin/main и памятью через `$dont-forget about` перед тем, как браться за работу.