Swiff saves you time with common SSH tasks during the development of websites/apps
🚀 Folder push and pull
Keep folders in sync between servers
💫 Database push and pull
Manage the database between servers (auto backup)
🎩 Composer file push and pull
Move composer files between servers (auto backup)
💻 Remote terminal connection
Launch a SSH session directly into the remote site/app folder
npm install --global swiff
swiff within a project folder to start the task interfaceRun swiff --help for a list of flags to run a specific task
/Users/[currentUser]/.ssh/id_rsaYou can specify a custom SSH key path in your .env file with:
SWIFF_CUSTOM_KEY="/Users/[your-user]/.ssh/[key-filename]"
- Gzipped backups: Your files and database get backed up and gzipped whenever they change
- Disable specific tasks: Specify the tasks to disable with a config setting
Swiff requires MySQL to use the database features.
We recommend using MariaDB, an enhanced, drop-in replacement for MySQL.
brew install mariadb@10.2 (latest as of April 2019)
For the Database & Composer tasks, a PEM format SSH key is required
Read about how to create and add a new SSH key
Running Windows or Linux? Swiff has been tested on macOS so issues are likely on other operating systems
Sounds by Emoji Sounds
Created by @benrogerson and Sam Stevens
Swiff has been agency battletested by Simple who specialise in Craft CMS websites
$ claude mcp add swiff \
-- python -m otcore.mcp_server <graph>