From c73ece6c7ca04336b05e2824f3fa47c1517fc6a4 Mon Sep 17 00:00:00 2001 From: Michael Chus Date: Thu, 5 Mar 2026 14:07:54 +0300 Subject: [PATCH] feat(app-binary): add host deployment path convention /appdata/ Co-Authored-By: Claude Sonnet 4.6 --- rules/patterns/app-binary/contract.md | 40 +++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) 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`: