/wordup-cli

Wordup is a fully integrated development platform for WordPress. Develop plugins and themes locally. Preview in the cloud. Automatic updates in WP.

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Wordup CLI

⚠️CAUTION: This package is unmaintained

Version Downloads/week Twitter Follow

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). 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)
  • 🚀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.
  • 👾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
  • ✉️Catch emails - Catch all emails from WordPress and view the outgoing emails in a web UI

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

Documentation

For detailed information visit docs.wordup.dev

Usage

$ npm install -g wordup-cli
$ wordup COMMAND
running command...
$ wordup (-v|--version|version)
wordup-cli/1.0.0 darwin-x64 node-v10.15.0
$ wordup --help [COMMAND]
USAGE
  $ wordup COMMAND
...

Commands

wordup cloud:auth

Authenticate the CLI with your wordup account

USAGE
  $ wordup cloud:auth

OPTIONS
  -l, --logout  Logout of your account

DESCRIPTION
  ...
  You will be redirect to the wordup.dev page.

See code: src/commands/cloud/auth.js

wordup cloud:clone

Clone current running WordPress installation to a new node in your wordup account

USAGE
  $ wordup cloud:clone

DESCRIPTION
  ...
  This command will automatically backup and upload your running WordPress installation to wordup.

  After cloning the project, your data will be deleted from our servers.

See code: src/commands/cloud/clone.js

wordup cloud:project

Create a new remote project on wordup.dev

USAGE
  $ wordup cloud:project

OPTIONS
  --public  Create a public project

DESCRIPTION
  ...
  Use this function to create a remote project on wordup.dev from your local project config.

See code: src/commands/cloud/project.js

wordup cloud:publish

Publish your WordPress theme or plugin to your private theme/plugin directory on wordup.

USAGE
  $ wordup cloud:publish

OPTIONS
  --env=release|staging          (required) Specify the environment you want to publish to
  --increment=major|minor|patch  [default: minor] Increment a version by the specified level
  --token=token                  A provided project token

DESCRIPTION
  ...
  The private directory on wordup manages your WordPress plugin and theme projects in the cloud.

  After publishing the project, all WordPress installations can update your theme/plugin to the new project version.

See code: src/commands/cloud/publish.js

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
  --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, you can start the docker development server with 'wordup local:install'

See code: src/commands/init.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 local:install

Install and start the WordPress development server

USAGE
  $ wordup local:install

OPTIONS
  -p, --port=port    [default: 8000] Install on a different port
  --archive=archive  Install from a wordup archive (needs to be located in your dist folder).
  --build            Build the WordPress docker container on your system
  --logs             Shows all stdout logs of this process
  --prompt           If you want to do the setup again

DESCRIPTION
  ...
  If there is no wpInstall config in .wordup/config.yml, a setup for your installation will be shown.

  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.

ALIASES
  $ wordup install

See code: src/commands/local/install.js

wordup local:start

Start the WordPress development server

USAGE
  $ wordup local:start

OPTIONS
  --logs  Shows all stdout logs of this process

DESCRIPTION
  ...
  You can onl run this command if your development stack is installed.

ALIASES
  $ wordup run
  $ wordup start

See code: src/commands/local/start.js

wordup local:stop

Stop the development server

USAGE
  $ wordup local: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

  --force                Force delete

  --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.

ALIASES
  $ wordup stop

See code: src/commands/local/stop.js

wordup snippet TYPE NAME

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

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. 

  If you run wordup wpcli without any argument, you will directly access the command line of the underlying docker 
  container.

See code: src/commands/wpcli.js

Wordup for Visual Studio Code

If you use VSCode for your development, you can install our VSCode extension. This extension will integrate all wordup features in your favorite editor.

License / Contributing

wordup-cli is an open-source project. If you are interested in contributing to wordup-cli, feel free to join us.

See the LICENSE file for details.