---
name: vrunner-env-install
description: Установка OScript-модулей проекта (gitsync, vanessa-automation-single, vanessa-runner) через opm
---

# Навык: Установка OScript-модулей проекта (vrunner-env-install)

## Назначение

Оборачивает задачу VS Code «Установить модули OScript» из
[.vscode/tasks.json](../../../.vscode/tasks.json): скрипт
[script/vrunner_env_install.os](script/vrunner_env_install.os) выполняет
`opm install -l add gitsync vanessa-automation-single vanessa-runner@SNAPSHOT`
— разворачивает в локальный каталог проекта `./oscript_modules` набор
модулей, от которых зависят все остальные `vrunner-*` навыки (в том числе
сам `vrunner.bat`).

Особенность семейства: это ЕДИНСТВЕННЫЙ навык, использующий ГЛОБАЛЬНЫЙ
`opm` из PATH, а не локальный vrunner — именно `opm` и создаёт локальные
модули проекта (иначе возникла бы проблема «курицы и яйца»).

## Когда применять

- Первичная настройка окружения проекта: локальный vrunner ещё не установлен
  (`./oscript_modules/bin/vrunner.bat` отсутствует) и другие `vrunner-*`
  навыки не работают.
- Пользователь просит установить/переустановить/обновить модули окружения.
- Вызвана команда `/vrunner-env-install`.

## Обязательный диалог перед запуском скрипта

Параметры не требуются — состав модулей фиксирован задачей из tasks.json.
Спрашивать ничего не нужно. Стоит лишь предупредить пользователя, что
операция обращается в сеть (репозиторий пакетов OneScript) и может занять
время.

## Запуск

Из корня репозитория (предпочтительно через PowerShell):

```
oscript .claude/skills/vrunner-env-install/script/vrunner_env_install.os
```

## Что делает скрипт

1. Определяет корень репозитория.
2. Выполняет `opm install -l add gitsync vanessa-automation-single
   vanessa-runner@SNAPSHOT` (флаг `-l` — установка в локальный
   `./oscript_modules`) и печатает вывод `opm` как есть.

## Интерпретация результатов

- **Exit code 0** — модули установлены в `./oscript_modules`; сообщить, что
  теперь доступны остальные `vrunner-*` навыки (тесты, сборка, запуск 1С).
- **Exit code 1** — показать вывод `opm`, диагностировать причину: не найден
  `opm` (не установлен OneScript), нет доступа в сеть к репозиторию пакетов,
  конфликт версий. Предложить решение и повторить после устранения.

## Ограничения

- Использует ГЛОБАЛЬНЫЙ `opm` из PATH — если OneScript/opm не установлен
  в системе, навык не сработает (это базовое требование окружения).
- Требует доступа в интернет к репозиторию пакетов OneScript.
- Наполняет каталог `./oscript_modules` — обычно он в `.gitignore` и не
  коммитится; проверять состав модулей через сам `opm`, а не через git.
