Development toolkit for setting up and managing your local WordPress Theme/Plugin


Keywords
wordpress, wordup, devtools, php, oclif, cli, docker, developer-tools, docker-compose, nodejs, npm-package, web, wordpress-development, wp-cli
License
GPL-3.0
Install
npm install wordup-cli@0.7.2

Documentation

Wordup CLI

Wordup

oclif Version Downloads/week

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

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 then wordup 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

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:

Open in 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