A fast, resilient, and user-friendly command-line tool for copying files and directories using glob patterns.
cpy-cli is a command-line file copying tool built for Node.js that enhances the standard `cp` command with features like glob pattern support, automatic directory creation, and resilient error handling. It solves the problem of copying files in complex scenarios, such as selective copying with patterns or updating only newer files, while providing clear feedback.
Developers and system administrators who frequently perform file operations in terminal environments and need more flexibility and reliability than basic shell commands offer.
Developers choose cpy-cli for its combination of speed (via streams), resilience (with graceful-fs), and user-friendly features like glob support and informative error messages, making it a robust alternative to manual scripting or limited native commands.
Copy files
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Uses Node.js streams for fast file operations, as emphasized in the README for performance improvements over traditional methods.
Built on graceful-fs to gracefully handle filesystem errors, preventing crashes and ensuring reliable operations even in edge cases.
Accepts glob patterns for selecting source files, allowing complex matching like excluding specific files (e.g., '!src/goat.png') in a single command.
Creates non-existent destination directories automatically, reducing manual setup and simplifying copy workflows.
Offers flags like --update for copying only newer files, --dry-run for previewing operations, and --rename for templated renaming, providing fine-grained control.
Requires Node.js to be installed globally, which adds overhead and can be a barrier in environments without it or where native tools are preferred.
Only supports copying files; for moving or deleting, users must use other tools or the separate cpy API, limiting its utility in comprehensive file management tasks.
Errors halt the process with user-friendly messages but lack automatic retry mechanisms or detailed recovery options, which could be a drawback in automated scripts.