# Qulyp — памятка для ИИ-ассистента Менеджер паролей на Rust + egui (eframe 0.36, рендер glow). Windows и Linux. Один зашифрованный файл `.qulyp`, работает офлайн, синхронизация через облачную папку. ## Заметки проекта (`notes/`) — читать в начале сессии | Файл | Что внутри | Лимит строк | |---|---|---| | `notes/STATUS.md` | Где проект сейчас, что работает | 40 | | `notes/PLAN.md` | Планы: Сейчас / Дальше / Потом | 60 | | `notes/DEBT.md` | Хвосты: баги, техдолг, недоделки | 60 | | `notes/LOG.md` | Журнал сессий, новые сверху | 80 | | `notes/DECISIONS.md` | Ключевые решения и почему | 80 | | `notes/DATA.md` | Формат файла и схема данных («БД») | 80 | Лимиты проверяет `cargo test --test notes` (заголовок `` в каждом файле). `notes/archive/` — старое, **не читать** без необходимости. ## Правила ведения заметок - В конце каждой рабочей сессии: 1–4 строки в `LOG.md` (дата, что сделано), обновить `STATUS.md`. - Закрытый хвост — удалить из `DEBT.md` (не зачёркивать). Новый — добавить одной строкой. - Пишем сжато: одна мысль — одна строка, без пересказа кода и git-истории. - Упёрлись в лимит `LOG.md` → старые записи перенести в `notes/archive/LOG-<год>.md`. - В других файлах при лимите — сократить формулировки, а не архивировать. ## Код - `src/crypto.rs` — формат файла, Argon2id + XChaCha20-Poly1305 - `src/vault.rs` — модель данных и слияние версий (синхронизация) - `src/storage.rs` — сессия: атомарная запись, `.bak`, автослияние внешних изменений - `src/app.rs` — экраны и UI; `src/widgets.rs`, `src/theme.rs` — виджеты и стиль - `src/devshots.rs` — dev-сценарий со скриншотами (feature `dev-shots`) ## Команды - `cargo test` — все тесты; `cargo run` — запуск; `cargo build --release` — релиз - `cargo check --target x86_64-unknown-linux-gnu` — проверка сборки под Linux - Скриншоты UI: см. шапку `src/devshots.rs`. **Не** эмулировать системные нажатия клавиш/мыши для проверки GUI — они могут уйти в чужое окно.