# Repository Guidelines

## Область действия
Этот файл действует для `rest1c/` и имеет приоритет над корневым `AGENTS.md`. `rest1c/` — subtree репозитория `Rest1C-API`; работа начинается с `develop`, после чего изменения при необходимости проходят через subtree-синхронизацию.

## Локальные правила
Основной стек — PHP c PHPUnit, CLI-командами и интеграционными скриптами. Код в `src/`, `tools/`, `scripts/`, `tests/` и связанных runtime-конфигах должен меняться только в рамках явной задачи. Generated API docs, runtime-логи и служебные артефакты не редактируются вручную: их нужно перегенерировать.
Если runtime-код `rest1c` расходится с подтверждённым контрактом 1С, apidoc, task/ADR или прямым указанием владельца, это нужно трактовать как дефект интеграции. Нельзя объяснять такое поведение как допустимое legacy-отклонение без явного решения владельца; по умолчанию нужно править код под контракт и фиксировать это в задаче.

## Обязательные проверки
Минимальный validation path зависит от области изменения:
- `composer test` в `rest1c/`, если меняется PHP-логика;
- `npm --prefix rest1c run apidoc:build`, если меняются публичные endpoint-контракты или apidoc-комментарии;
- smoke целевого endpoint, CLI или sync-сценария, если задача затрагивает обмены, импорт, очереди или version/health flow.
После любого `push` в `Rest1C-API` или публикации subtree-изменений в `develop` нужно сразу проверить статус релевантных GitHub Actions и зафиксировать его в отчёте той же задачи. Откладывать проверку CI на следующий шаг нельзя.

## Безопасность выполнения
Для sync, import, queue и repair-операций сначала убедитесь, что шаги и риски описаны в `Task` или `ADR`. Не запускайте destructive или production-impacting действия без прямого указания. Не создавайте временные файлы внутри репозитория; используйте `/tmp/`.
