121 lines
4.5 KiB
Markdown
121 lines
4.5 KiB
Markdown
# ⛔ ПРАВИЛА ДЛЯ 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
|