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
- Documentation
- Usage
- Commands
- Tutorial
- Wordup for Visual Studio Code
- Learn more
- License / Contributing
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). You can also add code snippets like Gutenberg blocks to your source code.
- βοΈAutomatic installation of dependencies - Automatically download and activate public WordPress Plugins/Themes or even Github hosted projects (like e.g. wp-graphql)
- πFixtures - Add posts, pages, media files and many more automatically to your WordPress installation and develop immediately with your own page structure
- π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
- βοΈCatch emails - Catch all emails from WordPress and view the outgoing emails in a web UI
Checkout this VIDEO on our website to see how fast you can setup a new WordPress dev environment.
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.
For detailed information visit docs.wordup.dev
$ npm install -g wordup-cli
$ wordup COMMAND
running command...
$ wordup (-v|--version|version)
wordup-cli/0.7.3 darwin-x64 node-v10.15.0
$ wordup --help [COMMAND]
USAGE
$ wordup COMMAND
...
wordup export TYPE
wordup help [COMMAND]
wordup init
wordup install
wordup list
wordup snippet TYPE NAME
wordup start
wordup stop
wordup wpcli COMMAND
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
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
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|installation 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
Install and start the WordPress development server
USAGE
$ wordup install
OPTIONS
-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 wpInstall config in .wordup/config.yml, a setup 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
The web frontend for the catched emails (MailHog) is available on localhost:[WORDPRESS_PORT + 1]
Wordup will assign automatically a different default port, if the default port of 8000 is taken by another wordup
project.
Note: Flags in this command overrule the wordup config.yml.
See code: src/commands/install.js
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
Add code snippets like Gutenberg blocks, custom post types or taxonomies to your code
USAGE
$ wordup snippet TYPE NAME
ARGUMENTS
TYPE (block|post-type|taxonomy) What type do you want to add to your project
NAME Name of the element you want to add
OPTIONS
--logs Shows all stdout logs of this process
DESCRIPTION
...
This code snippets will be added to your current project source code. You can add as many as you want.
Just include the generated php file in your main project file.
As an example: wordup snippet block MyGutenbergBlock
See code: src/commands/snippet.js
Start the WordPress development server
USAGE
$ wordup start
OPTIONS
-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
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
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
Checkout the interactive tutorial on Google Cloud Shell:
If you use VSCode for your development, you can install our VSCode extension. This extension will integrate all wordup features in your favorite editor.
To learn more about wordup in general, visit: https://wordup.dev
wordup-cli is an open-source project. If you are interested in contributing to wordup-cli, fell free to join us.
See the LICENSE file for details.