Permalink
Browse files

PROJECT: add CONTRIBUTING.md

  • Loading branch information...
mrexodia committed Oct 1, 2017
1 parent ba6e6de commit c4cc5a5f8625fc95c8c0bd4e3936a5959e75d6ec
Showing with 66 additions and 0 deletions.
  1. +66 −0 CONTRIBUTING.md
View
@@ -0,0 +1,66 @@
# Contributing
Welcome to x64dbg! This document is relevant for you if you want to contribute to the project. If you just want to use x64dbg, go to the [website](https://x64dbg.com) instead.
## Overview
This is a list of things you can do to help us out (in no particular order). Each item will be expanded upon later in the document.
- [Compile x64dbg](https://github.com/x64dbg/x64dbg/wiki/Compiling-the-whole-project) and add new features ([easy issues](http://easy.x64dbg.com) are a good place to start).
- [Report bugs](http://report.x64dbg.com) at the issue tracker.
- Add feature requests to the [issue tracker](http://issues.x64dbg.com).
- [Write a blogpost](http://x64dbg.com/blog/2016/07/09/Looking-for-writers.html) for the [official blog](http://blog.x64dbg.com).
- [Contact us](http://x64dbg.com/#contact) and talk about x64dbg.
- Send a [donation](http://donate.x64dbg.com) to support the project.
- [Translate](http://translate.x64dbg.com) x64dbg (contact us if your language isn't listed).
- Help us improve the [documentation](https://github.com/x64dbg/docs/issues).
### Compile x64dbg
There is a guide to [compiling the whole project](https://github.com/x64dbg/x64dbg/wiki/Compiling-the-whole-project) available. This might seem difficult at first, but if you install the correct versions of the *Prerequisites* it will be a breeze.
Compiling x64dbg is very useful to us (even if you don't add any code). Your experience can improve this guide and help new contributors.
#### Getting started with development
As with any open source project, documentation is lacking and the code can seem very daunting at first. Here is a list of resources that can help you understand the architecture and get you started.
- [Architecture of x64dbg](https://x64dbg.com/blog/2016/10/04/architecture-of-x64dbg.html) (**must read**)
- [The x64dbg threading model](https://x64dbg.com/blog/2016/10/20/threading-model.html) (**must read**)
- [User interface design principles](https://x64dbg.com/blog/2016/08/08/user-interface-design-principles.html) blog post. It explains some of the design philosophy.
- [Control flow graph](https://x64dbg.com/blog/2016/07/27/Control-flow-graph.html) blog post. The post links to the relevant code sections.
- Blog post about the [plugin SDK](https://x64dbg.com/blog/2016/07/30/x64dbg-plugin-sdk.html). Writing an x64dbg plugin can also help you understand the code structure.
This is by no means an exhaustive list and we are still working on lowering the barrier for new contributors. The feedback of new contributors is vital to reaching this goal.
### Report bugs
If you want to have the highest chance of getting your problem solved, you are going to have to put in some effort. The vital things are:
1. Search the issue tracker to see if your bug has not been reported already.
2. Give concrete steps on how to reproduce your bug.
3. Tell us exactly which version of x64dbg you used and the environment(s) you reproduced the bug in.
You can take a look at the [issue template](https://github.com/x64dbg/x64dbg/blob/development/.github/ISSUE_TEMPLATE.md) for more details.
### Request features
Feature requests are often closed because they are out of scope. If you request one anyway, make sure to give a clear description of the desired behaviour and give clear examples of cases where your feature would be useful.
We understand that it can be disappointing to not get your feature implemented, but opening an issue is the best way to communicate it regardless.
### Write a blogpost
The x64dbg blog is open to all contributors (foreign and domestic). We encourage anyone who has an interesting encounter with the x64dbg code base, or a use case to share it with the community. For a guideline on how/what to contribute see the [blog post](https://x64dbg.com/blog/2016/07/09/Looking-for-writers.html) about contributing to the blog. Don't worry about contributing complex posts, we welcome ALL experience levels to add content to the blog!
### Contact us
There are several ways to reach out to the community of x64dbg developers, contributors and users. Chat channels consist of a [Telegram](https://telegram.me/x64dbg), [Gitter](http://gitter.x64dbg.com/) and [IRC](http://webchat.freenode.net/?channels=x64dbg) channel. Most questions regarding contributing, developing and using x64dbg can be answered here. To ensure channel cohesion a bot will sync messages across all three channels. (when it is not down ;))
### Translate
To help translate x64dbg, just head over to http://translate.x64dbg.com, click a language you want to translate and start filling in entries.
### Improve the documentation
If you see any room for improvement in the [documentation](http://help.x64dbg.com), just send a pull request or contact us to discuss your changes.

0 comments on commit c4cc5a5

Please sign in to comment.