4.5 KiB
⛔ ПРАВИЛА ДЛЯ 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 Nssh:-o ConnectTimeout=Ngrepна больших файлах:timeout N grep ...
✅ ПОСЛЕ КАЖДОЙ ПРАВКИ
- Проверить синтаксис:
python3 -c "import py_compile; py_compile.compile('файл.py', doraise=True)" - Проверить импорт работает:
cd /home/naeel/nubes/drhider && python3 -c "from drhider import obfuscate_files, LLMClient" - Проверить соседние функции не затёрты (после replace_string_in_file)
- СРАЗУ commit + push с подробным сообщением
✅ КОММИТИТЬ + ПУШИТЬ ПОСЛЕ КАЖДОЙ ПРАВКИ
Без исключений. Никаких «потом», никаких накоплений.
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 |
⛔ ЗАПРЕЩЕНО
- Менять код без «делай»
- Смотреть локальные папки contracts/
- Действовать по догадкам («я бы сделал так», «можно попробовать»)
- Удалять файлы/папки без разрешения
- Использовать sed
- Откладывать commit/push «на потом»
- Игнорировать проверку синтаксиса перед push