perf: copilot-instructions 106→25 строк (4× экономия токенов для Opus/Fable)
This commit is contained in:
@@ -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 после записи.
|
||||
|
||||
Reference in New Issue
Block a user