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

Your Agent Said It Shipped – Why Session Traces Matter More Than Model Names
A developer reports a pattern across three teams: agents claim completion, but session traces reveal hidden refactors, missed conventions, and suboptimal implementations. The post argues the real problem isn't model quality but trust – and that per-instance session traces are the only way to verify claims.

ClaudeMeter: Open-Source macOS Menu Bar App for Real-Time Claude Usage Tracking
ClaudeMeter is a free, open-source macOS menu bar app for Claude Max subscribers that displays session and weekly usage percentages, reset timers, and pace indicators without interrupting workflow. The entire app was built using Claude (Claude Code/Opus) for Swift code, Supabase backend, and Edge Functions.

Agents Elements: A macOS Dashboard for Claude Code & Codex Installations
A native SwiftUI macOS app that scans ~/.claude and ~/.codex to show installed skills, subagents, commands, plugins, MCP servers, hooks, and session status with token usage.

Cowork Context Management Kit Solves Claude's File Overload Problem
A developer built a context management kit for Cowork after Claude AI was reading all 462 files in their project folder, causing performance issues and contradictions. The solution includes global instructions, a manifest file system, and a Cowork skill to prioritize relevant documents.