Skip to content

Contributing

Elliot Chance edited this page Dec 26, 2017 · 2 revisions

There are lots of ways to contribute to the c2go project. There is no contribution that is too small. Every positive change you make will improve the entire project for many others, now and in the future.

  1. Simply using c2go. This may seem obvious, but just getting people using it as the tool it is designed for can uncover bugs.
  2. Submit a bug or request a new feature by raising an issue on the issue tracker.
  3. Help the project and others by promoting it. Writing a blog post, posting on social media (Twitter, Facebook, etc) or even telling a friend or colleague about the project can go a really long way.
  4. Ask questions or just say hello on our Gitter. This is where you will get the fastest responses and be able to have discussions with others about anything to do with the project.
  5. Become a contributor. There are lots of small issues to get your started. Don't hesitate to ask questions on Gitter.

Contributing is done through pull requests. Some things you should know (or at least keep in mind):

Style

  1. All code must be formatted with go fmt (that's tabs, not spaces for indentation). The Travis CI build will actually fail if the code does not fit this style.
  2. The project uses a margin of 80 characters (considering a tab size of 4). Lines longer than this will not fail the build but they should be avoided if possible.

Quality

All code - whether it is a bug fix or new feature - will be reviewed on Reviewable by at least one other member of the project. If you have never done a code review before, don't worry, it just means that someone else will look over your code any make sure it looks OK. Perhaps they might suggest improvements or potential bugs before your code is merged in.

Maintainability

Almost all PRs (bug fixes or new features) should also include tests. The best kind of tests (at the moment) are the integration tests since these are real world examples. If you find an existing integration test you may add more functions, or create a new .c file if none of the others apply in your case.

Clone this wiki locally