Wordup CLI
Wordup CLI is an open-source development toolkit for setting up and managing your local WordPress Theme/Plugin development, so that you can totally focus on coding.
It is based on docker-compose and uses a docker containerized LAMP-stack with all WordPress Plugins/Themes you need for your current project.
- Features
- Examples
- Installation / Requirements
- Folder structure
- Usage
- Commands
- Tutorial
- Learn more
- Contributing
- License
Features
What you can do with wordup-cli:
-
💡 Rapidly test new ideas - And develop your new WordPress theme/plugin projects in wordup. -
⏱ Speed up your development - Install a new project with a blank WordPress installation in a matter of minutes -
🛠️ Boilerplate - Scaffold your theme/plugin with the official source code from WordPress (e.g. underscore) -
⚙️ Automatic installation of dependencies - Automatically download and activate public WordPress Plugins/Themes or even Github hosted projects (like e.g. wp-graphql) -
🚀 Easy portability - Export your theme/project or your whole WordPress installation. So that you can install it on a remote server. -
📦 Backup your installation - And (re)install a project from an exported wordup project. - 🤩Hassle-free remote WordPress connection - Install your project, based on an existing WordPress hosted website (with the wordup-connect plugin). Use this feature for example to test major WordPress updates with ease locally.
-
👾 Share your stack - wordup is the easiest way to share your WordPress project with the world or just your team members. Just type:git clone
, and thenwordup install
Examples
Checkout this VIDEO on our website to see how fast you can setup a new WordPress dev environment.
Installation / Requirements
Make sure you have node >= 8.3 (npm >= 5.2) and docker-compose installed on your machine.
We recommend to install wordup-cli globally:
$ npm install -g wordup-cli
After installing wordup-cli, you can create your first project with wordup init
If you don't want to install wordup-cli globally, you can also use wordup-cli as a devDependency via npx
. Start directly with a new wordup project:
$ npx wordup-cli init
npx wordup-cli init
will add automatically the wordup-cli to your new project devDependencies.
Note: If you use wordup-cli as a devDependency make sure to always use npx
before every wordup
command.
Folder structure
A default wordup project structure looks like this
├── .gitignore
├── README.md
├── package.json
├── dist
| └── (Your exported plugin/theme files)
└── src
├── .distignore
└── (Your plugin/theme src files)
Usage
$ npm install -g wordup-cli
$ wordup COMMAND
running command...
$ wordup (-v|--version|version)
wordup-cli/0.2.5 darwin-x64 node-v10.15.0
$ wordup --help [COMMAND]
USAGE
$ wordup COMMAND
...
Commands
wordup export TYPE
wordup help [COMMAND]
wordup init
wordup install
wordup list
wordup start
wordup stop
wordup wpcli COMMAND
wordup export TYPE
Export your plugin/theme or the whole WordPress installation
USAGE
$ wordup export TYPE
ARGUMENTS
TYPE (src|installation|sql) [default: src] What type do you want to export
OPTIONS
--logs Shows all stdout logs of this process
DESCRIPTION
...
The exported zip-file of a plugin/theme are ready for distribution.
An exported installation file can be used for setting up a remote WordPress installation or
for backing up your current development stack.
See code: src/commands/export.js
wordup help [COMMAND]
display help for wordup
USAGE
$ wordup help [COMMAND]
ARGUMENTS
COMMAND command to show help for
OPTIONS
--all see all commands in CLI
See code: @oclif/plugin-help
wordup init
Create a new wordup project in the current directoy
USAGE
$ wordup init
OPTIONS
--[no-]autoinstall Automatically install wordup project after init
--name=name A name for the new project
--type=plugins|themes What type of WordPress project
DESCRIPTION
...
After you have initialized a new project, 'wordup install' will be called automatically, as a postinstall script in
your package.json
You can stop this behavior with --no-autoinstall
See code: src/commands/init.js
wordup install
Install and start the WordPress development server
USAGE
$ wordup install
OPTIONS
-f, --force Force the installation of the project
-p, --port=port [default: 8000] Install on a different port
--archive=archive Install from a wordup archive.
--connect=connect Install from a WordPress running website.
--logs Shows all stdout logs of this process
--private-key=private-key Private key for the wordup-connect plugin
--prompt If you want to do the setup again
--siteurl=siteurl Specify a custom WordPress site url. Use --help for details.
DESCRIPTION
...
If there is no wordup installation config in your package.json, a setup to config for your installation will be shown.
You can set a custom site url for WordPress, but please be aware that you have to proxy this url to your
localhost:port
Note: Flags in this command overrule the config of your package.json.
See code: src/commands/install.js
wordup list
List all executable wordup projects
USAGE
$ wordup list
OPTIONS
--clear Clears the project list from non-existing projects
DESCRIPTION
...
If you see deleted projects in this list, run with --clear flag.
ALIASES
$ wordup ls
See code: src/commands/list.js
wordup start
Start the WordPress development server
USAGE
$ wordup start
OPTIONS
-f, --force Force the start of the project
-p, --port=port Overwrite installed port
--logs Shows all stdout logs of this process
DESCRIPTION
...
You can run only this command if your development stack is installed.
ALIASES
$ wordup run
See code: src/commands/start.js
wordup stop
Stop the development server
USAGE
$ wordup stop
OPTIONS
-d, --delete Deletes all attached volumes/data (WARNING: Your content in your WordPress installation will be
deleted)
-p, --project=project A project slug name
--logs Shows all stdout logs of this process
DESCRIPTION
...
Optionally you can use -d to delete the whole installation, this includes all files in your WordPress installation.
See code: src/commands/stop.js
wordup wpcli COMMAND
Use an official WordPress CLI command on the current running project
USAGE
$ wordup wpcli COMMAND
ARGUMENTS
COMMAND the wp cli command
OPTIONS
--logs Shows all stdout logs of this process
DESCRIPTION
...
As an example: wordup wpcli post list
See code: src/commands/wpcli.js
Tutorial
Checkout the interactive tutorial on Google Cloud Shell:
Learn more
To learn more about wordup in general, visit: https://wordup.dev
Contributing
wordup-cli is an open-source project. If you are interested in contributing to wordup-cli, fell free to join us.
License
See the LICENSE file for details