Skip to content

πŸ’ Command line tools for common local ↔ remote server tasks.

License

Notifications You must be signed in to change notification settings

burgerbuds/swiff

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

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