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 our friendly IRC channel #FriendsOfCake on Freenode.