Skip to content
This repository has been archived by the owner on Dec 1, 2019. It is now read-only.

Latest commit

 

History

History
69 lines (50 loc) · 2.96 KB

CONTRIBUTING.markdown

File metadata and controls

69 lines (50 loc) · 2.96 KB

How to contribute

Slugomatic loves to welcome your contributions. There are several ways to help out:

  • Create a ticket in GitHub, if you have found a bug
  • Write testcases for open bug tickets
  • Write patches for open bug/feature tickets, preferably with testcases included
  • Contribute to the documentation

There are a few guidelines that we need contributors to follow so that we have a chance of keeping on top of things.

Getting Started

  • Make sure you have a GitHub account
  • Submit a ticket for your issue, assuming one does not already exist.
    • Clearly describe the issue including steps to reproduce when it is a bug.
    • Make sure you fill in the earliest version that you know has the issue.
  • Fork the repository on GitHub.

Making Changes

  • Create a topic branch from where you want to base your work.
    • This is usually the develop branch
    • To quickly create a topic branch based on master; git branch master/my_contribution master then checkout the new branch with git checkout master/my_contribution. Better avoid working directly on the master branch, to avoid conflicts if you pull in updates from origin.
  • Make commits of logical units.
  • Check for unnecessary whitespace with git diff --check before committing.
  • Use descriptive commit messages and reference the #ticket number
  • Core testcases should continue to pass. You can run tests locally or enable travis-ci for your fork, so all tests and codesniffs will be executed.
  • Your work should apply the CakePHP coding standards.

Which branch to base the work

  • Bugfix branches will be based on develop branch.
  • New features that are backwards compatible will be based on develop branch
  • New features or other non-BC changes will go in the next major release branch.

Submitting Changes

  • Push your changes to a topic branch in your fork of the repository.
  • Submit a pull request to the repository with the correct target branch.

Testcases and codesniffer

Slugomatic tests requires PHPUnit 3.5 or higher. To run the testcases locally use the following command:

./lib/Cake/Console/cake test Slugomatic AllSlugomatic

To run the sniffs for CakePHP coding standards

phpcs -p --extensions=php --standard=CakePHP ./app/Plugin/Slugomatic

Check the cakephp-codesniffer repository to setup the CakePHP standard. The README contains installation info for the sniff and phpcs.

Additional Resources