tj, a tool that helps you create new local WordPress development sites, manage existing sites, and deploy them, all from the command line.
tj handles all of the hard stuff: creation of a local development environment, managing local and remote WordPress sites, and the most annoying part of all, actually deploying those sites. Say goodbye to MAMP!
tj requires Vagrant and VirtualBox to be able to create virtual machines for local development. Please download and install both of these before getting started.
If you plan on using
tj for deployments, you should also ensure that your
remote servers have WP-CLI installed in order for
tj to be able to handle database migration.
I recommend one of the latest versions of Ruby MRI (2.2, 2.1, 2.0).
tj requires at least MRI 1.9.3. For the full report, check out the Travis CI build status, where I test against an array of Ruby interpreters.
I also recommend you set up SSH-keys for GitHub. Internally,
git clone with SSH URLs, so things might break if you don't have your keys set up properly.
gem install theme-juice
tj-create - Create a new project
tj create [--flag=arg] [--flag]
Creates a new project. It will lead you through a series of prompts to set up required project information, such as name, location, template, database info, etc. Using the specified information, it will run the installation process below.
tjwill execute init(1) if the VM is uninitialized
tjwill clone the selected starter template
tjwill run the starter template's Juicefile(5)
tjwill create all of the necessary project files, such as:
Customfilecontaining DNS and synced folder settings
init-custom.sqlcontaining database setup
project.confcontaining server settings
wp-cli.local.ymlcontaining VM paths
tjwill provision the VM to put the new configuration into effect
If you've never used
tj before (meaning, this is your first create(1)), then
that last step might take awhile. After that's done, you should be able to
access your new project at the specified url. It's that easy!
Name of the project
Location of the local project
Starter template to install
Revision hash or branch to checkout for starter template (default is master)
Development URL for the project
Initialize a new git(1) remote repository
Import an existing database
Create a project without a starter template
Skip repository prompts and use default settings
Skip database prompts and use default settings
Skip all prompts and use default settings
Project is not a wordpress(7) install
Skip creating the local wp-cli(1) config file
Project does not need a database
Project does not need a
Project does not have a Juicefile(5) config
wp-config.phpfile contents with project configuration (this flag automatically disables the
.envfile when used)
Project does not need SSL support