Rift : Une meilleure alternative aux worktrees Git avec des instantanés instantanés par copie sur écriture

Rift est un outil en ligne de commande et une bibliothèque FFI JavaScript qui remplace les worktrees Git par des snapshots instantanés en copy-on-write. Sous Linux, il utilise les sous-volumes et snapshots btrfs ; sous macOS, clonefile APFS. Un snapshot d'espace de travail de 10 Go prend moins de 0,1 seconde.
Installation
npm install -g rift-snapshot
# ou
bun add -g rift-snapshotLes archives de version sont disponibles sur GitHub.
Plateformes supportées
- Linux x64 : snapshots btrfs accessibles en écriture.
rift initconvertit un répertoire ordinaire en sous-volume btrfs. - macOS arm64 / x64 : clonefile APFS.
rift initenregistre le répertoire source. - Windows x64 : paquet publié mais la création d'espace de travail n'est pas encore implémentée.
Utilisation en CLI
Initialisez dans la racine de votre projet :
cd ~/code/app
rift initrift init choisit la racine Git la plus proche. Utilisez --here pour forcer le répertoire exact. Sous Linux, il le convertit en sous-volume btrfs avec import reflink.
Créez un snapshot d'espace de travail :
rift create --name parser-fix
rift create --into /fast/riftsLe nouvel espace de travail a un HEAD détaché dans un dépôt Git, préservant l'index et l'arbre de travail.
Listez et gérez :
rift list
rift ancestors
rift remove
rift gcrift remove déplace l'espace de travail vers un dossier .trash adjacent. rift gc supprime physiquement les données mises à la corbeille.
Intégration shell
eval "$(rift shell-init zsh)"
# ou bashCela change automatiquement de répertoire après init, create ou remove.
Structure de stockage
~/code/app/ # espace de travail source
~/code/.rifts/app/parser-fix/ # espace de travail créé
~/code/.rifts/app/.trash/ # espace de travail suppriméChaque espace de travail géré a un marqueur .rift ; une base SQLite enregistre les chemins et les parents.
API JavaScript
Support de Bun et Node.js (nécessite Node 26.1+ avec --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();
Fonctions : init, create, remove, list, ancestors, gc. Options incluent at, name, into, database.
Rift est expérimental — les API peuvent changer. Fonctionne seulement sur Linux et macOS pour l'instant.
📖 Lire la source complète : HN LLM Tools
👀 See Also

Transloadit MCP Server Connecte les Agents IA au Pipeline de Traitement Média
Transloadit a développé un serveur MCP qui connecte Claude et d'autres agents d'IA à leur pipeline de traitement multimédia avec 86 Robots pour le traitement vidéo, audio, image et document. La configuration dans Claude Code nécessite une seule ligne : npx -y @transloadit/mcp-server stdio avec les variables d'environnement TRANSLOADIT_KEY et TRANSLOADIT_SECRET.

Xiaozhen : Une compétence de code Claude qui creuse trois couches pour identifier les causes profondes
Xiaozhen (小真) est une compétence Claude Code qui utilise trois mécaniques — Le Cadeau, Trois Couches en Profondeur et La Prédiction — pour aider les utilisateurs à découvrir ce qui les tracasse réellement plutôt que de donner des conseils directs. Elle est installée avec une commande curl en une ligne et activée en tapant /小真 dans Claude Code.

Le Serveur MCP Detrix Ajoute le Débogage en Temps Réel aux Agents de Codage IA
Detrix est un serveur MCP gratuit et open-source qui permet aux agents compatibles MCP d'observer les variables en direct dans le code en cours d'exécution sans redémarrages ni modifications du code. Il prend en charge les applications Python, Go et Rust exécutées localement ou dans Docker.

Analyse boursière en temps réel ajoutée à Claude Desktop via un serveur MCP
Un développeur a créé un serveur MCP appelé agent-toolbelt qui ajoute des capacités d'analyse boursière en temps réel à Claude Desktop et Claude Code, fournissant des données en direct pour l'analyse d'investissement au lieu des suppositions basées sur les données d'entraînement de Claude.