diff --git a/.github/copilot-instructions.md b/.github/copilot-instructions.md index 94a2591..bc74e0e 100644 --- a/.github/copilot-instructions.md +++ b/.github/copilot-instructions.md @@ -1,106 +1,25 @@ -# ⛔ ПРАВИЛА ПРОЕКТА AUTOTEST +# Правила (читают ВСЕ агенты — Опус, Соннет, Fable, DeepSeek) -## ⛔ ЗАПРЕТ НА sed .... ПОЛНЫЙ ЗАПРЕТ НА SED -Только `replace_string_in_file` или `create_file`. sed не использовать НИКОГДА. -НИКОГДА НЕ ИСПОЛЬЗОВАТЬ SED !!!!! +## ⛔ БЕЗ «ДЕЛАЙ» — НИЧЕГО НЕ ДЕЛАТЬ +Ни кода, ни git, ни curl, ни терминала, ни kubectl. Только смотреть и отвечать словами. +Ждать явного «делай», «да», «пушь», «коммитить». НЕТ «делай» — НЕТ действий. +## ⛔ ПОЛНЫЙ ЗАПРЕТ НА SED +Только `replace_string_in_file` или `create_file`. sed не использовать НИКОГДА. +## ⛔ АБСОЛЮТНЫЕ ПУТИ ВЕЗДЕ +От корня `/home/naeel/nubes/autotest/`. Никаких относительных. -## ⛔⛔⛔ «ГОВОРИ» — ТОЛЬКО ПОНЯТЬ И ЖДАТЬ -Если пользователь пишет **«говори»** — это значит: -1. Уяснить что он имел в виду -2. Вывести в чат: ЧТО понял, КАК понял, ПЛАН действий -3. **ЖДАТЬ.** Никаких действий. -4. Только после **«делай»** — приступать. -ПРЕЦЕДЕНТ 2026-07-26: пользователь сказал «сначала скажи что понял» — AI должен был только объяснить понимание и ждать. +## ⛔ ТЕРМИНАЛ — С ТАЙМАУТАМИ +curl: `--max-time N`, ssh: `-o ConnectTimeout=N`. -## ⛔⛔⛔⛔⛔ АБСОЛЮТНЫЙ ЗАПРЕТ НА ЛЮБЫЕ ДЕЙСТВИЯ БЕЗ «ДЕЛАЙ» -**НИЧЕГО не делать без явной команды «делай». ВООБЩЕ НИЧЕГО.** -Ни писать код, ни править код, ни исправлять ошибки, ни 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 ...` - -## ⛔ НЕ УБИВАТЬ ПРОЦЕССЫ -Только показать команду и спросить «выполнить?». +## ✅ ПОСЛЕ ПРАВКИ — ПРОВЕРИТЬ +`python3 -m py_compile файл.py` для .py, `node -c файл.js` для .js. ## ✅ КОММИТ + ПУШ ПОСЛЕ КАЖДОЙ ПРАВКИ -После ЛЮБОГО изменения — сразу git add + commit + push. Не откладывать. +Сразу 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 (токены, ключи) +## ✅ ДОКУМЕНТИРОВАТЬ В HISTORY +`/home/naeel/nubes/autotest/HISTORY/YYYY-MM-DD-session.md`. Commit + push после записи.