Skip to content

Create CONTRIBUTING.md #38

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Aug 5, 2018
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# How to contribute
- Tensorflex is a library still in it's nascent stages, so we really appreciate third-party pull requests for improving it.
- There are only very minimal guidelines that need to be followed by developers before submitting code.

## Guidelines
- Please open an issue if extant functionality is not working as expected with __proper usage (or failure) examples__, and __mention the current Tensorflow C API version you are running along with your OS__.
- If you would like to submit a pull request as a fix for opened issues, refer to the issue in your PR and ensure that adding your code does not break any other tests.
- If you are submitting a PR with new functionality, please write documentation adhering to the existing documentation style (read the docs [here](https://hexdocs.pm/tensorflex/Tensorflex.html)), and also write tests describing this functionality. You can also open an issue for new functionality to discuss your ideas with the contributors/maintainers.

## Key contribution areas
Tensorflex basically involves four main functionalities that can be improved upon:
- Improving code for matrices, linear algebra, and numeric computation through NIFs __[Intermediate]__
- Writing/using Python examples for pre-existing graphs (or creating your own graph models) and running them in Tensorflex, replete with the entire prediction pipeline __[Beginner]__
- Porting over the Tensorflow C API's functionality in the form of NIFs that _adds_ value to Tensorflex __[Intermediate]__
- Adding low-level C code that will help improve upon the functionality missing in the Tensorflow C API and then porting those to Tensorflex using NIFs __[Advanced]__

## Getting started
- Pick any one of the four contribution areas, depending on your comfort level with NIFs, Elixir, or Tensorflow, and think of a contribution. Feel free to discuss your ideas with any of the contributors beforehand by opening an issue for new functionality.
- Fork the repository, and then clone it.
- Add the functionality locally, make sure tests pass (`mix test`), and write (then view) documentation (`mix docs`). If all is fine, push those commits to your branch and submit a PR to `master`.