# ⛔ ПРАВИЛА ДЛЯ COPILOT — ПРОЕКТ DRHIDER Читать перед ЛЮБЫМ действием. Нарушение = зря потраченное время. --- ## ⛔⛔⛔ ЗОЛОТОЕ ПРАВИЛО **НИКОГДА НИЧЕГО НЕ ДЕЛАТЬ БЕЗ ЯВНОЙ КОМАНДЫ «ДЕЛАЙ».** Любой вопрос, обсуждение, анализ — НЕ повод менять код. Только после явного: «делай», «делайте», «давай», «приступай», «пушить», «commit», «push». --- ## ⛔⛔⛔ НЕ МЕНЯТЬ КОД БЕЗ «ДЕЛАЙ» Даже если ошибка очевидна. Даже если «исправление в одну строку». **Показать проблему → описать решение → ЖДАТЬ «делай».** --- ## ⛔⛔⛔ НЕ СМОТРЕТЬ ЛОКАЛЬНЫЕ ПАПКИ CONTRACTS Весь старый код drhider — ТОЛЬКО на ВМ (`5.172.178.213` через SSH). **НЕ лезть** в `/home/naeel/nubes/contracts/`, `contracts-flask/` и т.д. Единственное исключение: `/home/naeel/nubes/loadtest/` (образец managed Flask). --- ## ⛔⛔⛔ НЕ СПЕШИТЬ Сначала ВСЁ обдумать. Проверить. Перепроверить. Только потом отвечать. Спешка → ошибки → проблемы. --- ## ⛔⛔⛔ НЕ ПРЕДПОЛАГАТЬ, НЕ ДОГАДЫВАТЬСЯ Есть сомнения — **ОСТАНОВИТЬСЯ И СПРОСИТЬ**. Не надо самостоятельно «улучшать» рабочий код без прямого разрешения. --- ## ⛔⛔⛔ КОМАНДЫ В ТЕРМИНАЛЕ — С ТАЙМАУТАМИ - `curl`: `--max-time N` - `ssh`: `-o ConnectTimeout=N` - `grep` на больших файлах: `timeout N grep ...` --- ## ✅ ПОСЛЕ КАЖДОЙ ПРАВКИ 1. **Проверить синтаксис:** ```bash python3 -c "import py_compile; py_compile.compile('файл.py', doraise=True)" ``` 2. **Проверить импорт работает:** ```bash cd /home/naeel/nubes/drhider && python3 -c "from drhider import obfuscate_files, LLMClient" ``` 3. **Проверить соседние функции не затёрты** (после replace_string_in_file) 4. **СРАЗУ commit + push** с подробным сообщением --- ## ✅ КОММИТИТЬ + ПУШИТЬ ПОСЛЕ КАЖДОЙ ПРАВКИ Без исключений. Никаких «потом», никаких накоплений. ```bash git add -A git commit -m "подробное описание что сделано" git push ``` --- ## ✅ ДОКУМЕНТИРОВАТЬ ВСЁ В History/ Каждое изменение, план, ошибку — в `/home/naeel/nubes/drhider/History/`: - Отдельный `.md` файл на каждую сессию/задачу - Что планировалось → что сделано → в чём ошибся --- ## 📋 ПРОЕКТ DRHIDER — КЛЮЧЕВЫЕ ФАКТЫ | Факт | Значение | |---|---| | Платформа | **Штурвал** (Managed Flask на pythonk8s) | | URL | https://drhider.pythonk8s.dev.nubes.ru/ | | Репозиторий | https://gitea.services.ngcloud.ru/Nail/drhider | | Точка входа | `site/app.py` → `app = create_app()` | | БД | **НЕТ** (всё в памяти) | | Dockerfile | **НЕТ** (Штурвал сам запускает Flask) | | gunicorn | **НЕТ** (Штурвал сам) | | Зависимости | `flask`, `python-docx`, `pdfplumber`, `httpx` | | ВМ (legacy) | `5.172.178.213`, ssh-ключ `~/.ssh/naeel_vm_id_ed25519` | ### Переменные окружения | Переменная | Значение | |---|---| | `LLM_API_KEY` | `sk-ucI5YvOticoOQ9Kuj5K9mQ` | | `LLM_URL` | `https://api.aillm.ru/v1/chat/completions` | | `LLM_MODEL` | `gpt-oss-120b` | --- ## ⛔ ЗАПРЕЩЕНО 1. Менять код без «делай» 2. Смотреть локальные папки contracts/ 3. Действовать по догадкам («я бы сделал так», «можно попробовать») 4. Удалять файлы/папки без разрешения 5. Использовать sed 6. Откладывать commit/push «на потом» 7. Игнорировать проверку синтаксиса перед push