https://github.com/burgerbuds/swiff
💁 Command line tools for common local ↔ remote server tasks.
https://github.com/burgerbuds/swiff
command-line-app command-line-tool developer-tools development-environment local-database mysql ssh web-tools
Last synced: 7 months ago
JSON representation
💁 Command line tools for common local ↔ remote server tasks.
- Host: GitHub
- URL: https://github.com/burgerbuds/swiff
- Owner: burgerbuds
- License: other
- Created: 2018-12-19T00:03:50.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-03-01T11:27:02.000Z (about 2 years ago)
- Last Synced: 2025-10-05T07:51:34.248Z (7 months ago)
- Topics: command-line-app, command-line-tool, developer-tools, development-environment, local-database, mysql, ssh, web-tools
- Language: JavaScript
- Homepage:
- Size: 2.64 MB
- Stars: 106
- Watchers: 2
- Forks: 4
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Swiff
[](https://www.npmjs.com/package/swiff)
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](https://github.com/simple-integrated-marketing/swiff/wiki/Creating-and-adding-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](https://nodejs.org/en/) - A JavaScript runtime built on Chrome's V8 JavaScript engine
- [Ink 2](https://github.com/vadimdemedes/ink) - React for interactive command-line apps
- [Babel](https://babeljs.io/) - JavaScript transpiling
- [Prettier](https://github.com/prettier/prettier) - Code cleaning
## Credits
Sounds by [Emoji Sounds](https://icons8.com/sounds)
Created by [@benrogerson](https://twitter.com/benrogerson) and Sam Stevens
Swiff has been agency battletested by [Simple](https://simple.com.au) who specialise in Craft CMS websites