papayu/docs/РЕКОМЕНДАЦИИ_ОБЪЕДИНЕНИЕ_ПАПОК.md
Yuriy e76236dc55 Initial commit: papa-yu v2.4.4
- Schema version (x_schema_version, schema_hash) в prompt/trace
- Кеш read/search/logs/env (ContextCache) в plan-цикле
- Контекст-диета: MAX_FILES=8, MAX_FILE_CHARS=20k, MAX_TOTAL_CHARS=120k
- Plan→Apply двухфазность, NO_CHANGES, path sanitization
- Protected paths, content validation, EOL normalization
- Trace (PAPAYU_TRACE), redaction (PAPAYU_TRACE_RAW)
- Preview diff, undo/redo, transactional apply

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-01-31 11:33:19 +03:00

143 lines
12 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Анализ папок проекта PAPA YU и рекомендации по объединению
Документ описывает текущее состояние папок, связанных с PAPA YU, и итог объединения в одну рабочую папку (папка **папа-ю** по вашему требованию не переносилась).
**Проверенные пути:**
- `/Users/yrippertgmail.com/Desktop/papa-yu`**единая папка проекта** (код, сборка, скрипты).
- `/Users/yrippertgmail.com/Desktop/папа-ю` — только документы и ТЗ (не переносилась).
- `/Users/yrippertgmail.com/PAPA-YU` и `/Users/yrippertgmail.com/papa-yu` — одна и та же папка в домашнем каталоге (другая структура: desktop/ui, desktop/src-tauri); после объединения можно архивировать или удалить.
Итог объединения: см. `docs/ЕДИНАЯ_ПАПКАРОЕКТА.md`.
---
## 1. Текущее состояние папок
### 1.1. `papa-yu` (латиница, на рабочем столе)
| Назначение | Содержимое |
|------------|------------|
| **Роль** | Единственная папка с исходным кодом десктопного приложения PAPA YU |
| **Стек** | React, Vite, TypeScript, Tauri 2, Rust |
| **Структура** | `src/`, `src-tauri/`, `package.json`, `docs/`, скрипты запуска (`start-with-openai.sh`), конфиги |
| **Запуск** | `npm run tauri dev` или `./start-with-openai.sh` |
| **Сборка** | `npm run tauri build` → .app в `src-tauri/target/release/bundle/macos/` |
**Вывод:** это основная рабочая папка для кода и сборки. Все правки приложения должны вноситься здесь.
---
### 1.2. `папа-ю` (кириллица, на рабочем столе)
| Назначение | Содержимое |
|------------|------------|
| **Роль** | Только документация и ТЗ по проекту PAPA-YU |
| **Содержимое** | `ЗАПУСКРИЛОЖЕНИЯ.txt`, `старт/` (этапы 17, DOCX), `коррект/`, `ТЗ/`, архивы zip |
| **Код** | Нет исходного кода приложения |
| **Ссылки** | В тексте указано: запуск из `papa-yu/` (например `papa-yu/Собрать и запустить PAPA-YU.command`) |
**Вывод:** папка используется как хранилище спецификаций и инструкций. Для «одной папки» её можно либо оставить как внешний архив документов, либо привязать к `papa-yu` через ссылку/подпапку (см. ниже).
---
### 1.3. «PAPA YU» как имя папки
Отдельной папки с названием **PAPA YU** (с пробелом) на рабочем столе нет.
**PAPA YU** — это название приложения (окно, `tauri.conf.json`). На macOS при открытии пути типа `~/Desktop/PAPA-YU` с учётом регистра может открываться та же файловая система, что и для `papa-yu` (зависит от настроек тома). Имеет смысл считать «одной папкой проекта» именно **`papa-yu`** и все пути вести к ней.
---
### 1.4. `papa-app` (на рабочем столе)
| Назначение | Содержимое |
|------------|------------|
| **Роль** | Отдельное веб-приложение (Next.js), не десктоп PAPA YU |
| **Содержимое** | `app/`, `components/`, `lib/`, Next.js-конфиги, а также «Новая папка» / «Новая папка с объектами» с материалами по PAPA (SQL, DOCX, скриншоты) |
| **Связь с PAPA YU** | Общее имя «PAPA», но другой продукт (веб vs десктоп) |
**Вывод:** для объединения именно **десктопного PAPA YU** `papa-app` не объединять с `papa-yu` в один репозиторий/проект. Документы по PAPA из `papa-app` при необходимости можно копировать в общую структуру документов (см. ниже).
---
## 2. Рекомендуемая «одна папка» для загрузки, изменений и правок
Цель: **всё, что касается десктопного приложения PAPA YU, вести из одной папки** — загрузка (clone/build), правки кода, запуск, сборка, документация.
### 2.1. Базовая рекомендация: единая точка входа — `papa-yu`
- **Загрузка / клонирование:** один репозиторий или один архив — папка **`papa-yu`**.
- **Изменения кода:** только в **`papa-yu`** (src, src-tauri, конфиги).
- **Запуск и сборка:** всегда из корня **`papa-yu`**:
- разработка: `cd papa-yu && npm run tauri dev` или `./start-with-openai.sh`;
- сборка: `cd papa-yu && npm run tauri build`.
- **Документация по приложению:** хранить внутри **`papa-yu/docs/`** (как сейчас: OPENAI_SETUP, E2E, IMPROVEMENTS и т.д.). Все инструкции по запуску/сборке ссылаются на пути относительно `papa-yu`.
Итог: **«одна папка» = `papa-yu`**. Все операции с десктопным PAPA YU выполняются из неё.
---
### 2.2. Как учесть папку `папа-ю` (документы), не перемещая файлы
Варианты **без** физического переноса файлов (только рекомендации):
1. **Оставить как есть**
- Рабочая папка — `papa-yu`.
- `папа-ю` — отдельный каталог с ТЗ и этапами.
- В `papa-yu/README.md` или в `docs/` один раз явно написать: «ТЗ и спецификации проекта лежат в папке `папа-ю` на рабочем столе (или по пути …)».
2. **Ссылка в документации**
- В `papa-yu/docs/` добавить файл (например `СВЯЗЬ_СОКУМЕНТАМИ.md`) с единственной строкой: где физически лежит `папа-ю` и что там (ТЗ, этапы, архивы). Все продолжают открывать код только в `papa-yu`, а документы — по этой ссылке.
3. **Симлинк (если нужен «один корень»)**
- Внутри `papa-yu` создать, например, `docs/specs-from-papa-yu-cyrillic` → симлинк на `~/Desktop/папа-ю`. Тогда «всё видно» из одного дерева `papa-yu`, но файлы кириллической папки не копируются. Рекомендация: делать только если действительно нужен единый корень в проводнике/IDE.
---
### 2.3. Как учесть `papa-app`
- **Не объединять** с `papa-yu` в один проект/репозиторий: разный стек и назначение.
- Если нужно хранить общие материалы по бренду/продукту PAPA:
- либо оставить их в `papa-app` и в `papa-yu/README.md` кратко указать: «Веб-интерфейс и доп. материалы — в проекте papa-app»;
- либо вынести общие документы в отдельную папку (например `Desktop/PAPA-docs`) и из обеих папок на неё ссылаться.
Объединение в одну папку для загрузки/правок здесь не рекомендуется.
---
## 3. Конкретные шаги (рекомендации, без автоматических изменений)
1. **Определить единственную рабочую папку**
- Для десктопного приложения: **`/Users/.../Desktop/papa-yu`**.
- Все пути в инструкциях (README, docs, скрипты) вести относительно неё.
2. **В README или docs папы-yu**
- Явно написать: «Проект ведётся из одной папки — papa-yu. Запуск, сборка и правки — только из её корня.»
- Указать при необходимости: «ТЗ и этапы — в папке папа-ю (кириллица) по пути …».
3. **Скрипты запуска**
- Все скрипты (например `start-with-openai.sh`, будущий `Собрать и запустить PAPA-YU.command`) должны:
- находиться в `papa-yu/`;
- выполнять `cd` в корень `papa-yu` (например `cd "$(dirname "$0")"`);
- не ссылаться на «PAPA-YU» или «папа-ю» как на каталог с кодом.
4. **Имя папки в системе**
- Для избежания путаницы с регистром и пробелами лучше везде использовать **`papa-yu`** (латиница, один регистр). Не создавать дубликат с именем «PAPA YU» или «PAPA-YU» для кода.
5. **Документация из папа-ю**
- Если позже понадобится «всё в одном месте»: можно скопировать выбранные DOCX/PDF из `папа-ю` в `papa-yu/docs/specs/` (или аналогичную подпапку) и при желании обновить ссылки в README. Это уже будет решение по переносу файлов; в текущем документе достаточно понимать, что логически «одна папка» — это `papa-yu`, а `папа-ю` — внешний архив, связь с которым задаётся явной ссылкой в документации.
---
## 4. Краткая сводка
| Вопрос | Ответ |
|--------|--------|
| Какую папку считать «одной» для загрузки и правок? | **`papa-yu`** (латиница). |
| Где вносить изменения в код и конфиги? | Только в **`papa-yu`**. |
| Откуда запускать и собирать приложение? | Из корня **`papa-yu`**. |
| Что делать с папкой `папа-ю`? | Оставить как хранилище ТЗ; в `papa-yu` описать путь к ней в README/docs или (по желанию) добавить симлинк в `papa-yu/docs/`. |
| Нужно ли объединять с `papa-app`? | Нет; это другой продукт. При необходимости — только ссылка в документации. |
| «PAPA YU» как папка? | Отдельной папки с таким именем нет; это название приложения. Рабочая папка — **`papa-yu`**. |
Все рекомендации выше можно выполнять вручную; автоматических изменений в файлы этот документ не вносит.