bonds
A tool for creating and managing "bonds" between files and directories.
Build with symlinks and a SQLite
Inspired by GNU Stow
Status
- Basic core & CLI
- Library API
- GUI application
- Ecosystem & plugins
Usage
- Creating a bond
- Listing bonds
- Inspecting bond details
- Removing a bond
- Updating a bond
- Migrating bonds
- Configuration
Creating a bond
# default target: ~/bonds
# custom target
# bulk bond all contents of a directory
# with a name
Listing bonds
# OUTPUT:
# foo (abc12345) - ~/projects/my-app -> ~/bonds/my-app (2026-04-06 12:00)
Inspecting bond details
# OUTPUT:
# ID: abc12345
# Source: ~/projects/my-app
# Target: ~/bonds/my-app
# Created At: 2026-04-06 12:00
# Health: Healthy (symlink intact)
Removing a bond
# remove by ID
# remove by (specified) name
# To also delete the target, use:
Updating a bond
# Update source and/or target
# Update name
Migrating bonds
# Move bond to a new default location (with auto-backup)
# if the bond is located in a different location, you can run
# will automatically move the bond to the current default location (e.g., ~/bonds/)
Configuration
# Set default target directory
# Get current default target directory