Note: This project, Syncly, is currently under active development. Features, functionality, and documentation may change as the project evolves. Contributions and feedback are welcome!
Effortlessly synchronize files and directories across devices. Syncly simplifies file management, ensuring your data stays consistent and up-to-date across locations.
- Initialize projects with Syncly for seamless synchronization.
- File synchronization between source and target directories.
- Status tracking for pending changes.
- Configurable options to exclude files, apply sync rules, and customize behavior.
- Synchronization history to track past changes.
- Reset functionality to clear saved states and start fresh.
- Dry-run support to preview changes before applying them.
- Recursive sync for nested directories.
- Verbose logging for detailed insights.
cargo install syncly
- Clone the repository:
git clone https://github.com/ArshilHapani/syncly.git cd syncly
- Build and install:
cargo build --release
- Add the binary to your PATH:
export PATH=$PATH:$(pwd)/target/release
Here’s the above CLI structure in a tabular format for better readability:
Command | Description |
---|---|
init |
Initialize Syncly in the current directory. |
sync |
Synchronize files between the source and target directories. |
status |
Show the synchronization status and pending changes. |
config |
Configure Syncly settings (e.g., sync rules, excluded files). |
history |
View the synchronization history. |
reset |
Reset the synchronization state. |
help |
Display this help menu. |
Option | Description |
---|---|
-s , --source <path> |
Specify the source directory for synchronization. |
-t , --target <path> |
Specify the target directory for synchronization. |
-e , --exclude <list> |
Exclude specific files or directories (comma-separated). |
-r , --recursive |
Synchronize directories recursively. |
-d , --dry-run |
Simulate synchronization without making changes. |
-v , --verbose |
Enable verbose output for detailed logs. |
-h , --help |
Display this help menu. |
syncly init
syncly sync -s /path/to/source -t /path/to/target
syncly status
syncly config --exclude "node_modules,temp,.git"
syncly reset
We welcome contributions to make Syncly even better! Follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/your-feature
- Commit your changes:
git commit -m "Add your feature"
- Push your branch:
git push origin feature/your-feature
- Open a Pull Request.
- Documentation: Syncly Wiki
- Issues: Report an Issue
Syncly is licensed under the MIT License. Feel free to use, modify, and distribute it as per the terms of the license.
Happy Synchronizing! 🚀 Keep your files consistent with Syncly!