Rift: лучшая альтернатива Git Worktrees с мгновенными снимками копирования при записи

Rift — это инструмент командной строки и библиотека JavaScript FFI, заменяющая Git worktrees мгновенными снапшотами с копированием при записи. На Linux используются субвольты и снапшоты btrfs; на macOS — APFS clonefile. Снапшот рабочего пространства размером 10 ГБ создается менее чем за 0,1 секунды.
Установка
npm install -g rift-snapshot
# или
bun add -g rift-snapshotАрхивы релизов доступны на GitHub.
Поддерживаемые платформы
- Linux x64: Записываемые снапшоты btrfs.
rift initпреобразует обычную директорию в субвол btrfs. - macOS arm64 / x64: APFS clonefile.
rift initрегистрирует исходную директорию. - Windows x64: Пакет опубликован, но создание рабочего пространства пока не реализовано.
Использование CLI
Инициализация в корне проекта:
cd ~/code/app
rift initrift init выбирает ближайший корень Git. Используйте --here, чтобы принудительно указать точную директорию. На Linux происходит преобразование в субвол btrfs с импортом reflink.
Создание снапшота рабочего пространства:
rift create --name parser-fix
rift create --into /fast/riftsНовое рабочее пространство имеет отсоединенный HEAD в репозитории Git, сохраняя индекс и рабочее дерево.
Просмотр и управление:
rift list
rift ancestors
rift remove
rift gcrift remove перемещает рабочее пространство в соседнюю папку .trash. rift gc физически удаляет перемещенные данные.
Интеграция с оболочкой
eval "$(rift shell-init zsh)"
# или bashЭто автоматически изменяет директорию после init, create или remove.
Структура хранения
~/code/app/ # исходное рабочее пространство
~/code/.rifts/app/parser-fix/ # созданное рабочее пространство
~/code/.rifts/app/.trash/ # удаленное рабочее пространствоКаждое управляемое рабочее пространство содержит маркер .rift; реестр SQLite отслеживает пути и родительские элементы.
JavaScript API
Поддерживает Bun и Node.js (требуется Node 26.1+ с --experimental-ffi).
import { create, list, remove, gc } from 'rift-snapshot';
const workspace = create({ from: process.cwd(), name: 'schema-work' });
console.log(list({ of: process.cwd() }));
remove({ at: workspace });
gc();
Функции: init, create, remove, list, ancestors, gc. Опции включают at, name, into, database.
Rift является экспериментальным — API могут изменяться. Работает только на Linux и macOS.
📖 Читать полный исходник: HN LLM Tools
👀 Смотрите также

Использование вложений Harrier для локального семантического поиска в памяти агентов OpenClaw
Запустите локальный сервер эмбеддингов с моделью Harrier от Microsoft, откройте API, совместимое с Ollama, и настройте memorySearch в OpenClaw для локального поиска семантической памяти без внешних сервисов.

Graphify: Навык Claude Code, создавший граф знаний вашего репозитория — 450 тыс. загрузок, 40 тыс. звезд за 26 дней
Graphify — это навык Claude Code, который читает каждый файл в вашем репозитории, строит граф знаний с детекцией сообществ Лейдена и выполняет запросы, используя в 71 раз меньше токенов, чем сырые файлы. Более 450 тысяч загрузок на PyPI, ~40 тысяч звезд на GitHub, #2 в мировом рейтинге на первой неделе.

Homebutler: OpenClaw Skill для управления Homelab через Telegram
Homebutler — это единый бинарный файл Go (~13 МБ, без зависимостей), который работает как навык OpenClaw для управления домашними лабораториями из чата Telegram. Он отслеживает серверы, перезапускает Docker-контейнеры, пробуждает машины, сканирует сети и предупреждает о скачках ресурсов без SSH-сессий или входа в панель управления.

RalphTerm: цикл в стиле Ральфа для Claude Code с сессиями кросс-рецензирования от разных агентов
RalphTerm — это CLI с открытым исходным кодом на Rust, который запускает внешний цикл в стиле Ralph вокруг Claude Code: он берет план в формате Markdown, выполняет задачи в свежих интерактивных сессиях и проводит перекрестную проверку с другой моделью (например, Codex) в отдельных свежих сессиях, передавая найденные проблемы обратно в новые сессии исполнителя.