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
-
Install Swiff globally with npm:
npm install --global swiff
-
Run
swiff
within a project folder to start the task interface
Run swiff --help
for a list of flags to run a specific task
- 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:
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 [email protected]
(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
- Node.js - A JavaScript runtime built on Chrome's V8 JavaScript engine
- Ink 2 - 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