Files
dotfiles/AGENT.md
Mikhail Kilin 8cedd606f5 fixes
2026-06-21 16:22:06 +03:00

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