# Правила работы агента ## Документация - `doc/thinking/` — лог рассуждений агента (обязательно) - `doc/progress.md` — трекер задач - Старые файлы `doc/` не перезаписывать — новое в новых файлах с датой ## Git - Коммитить и пушить после каждого завершённого этапа - **Синхронизация: `git pull` (НЕ `reset --hard`).** `reset --hard` стирает локальные правки. Для синхронизации после пуша — только `git pull`. - **⛔ .gitignore — ДО генерации:** генераторы по сервисам (`yaml-generator`, `resource-generator`, `docs-generator` в `TOOLS/bin/`) создают файлы в папках-приёмниках. Эти папки-приёмники — СРАЗУ добавлять в `.gitignore`, ДО запуска генераторов. НЕ после. Что именно: `resources_yaml/`, `resources_gen/`, `generated/`, `docs/30_registry/resources/` и любые новые. - **Аудит при старте:** перед началом работы — `git ls-files` на сгенерированное, сверить с `.gitignore` - **⛔ Симлинки запрещены.** Никаких `ln -s`. Разные стенды — разные файлы. Общий код — через импорты, не через симлинки. ## Поведение агента - **⛔ СНАЧАЛА АНАЛИЗ — ПОТОМ ДЕЙСТВИЕ.** Перед ЛЮБЫМ действием: прочитать связанные файлы, понять архитектуру, проверить зависимости. НЕ запускать скрипты/сборки не поняв что они делают и что им нужно. - Не трогать рабочий код без явного указания - Не делать ничего сверх того, о чём явно попросили - Деструктивные операции (`kubectl delete`, `rm -rf`, `terraform destroy` и др.) — только после явного подтверждения с указанием конкретных объектов - **⛔ НИКОГДА без прямого приказа:** `git reset --hard`, `git push --force`, `rm -rf`, нестандартные флаги, обход скриптов — только после явного «делай» с указанием конкретной команды. ## Билд провайдера (TEST) Порядок на ВМ (`5.172.178.213`): ```bash cd /home/naeel/tf_provider ./TOOLS/scripts/03_build_and_upload_provider.sh --profile TOOLS/config/test ``` Скрипт сам: копирует generated Go + YAML во временную папку, собирает linux/windows/darwin, подписывает GPG, заливает в S3. НЕ вызывать `build-provider.sh` напрямую — он не читает `profile.env`.