smv 0.5.0

Smart Move - An enhanced mv command with transformation capabilities
Documentation
## ๐Ÿงฑ Core Functionality (Must-Have)

These are *non-negotiables* to match basic POSIX tools.

### โœ… Basic Commands

* `mv <src> <dest>` โ€“ Move files/directories
* `cp <src> <dest>` โ€“ Copy files/directories
* Recursive copy (`-r`)
* Force overwrite (`-f`)
* No-clobber / skip existing (`-n`)
* Interactive confirm on overwrite (`-i`)

### โœ… Permissions and Metadata

* Preserve mode, ownership, and timestamps (`--preserve` or `-p`)
* Ability to copy symlinks as symlinks or dereference (`-L`, `-P`)

### โœ… Wildcards & Globs

* Accepts shell-style wildcards (e.g. `*.txt`)
* Expands directories properly

---

## โš™๏ธ Intermediate Features (Should-Have)

These help it scale for power users and scripting.

### ๐Ÿงพ Dry Run & Logging

* `--dry-run` for preview
* Verbose logging (`-v`)
* Summary output (count of files moved/copied, skipped, failed)

### ๐Ÿงฐ Advanced Options

* Rename-on-collision (`--rename` or `--suffix` support)
* Backup mode (`--backup`)
* Move only if source is newer (`--update`)
* Progress reporting (especially for large files)

### ๐Ÿ—ƒ๏ธ Metadata Handling

* Extended attribute support (`xattr`)
* Preserve hardlinks, ACLs, etc. (especially for backup workflows)

---

## ๐Ÿ’ก Quality of Life (Nice-to-Have)

These are not needed to *replace* `mv`/`cp`, but help it stand out.

### ๐Ÿง  Smarter Interface

* Human-readable output
* Error messages with suggested fixes
* Suggestions for commands when syntax is invalid

### ๐Ÿ“ฆ Batch/Interactive Mode

* Interactive TUI/CLI interface for resolving conflicts
* Allow batching multiple operations from a config file or stdin

### ๐Ÿ”Œ Extensibility

* Plugin or scriptable hooks (pre/post move scripts)
* Integration with `dsc`, `pathmaster`, etc. for path resolution

### ๐Ÿ“‚ Rename Templates

* Bulk rename using patterns (`--template '{name}_bak{ext}'`)
* Regex-based renaming

### โ˜๏ธ Remote Support

* Operate across remote volumes (e.g., SFTP, cloud)
* Seamless fallback to `rsync` or similar tools

---

## ๐Ÿšจ Error Handling

* Safe fallback on partial failure (transactional move/copy)
* Retry logic or resumable copy
* Clear handling of symbolic and hard links

---

## ๐ŸŒ System Awareness

* Filesystem boundary awareness (`--one-file-system`)
* Copy/move respecting mount points, permissions, and quotas

---

### Optional Goals for a Modern Toolset

If SMV aspires to be more than a core tool:

* File integrity check (checksums before/after copy)
* Deduplication during copy (like `rsync --inplace`)
* Parallelization/threading for large batch ops
* Config file or environment profiles
* JSON or machine-readable output (`--json`)