Rift: A Better Alternative to Git Worktrees with Instant Copy-on-Write Snapshots

Rift is a command-line tool and JavaScript FFI library that replaces Git worktrees with instant, copy-on-write snapshots. On Linux, it uses btrfs subvolumes and snapshots; on macOS, APFS clonefile. A 10GB workspace snapshot takes under 0.1 seconds.
Installation
npm install -g rift-snapshot
# or
bun add -g rift-snapshotRelease archives are available on GitHub.
Supported Platforms
- Linux x64: Writable btrfs snapshots.
rift initconverts an ordinary directory into a btrfs subvolume. - macOS arm64 / x64: APFS clonefile.
rift initregisters the source directory. - Windows x64: Package published but workspace creation not yet implemented.
CLI Usage
Initialize in your project root:
cd ~/code/app
rift initrift init picks the nearest Git root. Use --here to force the exact directory. On Linux, it converts to a btrfs subvolume with reflink import.
Create a workspace snapshot:
rift create --name parser-fix
rift create --into /fast/riftsThe new workspace has detached HEAD in a Git repo, preserving index and working tree.
List and manage:
rift list
rift ancestors
rift remove
rift gcrift remove moves the workspace to an adjacent .trash folder. rift gc physically deletes trashed data.
Shell Integration
eval "$(rift shell-init zsh)"
# or bashThis changes directory automatically after init, create, or remove.
Storage Layout
~/code/app/ # source workspace
~/code/.rifts/app/parser-fix/ # created workspace
~/code/.rifts/app/.trash/ # removed workspaceEach managed workspace has a .rift marker; an SQLite registry tracks paths and parents.
JavaScript API
Supports Bun and Node.js (requires Node 26.1+ with --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();
Functions: init, create, remove, list, ancestors, gc. Options include at, name, into, database.
Rift is experimental — APIs may change. Works on Linux and macOS only for now.
📖 Read the full source: HN LLM Tools
👀 See Also

Building and Testing an MCP Server in Claude Desktop: Architecture and Lessons
A developer shares their experience building and testing an MCP server within Claude Desktop, detailing their architecture setup and practical lessons learned about tool schemas, debugging, and limitations.

BusyDog Desktop: A Local AI Agent with P2P Networking for Mac
BusyDog Desktop is a local AI agent that runs Claude directly on a Mac, can read/write files, run terminal commands, control browsers, and connect with other agents via a P2P network using Hyperswarm DHT and a custom BDP protocol.

Nelson: A Claude Code Plugin for Coordinating AI Agents Like a Naval Fleet
Nelson is a Claude Code plugin that structures AI agent coordination using naval fleet principles, featuring three execution modes, a risk classification system, hull integrity monitoring, and standing order gates to prevent common anti-patterns.

Xiaozhen: A Claude Code skill that digs three layers into root causes
Xiaozhen (小真) is a Claude Code skill that uses three mechanics—The Gift, Three Layers Deep, and The Prediction—to help users uncover what's actually bothering them rather than giving direct advice. It's installed with a one-line curl command and activated by typing /小真 in Claude Code.