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
👀 Смотрите также

iai-mcp: локальный демон для постоянной памяти OpenClaw между сессиями
iai-mcp — это открытый демон, который перехватывает все разговоры OpenClaw, хранит их в трёх уровнях памяти с локальными нейронными эмбеддингами и шифрованием AES-256, а при новых сессиях подгружает релевантный контекст — точность воспроизведения >99%, время поиска <100мс, стоимость начала сессии <3к токенов.

Краткость побеждает пещерного человека в бенчмарке сжатия Claude Code
Бенчмарк из 24 запросов показывает, что плагин сжатия caveman для Claude Code дает такое же количество токенов и качество, как простое добавление 'be brief.' — но согласованная форма вывода и правила безопасности плагина дают структурные преимущества.

ClawCall добавляет входящие звонки — ваш агент OpenClaw получает собственный номер
ClawCall теперь поддерживает входящие звонки — ваш агент OpenClaw получает выделенный номер, отвечает в течение нескольких секунд и говорит вашим тоном. Простая настройка приветствий и личности через естественный язык.

Подчинённый агент Claude Code, настроенный скептически к планам, выявляет уязвимости безопасности в сгенерированных планах.
Разработчик обнаружил скептически настроенный суб-агент Claude Code, который выявляет пробелы и проблемы в планах разработки, сгенерированных ИИ, особенно находя проблемы безопасности, которые изначально не были очевидны. Этот агент работает вместе с ранее известным суб-агентом security-sheriff для повышения качества планов.