# AGENT.md ## Про что этот репозиторий `dotfiles` - личный репозиторий конфигураций для двух разных зон: - `nvim/` - конфиг Neovim для основной development-среды. - `fedora/` - текущий основной профиль рабочего стола Fedora с Niri. - `bazzite/` - старый профиль Bazzite/Niri, который теперь нужен в основном как legacy reference для миграции, сравнения и поддержки старых машин. `CLAUDE.md` в этом репозитории покрывает в основном Neovim. Для desktop-задач он не является полной картой проекта, поэтому сначала ориентируйся по `README.md`, а затем по `fedora/README.md` или `bazzite/README.md`. ## Верхнеуровневая структура - `README.md` - общий вход в репозиторий и краткая карта текущей структуры. - `CLAUDE.md` - узкий guide по `nvim/`. - `nvim/` - Neovim config: - `init.lua` - точка входа; - `lua/config/` - базовые options, keymaps, autocmds; - `lua/plugins/` - конфиги плагинов; - `lazy-lock.json` - зафиксированные версии плагинов. - `fedora/` - основной desktop profile: - `README.md` - каноническое описание профиля; - `niri/config.kdl` - compositor/session behavior; - `waybar/config.jsonc` и `waybar/style.css` - панель и стили; - `khal-calendar/` и `mail-counter/` - Rust-модули для Waybar. - `bazzite/` - legacy profile со структурой, близкой к `fedora/`. Скрытые каталоги вроде `.git`, `.claude`, `.serena` считай tooling/infrastructure metadata, а не рабочей частью конфигурации. ## Что читать для контекста Всегда начинай с `README.md`. Дальше маршрут такой: - Если задача про Neovim: 1. `CLAUDE.md` 2. `nvim/init.lua` 3. нужные файлы из `nvim/lua/config/` или `nvim/lua/plugins/` - Если задача про текущую Fedora-машину, Niri, Waybar, wallpaper, Steam, Bottles, FlClash или desktop behavior: 1. `fedora/README.md` 2. нужный целевой конфиг, обычно один из: - `fedora/niri/config.kdl` - `fedora/waybar/config.jsonc` - `fedora/waybar/style.css` - `fedora/fuzzel/fuzzel.ini` - `fedora/xsettingsd/xsettingsd.conf` - Если задача про старую Bazzite-конфигурацию или миграцию между Bazzite и Fedora: 1. `bazzite/README.md` 2. затем сравнивай с соответствующим файлом в `fedora/` - Если задача про кастомные Waybar-модули: 1. `fedora/khal-calendar/README.md` или `bazzite/khal-calendar/README.md` 2. `fedora/khal-calendar/Cargo.toml` или `bazzite/khal-calendar/Cargo.toml` 3. `fedora/mail-counter/README.md` или `bazzite/mail-counter/README.md` 4. `fedora/mail-counter/Cargo.toml` или `bazzite/mail-counter/Cargo.toml` ## Repo-specific правила - По умолчанию считай `fedora/` текущим и основным направлением. - Не переноси автоматически старые предположения из `bazzite/` в `fedora/`. - Если пользователь говорит просто "на федоре", "в desktop-конфиге" или "в niri", сначала смотри `fedora/`. - Если пользователь просит исторический контекст, сравнение или миграцию, используй `bazzite/` как reference, но не как source of truth для новых изменений. - Не считай `CLAUDE.md` полной документацией по всему репозиторию: он уже, чем реальная структура проекта. ## Как работать безопасно - Для desktop-задач не ограничивайся общими рассуждениями: сначала читай subtree README, потом точечный конфиг. - Не дублируй содержимое `fedora/README.md` и `bazzite/README.md` в новых документах без необходимости; эти файлы уже являются каноническими описаниями профилей. - Если в рабочем дереве есть несвязанные изменения, не откатывай их и не расширяй задачу за пределы нужного subtree без явного запроса.