This commit is contained in:
Mikhail Kilin
2026-06-21 16:22:06 +03:00
parent 698c953c55
commit 8cedd606f5
58 changed files with 4333 additions and 146 deletions

87
AGENT.md Normal file
View File

@@ -0,0 +1,87 @@
# 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 без явного запроса.