Skip to content
πŸ’ Command line tools for common local ↔ remote server tasks
Branch: master
Clone or download
Latest commit d6d707b Feb 3, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
backups init Jan 3, 2019
dist build Feb 2, 2019
resources add demo Feb 3, 2019
.babelrc init Jan 3, 2019
.gitattributes binary lock Jan 22, 2019
package-lock.json 1.1.6 Feb 2, 2019


npm version

Swiff saves you time with common SSH tasks during the development of websites/apps

interface example demo

πŸš€ File uploads
Upload and sync files to remote folders via SSH

πŸ“₯ File downloads
Download fresh files from remote folders via SSH

πŸ’« Local database updates
Quick replacement of your project database with the remote

πŸ’» Remote terminal connection
Launch a SSH session directly into the remote site/app folder

🎩 Local composer.json/lock updates
Refresh your composer files with the latest updates from the remote

Getting started

  1. Install Swiff globally with NPM:
    npm install --global swiff

  2. Run swiff within a project folder to start the task interface

Run swiff --help for a list of flags for once off tasks

Additional features

  • Custom SSH identity: Swiff will attempt to use your identity located at: /Users/[currentUser]/.ssh/id_rsa
    You can specify a custom SSH key path in your .env file with:

  • Trustable backups: Your local database and composer files are backed up before they are replaced.
    Run swiff --backups to open the backups folder

  • Single run shortcuts: Complete tasks in 'non-interactive mode' using flags. See swiff --help for the list of flags


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 Brew version as of 25.01.19)

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


  • Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine
  • Ink - React for interactive command-line apps
  • Babel - JavaScript transpiling
  • Prettier - Code cleaning


Sounds by Emoji Sounds
Created by @benrogerson and Sam Stevens

Swiff has been agency battletested by Simple who specialise in Craft CMS websites

You can’t perform that action at this time.