raycast-rsync-extension
v1.0.4
Published
Transfer files between local and remote servers using rsync with SSH config integration
Readme
Raycast Rsync Extension
A Raycast extension for transferring files between local and remote servers using rsync with SSH config integration.
Features
- Upload files from local system to remote servers
- Download files from remote servers to local system
- Automatic SSH config parsing from ~/.ssh/config
- Support for recursive directory transfers
- User-friendly interface with searchable host list
Installation
- Clone this repository
- Run
npm installto install dependencies - Run
npm run devto start development mode
Usage
Upload Files
- Open Raycast and search for "Upload Files via Rsync"
- Select a host from your SSH config
- Choose local files to upload
- Enter the remote destination path
- Confirm to start the transfer
Download Files
- Open Raycast and search for "Download Files via Rsync"
- Select a host from your SSH config
- Enter the remote file path
- Choose local destination directory
- Confirm to start the transfer
Requirements
- SSH config file at ~/.ssh/config with configured hosts
- SSH access to remote servers
- rsync installed (usually pre-installed on macOS and Linux)
- Raycast installed
Development
# Install dependencies
npm install
# Start development mode
npm run dev
# Build for production
npm run build
# Lint code
npm run lint
# Fix linting issues
npm run fix-lint
# Run tests
npm run test
# Run tests in watch mode
npm run test:watchTesting
The project includes comprehensive test coverage using Vitest:
- Unit tests for utilities (SSH config parsing, validation, rsync command building)
- Component tests for UI components
- E2E tests for upload and download workflows
Run tests with npm run test or use npm run test:watch for development.
License
This project is licensed under the MIT License - see the LICENSE file for details.
