Skip to content

Instantly share code, notes, and snippets.

@wtrocki
Created November 14, 2016 13:42
Show Gist options
  • Select an option

  • Save wtrocki/9e71f40337a8bc916bef52d75dd7c477 to your computer and use it in GitHub Desktop.

Select an option

Save wtrocki/9e71f40337a8bc916bef52d75dd7c477 to your computer and use it in GitHub Desktop.

How to contribute

Thank you for your interest in contributing to the FeedHenry project. We want keep this process as easy as possible so we've outlined a few guidelines below. For more information about the FeedHenry project, visit our website.

Asking for help

Whether you're contributing a new feature or bug fix, or simply submitting a ticket, the FeedHenry team is available for technical advice or feedback. You can reach us at #feedhenry on Freenode IRC or the feedhenry-dev list -- both are actively monitored.

Getting started

  • Make sure you have a JIRA account
  • Make sure you have a GitHub account
  • Submit a ticket for your issue to the FeedHenry project, 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 master branch.
    • To quickly create a topic branch based on master; git checkout -b <branch name> master. By convention we typically include the JIRA issue key in the branch name, e.g. FH-1234-my-feature.
    • Please avoid working directly on the master branch.
  • Make commits of logical units.
  • Make sure your commit messages are in the [proper format]. (http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
  • Follow the coding style that in use.
    • Depending on the project, jshint and eslint validator profiles will be available.
  • Check for unnecessary whitespace with git diff --check before committing.
  • Make sure you have added the necessary tests for your changes.
  • Run all the tests to assure nothing else was accidentally broken.
    • For node.js components this can usually be done with the grunt command line tool.

Submitting changes

  • Push your changes to a topic branch in your fork of the repository.
  • Submit a pull request to the repository in the [feedhenry organization] (https://github.com/feedhenry) and choose branch you want to patch (usually master).
    • Advanced users may want to install the GitHub CLI and use the hub pull-request command.
  • Update your JIRA ticket to mark that you have submitted code and are ready for it to be reviewed (Status: Dev Complete).
    • Include a link to the pull request in the ticket.
  • Add detail about the change to the pull request including screenshots if the change affects the UI.

Reviewing changes

  • After submitting a pull request, one of FeedHenry team members will review it.
  • Changes may be requested to conform to our style guide and internal requirements.
  • When the changes are approved and all tests are passing, a FeedHenry team member will merge them.
  • Note: if you have write access to the repository, do not directly merge pull requests. Let another team member review your pull request and approve it.

Coding best practices

We have compiled a set of best practices for each programming language we use. View them here.

Additional Resources

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment