diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 516fc78..7450718 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -3,29 +3,38 @@ Contributing Contributions are welcome! +Please carefully read this page before submitting a pull request. + ## Bug Reports -For bug reports or requests please [submit an issue](https://github.com/donnemartin/coding-challenges/issues) or send a [pull request](#pull-requests). - -## Notebook Installation - -Refer to [Accessing the Challenges](https://github.com/donnemartin/coding-challenges#accessing-the-challenges), [Notebook Installation](https://github.com/donnemartin/coding-challenges#notebook-installation), and [Nose Installation](https://github.com/donnemartin/coding-challenges#nose-installation) to set up your local environment. +For bug reports or requests [submit an issue](https://github.com/donnemartin/coding-challenges/issues). ## Pull Requests **Please follow the general [Repo Structure](https://github.com/donnemartin/coding-challenges#repo-structure) and [Notebook Structure](https://github.com/donnemartin/coding-challenges#notebook-structure) before submitting your pull request.** -### Adding Solutions to Existing Notebooks +### GitHub Pull Requests Docs -If adding new solutions to existing notebooks: -* Append your algorithm and code solution rather than replace a fellow contributor's work +If you are not familiar with pull requests, review the [pull request docs](https://help.github.com/articles/using-pull-requests/). + +### Notebook Installation + +Refer to [Accessing the Challenges](https://github.com/donnemartin/coding-challenges#accessing-the-challenges), [Notebook Installation](https://github.com/donnemartin/coding-challenges#notebook-installation), and [Nose Installation](https://github.com/donnemartin/coding-challenges#nose-installation) to set up your local environment. + +### Adding New Solutions to Existing Challenges + +Challenges have multiple solutions. If adding new solutions to existing challenges: +* Add your algorithm discusion and code solution to the existing notebook +* Update the unit test to include your solution * Verify your code passes the unit tests ### Adding New Challenges -There are several sample coding challenges that are not yet implemented such as the examples below. -* These challenges are merely suggestions; feel free to send pull requests on different challenges, or even entire categories of challenges +The README contains several sample challenges that are not yet implemented. +* The sample challenges are only suggestions, please do not limit yourself to only these topics +* Feel free to send pull requests on different challenges or categories of challenges * Try to keep the "Challenge" title relatively short and expand on the details within the notebook +* Review the [Repo Structure](https://github.com/donnemartin/coding-challenges#repo-structure) and [Notebook Structure](https://github.com/donnemartin/coding-challenges#notebook-structure) sections * Check out the [template challenge and solution notebooks](https://github.com/donnemartin/coding-challenges/templates/) to help you get started | Challenge | Static Notebooks | @@ -35,22 +44,24 @@ There are several sample coding challenges that are not yet implemented such as Update the list of challenges in the README so we can enjoy your challenge! +### Update Notebook Author(s) + +When contributing to a notebook, update the notebook author(s): + +This notebook was prepared by [Joe](https://github.com/Joe) and [Jane](https://github.com/Jane). Source and license info is on [GitHub](https://github.com/donnemartin/coding-challenges). + +### Maintain Consistent Style + +Please refer to the style of existing notebooks to help maintain consistency. A consistently themed collection of notebooks will help users more seamlessly transition from challenge to challenge. + +Review [PEP-8](https://www.python.org/dev/peps/pep-0008/) and the following [style guide](https://google-styleguide.googlecode.com/svn/trunk/pyguide.html). + ### Contributions in Languages Other than Python Feel free to share your thoughts on how we could best approach adding challenges in other [supported languages](https://github.com/ipython/ipython/wiki/IPython-kernels-for-other-languages): * Repo structure -* README static notebook links +* README challenge list * Installation instructions * Etc -### Style - -Please refer to the style of existing notebooks to help maintain consistency. A consistently themed collection of notebooks might help users more seamlessly transition from challenge to challenge. - -Review [PEP-8](https://www.python.org/dev/peps/pep-0008/) and the following [style guide](https://google-styleguide.googlecode.com/svn/trunk/pyguide.html). - -### Notebook Author(s) - -When contributing to a notebook, update the notebook author(s): - -This notebook was prepared by [Joe](https://github.com/Joe) and [Jane](https://github.com/Jane). Source and license info is on [GitHub](https://github.com/donnemartin/coding-challenges). \ No newline at end of file +Share your thoughts in this [issue](). \ No newline at end of file