cubetech/sofa

WordPress boilerplate with modern development tools, easier configuration, and an improved folder structure (forked from roots/bedrock)

1.8.2 2016-12-07 11:42 UTC

README

Packagist Build Status

cubetech Sofa is a modern WordPress stack that helps you get started with the best development tools and project structure. This project is a fork from roots/bedrock

Much of the philosophy behind Bedrock is inspired by the Twelve-Factor App methodology including the WordPress specific version.

Features

  • Better folder structure
  • Dependency management with Composer
  • Easy WordPress configuration with environment specific files
  • Environment variables with Dotenv
  • Autoloader for mu-plugins (use regular plugins as mu-plugins)
  • Enhanced security (separated web root and secure passwords with wp-password-bcrypt)

Requirements

Installation

  1. Create a new project in a new folder for your project:

composer create-project roots/bedrock your-project-folder-name

  1. Copy .env.example to .env and update environment variables:
  • DB_NAME - Database name
  • DB_USER - Database user
  • DB_PASSWORD - Database password
  • DB_HOST - Database host
  • WP_ENV - Set to environment (development, staging, production)
  • WP_HOME - Full URL to WordPress home (http://example.com)
  • WP_SITEURL - Full URL to WordPress including subdirectory (http://example.com/wp)
  • AUTH_KEY, SECURE_AUTH_KEY, LOGGED_IN_KEY, NONCE_KEY, AUTH_SALT, SECURE_AUTH_SALT, LOGGED_IN_SALT, NONCE_SALT

If you want to automatically generate the security keys (assuming you have wp-cli installed locally) you can use the very handy wp-cli-dotenv-command:

  wp package install aaemnnosttv/wp-cli-dotenv-command

  wp dotenv salts regenerate

Or, you can cut and paste from the Roots WordPress Salt Generator.

  1. Add theme(s) in web/app/themes as you would for a normal WordPress site.

  2. Set your site vhost document root to /path/to/site/web/ (/path/to/site/current/web/ if using deploys)

  3. Access WP admin at http://example.com/wp/wp-admin

Deploys

There are one method supported by cubetech to deploy Sofa sites out of the box:

Any other deployment method can be used as well with one requirement:

composer install must be run as part of the deploy process.

Contributing

Contributions are welcome from everyone. We have contributing guidelines to help you get started.

Community

Keep track of development and community news.