Skip to content
πŸ’ Command line tools for common local ↔ remote server tasks.
JavaScript
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
backups init Jan 3, 2019
dist fix highlight colours Jul 15, 2019
resources improve initial swiff.config Jul 13, 2019
src fix highlight colours Jul 15, 2019
.babelrc update to ink v2 May 6, 2019
.gitattributes binary lock Jan 22, 2019
.gitignore update to ink v2 May 6, 2019
LICENSE.md update package name and location Sep 4, 2019
README.md add new disable task feature Jul 13, 2019
package-lock.json [Security] Bump eslint-utils from 1.4.0 to 1.4.2 Aug 26, 2019
package.json update package name and location Sep 4, 2019
test.js update test names Apr 22, 2019

README.md

Swiff

npm version

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

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 to run a specific task

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:
    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

Requirements

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

Technology

  • 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

Credits

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.