-
Notifications
You must be signed in to change notification settings - Fork 0
Development (RU)
English · Русский
Homebrew-сборка — для повседневной работы. Чтобы доработать familiar, склонируй
репозиторий и переключи конфиг на клон, а по завершении верни релизную сборку —
всё на рабочем ~/.config/kitty:
brew install denoby/familiar/familiar
familiar enable --all # обычное использование — релизная сборка
git clone https://github.com/DenoBY/familiar && cd familiar
./bin/familiar enable --all # переключить боевой конфиг на этот клон
# правишь plugins/**, reload kitty (Cmd+Ctrl+,) — изменения видны
familiar enable --all # вернуться на Homebrew-сборкуИ familiar из brew, и ./bin/familiar из репо пишут один и тот же
~/.config/kitty/familiar.conf, поэтому переключение — это просто запуск другого,
без дублей и без уборки. familiar запекает абсолютные пути от места запуска:
brew-сборка → /opt/homebrew/opt/familiar/libexec, клон → твоя папка. familiar status
печатает wired root: — установку, которую kitty реально исполняет — рядом с
app root: вызванной копии и предупреждает, если они разошлись;
familiar disable убирает полностью.
unittest из стандартной библиотеки, без внешних зависимостей, гоняются вне kitty:
python3 -m unittest discover -s tests -t testsЧто покрыто — в tests/README.ru.md в репозитории. Стиль проверяет
ruff check . (настроен в pyproject.toml).
Все скриншоты этой wiki сняты на воспроизводимом демо-стенде: сгенерированный
git-репозиторий с фотогеничной историей и незакоммиченными правками (для
review и log) плюс фейковое хранилище Claude Code с живыми сессиями и богатым
транскриптом (для session). Когда UI меняется — стенд пересобирается и скрины
переснимаются:
python3 tools/demo_stand.py --dir /tmp/familiar-demo # --wipe для пересозданияДальше запускается отдельный инстанс kitty, нацеленный на фейковое хранилище:
CLAUDE_CONFIG_DIR=/tmp/familiar-demo/claude \
/Applications/kitty.app/Contents/MacOS/kitty --detach --directory /tmp/familiar-demo/repo(Переменная должна попасть в окружение процесса kitty — киты наследуют её
оттуда. Запуск из шелла — простейший способ; строка env в kitty.conf тоже
работает, но требует полного перезапуска и правит боевой конфиг.)
В этом окне:
-
Cmd+Shift+S— session: три проекта; у проектаrepoесть живые сессииbusyиwaiting, фоновый агент◆, сессия с custom-заголовком и богатый транскрипт («Fix sunset rounding bug») для превью. -
Cmd+Shift+R— review: в дереве все статусы (stagedutils.py, modifiedcore.py/test_core.py, renamedapp.py, untrackednotify.py); в диффеcore.py— word-diff (int(raw_minutes)→round(raw_minutes)) и символы для go-to-definition (normalize_degrees,minutes_to_timeопределены вutils.py). -
Cmd+Shift+L— log: ~18 коммитов, merge--no-ffветкиfeature/moon-phaseи незасли́таяfeature/timezones(a— все ветки,i— панель подробностей).
English
Русский