Разделение: copilot-instructions.md (правила) + DEVELOPMENT.md (порядок правок)
Deploy drhider / validate (push) Waiting to run

This commit is contained in:
2026-07-12 08:43:42 +04:00
parent cc2f627de2
commit 4c3f9d4e49
2 changed files with 129 additions and 97 deletions
+25 -97
View File
@@ -1,120 +1,48 @@
# ⛔ ПРАВИЛА ДЛЯ COPILOT — ПРОЕКТ DRHIDER
# ⛔ ПРАВИЛА ДЛЯ COPILOT — DRHIDER
Читать перед ЛЮБЫМ действием. Нарушение = зря потраченное время.
Читать перед ЛЮБЫМ действием.
---
## ⛔⛔⛔ ЗОЛОТОЕ ПРАВИЛО
## ⛔⛔⛔ НИЧЕГО НЕ ДЕЛАТЬ БЕЗ «ДЕЛАЙ»
**НИКОГДА НИЧЕГО НЕ ДЕЛАТЬ БЕЗ ЯВНОЙ КОМАНДЫ «ДЕЛАЙ».**
Любой вопрос, обсуждение, анализ — НЕ повод менять код.
Любой вопрос, обсуждение, анализ — **НЕ повод менять код.**
Только после явного: «делай», «делайте», «давай», «приступай», «пушить», «commit», «push».
---
## ⛔⛔⛔ НЕ МЕНЯТЬ КОД БЕЗ РАЗРЕШЕНИЯ
## ⛔⛔⛔ НЕ МЕНЯТЬ КОД БЕЗ «ДЕЛАЙ»
Даже если ошибка очевидна. Даже если «исправление в одну строку».
**Показать проблему → описать решение → ЖДАТЬ «делай».**
---
## ⛔⛔⛔ НЕ СМОТРЕТЬ ЛОКАЛЬНЫЕ ПАПКИ CONTRACTS
Весь старый код drhider — ТОЛЬКО на ВМ (`5.172.178.213` через SSH).
**НЕ лезть** в `/home/naeel/nubes/contracts/`, `contracts-flask/` и т.д.
Единственное исключение: `/home/naeel/nubes/loadtest/` (образец managed Flask).
---
Даже если ошибка очевидна. **Показать → описать → ЖДАТЬ.**
## ⛔⛔⛔ НЕ СПЕШИТЬ
Сначала ВСЁ обдумать. Проверить. Перепроверить. Только потом отвечать.
Спешка → ошибки → проблемы.
---
Обдумать. Проверить. Перепроверить. Только потом отвечать.
## ⛔⛔⛔ НЕ ПРЕДПОЛАГАТЬ, НЕ ДОГАДЫВАТЬСЯ
Есть сомнения — **ОСТАНОВИТЬСЯ И СПРОСИТЬ**.
Не надо самостоятельно «улучшать» рабочий код без прямого разрешения.
Сомневаешься — **ОСТАНОВИСЬ И СПРОСИ.**
## ⛔⛔⛔ НЕ ЛЕЗТЬ В ЛОКАЛЬНЫЕ ПАПКИ CONTRACTS
Код drhider — на ВМ (`5.172.178.213` через SSH). Исключение: `/home/naeel/nubes/loadtest/`.
---
## ⛔⛔⛔ КОМАНДЫ В ТЕРМИНАЛЕ — С ТАЙМАУТАМИ
## 📋 Что есть в проекте
- `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` |
| Меняешь код? | [`DEVELOPMENT.md`](DEVELOPMENT.md) — полный порядок действий |
| Архитектура? | [`ARCHITECTURE.md`](ARCHITECTURE.md) — схема, модули, поток данных |
| Деплой/ВМ/env? | [`DEPLOY.md`](DEPLOY.md) — всё про окружение |
| Обзор проекта? | [`README.md`](README.md) — структура, API, правила |
| История изменений? | [`History/`](History/) — что когда и зачем делалось |
---
## ⛔ ЗАПРЕЩЕНО
## 📋 Быстрая справка
1. Менять код без «делай»
2. Смотреть локальные папки contracts/
3. Действовать по догадкам («я бы сделал так», «можно попробовать»)
4. Удалять файлы/папки без разрешения
5. Использовать sed
6. Откладывать commit/push «на потом»
7. Игнорировать проверку синтаксиса перед push
- Платформа: **Штурвал** (Managed Flask, без Dockerfile/gunicorn)
- URL: https://drhider.pythonk8s.dev.nubes.ru/
- БД: **нет**, всё в памяти
- Дизайн фронтенда: `/home/naeel/nubes/design/`
- ВМ (legacy): `ssh -i ~/.ssh/naeel_vm_id_ed25519 naeel@5.172.178.213`