Migration Guide

These are steps you can take to help comply with the Friends Of Cake project requirements.

Continuous integration with TravisCI

  • Add a .travis.yml file to the root of your project and activate the GitHub webhook.

  • Ensure your matrix includes the PHP versions from the boarding requirements.
  • Ensure your matrix includes the CakePHP versions from the boarding requirements.
  • Please keep Notifications: email set to false to avoid spamming (perhaps add IRC notifications?).

Review an example .travis.yml from a Friends Of Cake project.

CakePHP code style guide

phpcs –standard=CakePHP is used to check coding standards. More information is available on GitHub at cakephp-codesniffer.

Composer support

  • Add a composer.json file to the root of your project, see http://getcomposer.org/doc/04-schema.md
  • Set the vendor part of your name property to friendsofcake (i.e. friendsofcake/yet-another-wonderful-name).
  • Ensure you use the installer-name extra as Composer package names don’t allow uppercases, yet CakePHP expects your plugin folder name to be CamelCased.

Review an example composer.json from a Friends Of Cake project.

Code coverage with Coveralls

  • Write tests. 🙇
  • Add a .coveralls.yml file to the root of your project.
  • Ensure Travis handles Coveralls (see Travis example above).

Packagist

Submit the package to Packagist.

MIT license

Add a LICENSE.txt file to the root of your project.

Review an example LICENSE.txt from a Friends Of Cake project.

Documenation

  • Must have well documented code (docblocks, @annotations etc)
  • Must have well documented user guide with examples.
  • GitHub Wiki pages should not be used for documentation. Use gh-pages or README.md.

GitHub releases

Releases and Tags must use semantic versioning with descriptive changelogs. Head to GitHub for more information on creating releases.

Branching

  • Must use master for stable release, develop for integration branch and feature branches for the rest.

Get In Touch

Have a plugin or project that would benefit the community? Get in touch to discuss adopting it into Friends Of Cake, increasing its visibility and reach.

We hang out in CakePHP's #support channel on Slack.