diff --git a/rules/patterns/app-binary/contract.md b/rules/patterns/app-binary/contract.md index 93cec34..631e902 100644 --- a/rules/patterns/app-binary/contract.md +++ b/rules/patterns/app-binary/contract.md @@ -8,6 +8,46 @@ Version: 1.0 --- +## Расположение на хосте + +> Это правило применяется когда ИИ самостоятельно разворачивает приложение или выполняет команды на build-машине (деплой, копирование файлов, запуск сервисов). + +Бинарник приложения размещается в директории: + +``` +/appdata// +``` + +где `` — имя приложения (строчными буквами, без пробелов). + +Пример: приложение `myservice` → `/appdata/myservice/myservice`. + +Все файлы, связанные с конкретным приложением (бинарник, вспомогательные скрипты запуска, `docker-compose.yml`), хранятся внутри этой директории. Конфиг и данные — по правилам секций ниже. + +### Примеры внедрения + +При деплое, копировании файлов или запуске сервисов ИИ **всегда по умолчанию** использует этот путь: + +```bash +# Копирование бинарника +scp bin/myservice user@host:/appdata/myservice/myservice + +# Копирование docker-compose +scp docker-compose.yml user@host:/appdata/myservice/docker-compose.yml + +# Запуск на хосте +ssh user@host "cd /appdata/myservice && docker compose up -d" +``` + +```bash +# Создание директории если не существует +ssh user@host "mkdir -p /appdata/myservice" +``` + +Не предлагать альтернативные пути (`/opt/`, `/usr/local/bin/`, `~/`) — только `/appdata//`. + +--- + ## Бинарник Бинарник самодостаточен — все ресурсы встроены через `//go:embed`: