You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Support for managing entire directories as first-class units — puff add config/ moves the
directory to puff's data store and replaces it with a single directory symlink
--dir flag on add command to create a fresh managed directory that doesn't exist yet
Auto-detection of files vs directories when running puff add on existing paths
Auto-absorb: puff add config/ silently merges individually managed files already inside config/ into the directory
puff forget and puff forget --delete work on managed directories
Guards that prevent adding/forgetting individual files inside a managed directory
puff init, puff link, and puff project forget handle managed directories correctly
(directory symlinks, backup of conflicting real directories, recursive restore)
Support for managing files located in subdirectories of a project
--version flag to print the version number with commit hash
status command to print whether current directory is a part of puff-managed project and list
managed files if it is
completions command to generate shell completions (dynamic, with project name completion for link and project forget)
support multiple files provided to add and forget commands
a cd command that spawns subshell at the puff's projects directory - user can backup the files
link command to create bring puff-managed files into other directories than the main project directory (useful for git
modernize commands that require user input (such as puff init) with better UX
worktrees, jj workspaces, or any secondary working copy)
e2e tests
Changed
puff status now shows "Managed items:" (was "Managed files:") with directories displayed
with a trailing /
puff link now reports "item(s)" instead of "file(s)"
Renamed rm command to forget
Renamed project rm command to project forget
Updated all dependencies; migrated to Rust 2024 edition
Improved error messages
Fixed puff add printing a false success message when a file exists in both the project
directory and puff's registry (conflict now properly errors out)
projects are now stored in XDG_DATA_HOME/puff/projects instead of XDG_CONFIG_HOME/puff/configs
Removed
Removed symlink crate dependency in favor of the standard library