88 lines
4.9 KiB
Markdown
88 lines
4.9 KiB
Markdown
# 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 без явного запроса.
|