Skip to content

Latest commit

 

History

History
76 lines (53 loc) · 2.68 KB

CONTRIBUTING.md

File metadata and controls

76 lines (53 loc) · 2.68 KB

Contribution Guidelines

## Creating issues

Feature requests and bug reports should be made by using the issue tracker. Support questions should be directed to our support email; [[email protected]](mailto:[email protected]?subject=Cachet Support).

Always be respectful. Organization members reserve the right to lock topics if they feel necessary.

Languages

Any non-English translations must be made on the Cachet CrowdIn project. This makes syncing translations much easier.

Coding Standards

Please follow existing coding standards:

<?php

namespace CachetHQ\Cachet\Controller;

use CachetHQ\Cachet\Bar;

class Foo extends Bar
{
    public function baz()
    {
        if ($condition) {
        }
    }
}
  • At least one newline separating namespace, use, function and class declarations.
  • Spaces around operators, loops, conditions and control blocks:
    <?php
    use \Exception;
    
    if ($condition === (10 + 2)) {
        try {
            throw Exception("Something went wrong...");
        } catch (Exception $e) {
            // Do something here.
        }
    }
  • Braces on a new line following: namespace, use, function and class.
  • PHP constants should be in lowercase; true, false and null.
  • Defined constants should always be in uppercase.
  • Never leave trailing spaces at the end of a line.
  • Files should end with one blank line.
  • Do not use # Bash style comments.
  • Always add or update Docblocs to functions.
  • We use StyleCI to automatically check code standards in Pull Requests. If your PR fails the CI check, then apply the supplied patch and re-push.

If you're still unsure, then take a look at existing code.

Introduction into Git and GitHub

If you are new to Git, GitHub and the whole open source software community, welcome! Here are some resources for getting started and understanding what it's all about.

If you're not particularly fond of the command line, you can get one of GitHub's free GUI desktop apps:

If you're feeling adventurous, you can become a Git & GitHub master with the Git Path on Code School.

.editorconfig

You should also make use of the .editorconfig file found within the root of the repository. It'll make sure that your editor is setup with the same file settings.