Awesome Open Source
Awesome Open Source

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

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


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
javascript (63,933) 
mysql (864) 
developer-tools (281) 
ssh (281) 
command-line-tool (237) 
development-environment (48) 
command-line-app (23) 

Find Open Source By Browsing 7,000 Topics Across 59 Categories