# ⛔ ПРАВИЛА ПРОЕКТА AUTOTEST ## ⛔ ЗАПРЕТ НА sed .... ПОЛНЫЙ ЗАПРЕТ НА SED Только `replace_string_in_file` или `create_file`. sed не использовать НИКОГДА. НИКОГДА НЕ ИСПОЛЬЗОВАТЬ SED !!!!! ## ⛔⛔⛔ «ГОВОРИ» — ТОЛЬКО ПОНЯТЬ И ЖДАТЬ Если пользователь пишет **«говори»** — это значит: 1. Уяснить что он имел в виду 2. Вывести в чат: ЧТО понял, КАК понял, ПЛАН действий 3. **ЖДАТЬ.** Никаких действий. 4. Только после **«делай»** — приступать. ПРЕЦЕДЕНТ 2026-07-26: пользователь сказал «сначала скажи что понял» — AI должен был только объяснить понимание и ждать. ## ⛔⛔⛔⛔⛔ АБСОЛЮТНЫЙ ЗАПРЕТ НА ЛЮБЫЕ ДЕЙСТВИЯ БЕЗ «ДЕЛАЙ» **НИЧЕГО не делать без явной команды «делай». ВООБЩЕ НИЧЕГО.** Ни писать код, ни править код, ни исправлять ошибки, ни git, ни curl, ни терминал. ТОЛЬКО отвечать на вопросы словами. Всё. ПРЕЦЕДЕНТ 2026-07-25: AI самовольно добавил «все сервисы» в UI без команды. ПРЕЦЕДЕНТ 2026-07-25: AI сказал «исправляю» и полез править без «делай». ## ⛔⛔⛔ НИКОГДА НЕ «УЛУЧШАТЬ» БЕЗ ПРЯМОЙ КОМАНДЫ **Запрещено «заодно улучшить», «раз уж меняю», «добавить заодно» и прочая самодеятельность.** Делать ТОЛЬКО то что прямо сказано. Никаких попутных изменений. ПРЕЦЕДЕНТ 2026-07-25: AI менял отображение инстансов и «заодно» показал все сервисы. ПРЕЦЕДЕНТ 2026-07-25: AI «заодно» добавил кнопку выхода в другом проекте. ## ⛔⛔⛔ БЕЗ «ДЕЛАЙ» — НИЧЕГО НЕ ДЕЛАТЬ Ни кода, ни git, ни терминала, ни curl, ни kubectl. Вообще ничего. Ждать явного «делай», «да», «пушь», «пушить», «коммитить». НЕТ «делай» — НЕТ действий. Только смотреть и отвечать. ## ⛔⛔⛔ ВОПРОС — ТОЛЬКО ОТВЕТ Любой вопрос в любой форме («???», «поясни», «как», «почему», «где») — ТОЛЬКО ОТВЕТ словами. НИКАКИХ действий. НИКАКИХ «делать?», «пуш?», «проверить?». ## ⛔⛔⛔ НИКОГДА НЕ ТОРОПИТЬСЯ Сначала ВСЁ обдумать. Проверить. Перепроверить. Только потом отвечать. ## ⛔⛔⛔ ПРЕДУПРЕЖДАТЬ ОБ ОПАСНОСТИ Если команда может сломать, удалить, изменить состояние сервиса — **СНАЧАЛА предупредить**, потом делать. ПРЕЦЕДЕНТ 2026-07-23: `kubectl delete deploy` вместо API-редеплоя — удалил деплоймент, сервис упал. ## ⛔⛔⛔ НИКОГДА НЕ МЕНЯТЬ КОД БЕЗ РАЗРЕШЕНИЯ Даже если ошибка очевидна. Даже если «исправление в одну строку». Показать проблему → описать решение → ЖДАТЬ «делай». ## ⛔⛔⛔ ПОСЛЕ КАЖДОЙ ПРАВКИ — ПРОВЕРИТЬ ЧТО НИЧЕГО НЕ ИСПОРТИЛ - `python3 -c "import py_compile; py_compile.compile('файл.py', doraise=True)"` — синтаксис Python - `node -c файл.js` — синтаксис JS - `grep -n "def имя_функции" файл.py` — все ли функции на месте - После `replace_string_in_file` — прочитать соседние строки, не затёр ли соседнюю функцию ## ⛔ АБСОЛЮТНЫЕ ПУТИ — ВСЕГДА И ВЕЗДЕ Полные пути от корня ОСНОВНОЙ репы — указывать ВЕЗДЕ, БЕЗ ИСКЛЮЧЕНИЙ: - в документах (`DOCS/`) - в истории (`HISTORY/`) - в выводе в чат - в промптах и планах - в ответах, описаниях, пояснениях - в любой коммуникации с пользователем Отсчёт — от корня ОСНОВНОЙ репы `/home/naeel/nubes/autotest/`. ❌ `STANDS/dev/...` → ✅ `/home/naeel/nubes/autotest/STANDS/dev/...` ❌ `app-autotest/site/...` → ✅ `/home/naeel/nubes/autotest/app-autotest/site/...` ❌ `DOCS/...` → ✅ `/home/naeel/nubes/autotest/DOCS/...` Никаких относительных путей. Только полные, от корня репы. ## ⛔ ВОПРОСЫ ПОЛЬЗОВАТЕЛЮ — ТОЛЬКО ПОЛНЫМ ТЕКСТОМ При любом вопросе пользователю: - **НЕ выводить выбор вариантов** (ни чекбоксы, ни списки опций для выбора, ни «1/2/3» в духе «выбери вариант») - Выводить **полный текст вопросов текстом** — обычным связным текстом. НЕЛЬЗЯ: - «Выберите: [вариант A] / [вариант B] / [вариант C]» - «Какой вариант — 1, 2 или 3?» МОЖНО: - сформулировать вопрос полными предложениями текстом, например: «Нужно уточнить, в какой файл добавлять правило: в AGENTS.md в корне или в copilot-instructions.md в .github?» Вопросы — задавать связно, текстом, без форм выбора. ## ⛔ КОМАНДЫ В ТЕРМИНАЛЕ — С ТАЙМАУТАМИ curl: `--max-time N`, ssh: `-o ConnectTimeout=N`, grep: `timeout N grep ...` ## ⛔ НЕ УБИВАТЬ ПРОЦЕССЫ Только показать команду и спросить «выполнить?». ## ✅ КОММИТ + ПУШ ПОСЛЕ КАЖДОЙ ПРАВКИ После ЛЮБОГО изменения — сразу git add + commit + push. Не откладывать. ## 📝 ДОКУМЕНТИРОВАТЬ ВСЁ В HISTORY Всё что обсуждаем и делаем — записывать в `/home/naeel/nubes/autotest/HISTORY/`. Формат: `YYYY-MM-DD-session-N.md`. Одна запись на сессию. После каждой записи — commit + push. ## 🗂️ СТРУКТУРА ПРОЕКТА - `STANDS/dev/resources_yaml/` — YAML-файлы сервисов (dev) - `STANDS/test/resources_yaml/` — YAML-файлы сервисов (test) - `DOCS/` — документация - `HISTORY/` — история изменений - `secrets/` — игнорируется git (токены, ключи)