Skip to content
This repository has been archived by the owner on Jan 2, 2025. It is now read-only.

Latest commit

 

History

History
85 lines (69 loc) · 3.29 KB

contributing.md

File metadata and controls

85 lines (69 loc) · 3.29 KB

Contributing

Thanks for wanting to contribute to Webcomic; contributions are always welcome! These guidelines should help get you started.

  1. Review the Code of Conduct
  2. Submit an issue or select an existing issue to work on
  3. Fork this repository
  4. Clone your fork
  5. Create a branch
  6. Make changes
  7. Test your changes
  8. Create a pull request with a good commit message

Development Tools

Webcomic uses a variety of open source software to manage development; you'll want to at least install Composer, Node, PHP 7 with php-ast and xdebug, Vagrant, and VirtualBox. If you're working on a Mac you can install the suggested software using Homebrew Bundle.

You can install the development dependencies and launch the development environment with:

npm install; npm start

A set of automation tasks is available through npm to help with processing assets and running tests. You can see a list of available tasks with:

npm run

The test box hosts a WordPress multisite install with a set of development plugins network-activated and the WordPress Theme Unit Test Data pre-loaded. Some box administration tools are available at the admin subdomain (e.g. admin.local.test). Use the username and password root to login to WordPress and the box administration tools.

If you're making changes that need cross-browser testing you can test in Edge and Internet Explorer with:

npm run start:edge

Coding Standards

Webcomic adheres to a customized version of the WordPress Coding Standards and uses the WordPress PHPUnit Test Framework. Before submitting a pull request you should:

  1. Resolve or annotate any coding standard issues.
  2. Add tests to cover all changes.
  3. Verify that all new and existing tests pass.

The test box hosts the database used to run PHPUnit tests locally. Group tests by component (e.g. @group collection); add isolated tests to the isolated group as well as their component group.