Skip to content
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

[DOC] Request for Comments: Roadmap and Contributing #151

Merged
merged 32 commits into from
Nov 13, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
38c0997
[DOC] RFC: Roadmap
emdupre Nov 1, 2018
a0968a1
[DOC] Explain contributing philosophy
emdupre Nov 1, 2018
ef2f4d0
[DOC] Update contributing guidelines
emdupre Nov 1, 2018
f420af1
Merge remote-tracking branch 'upstream/master' into doc/roadmap
emdupre Nov 1, 2018
ae294f5
[DOC] Update philosophy to reference support page
emdupre Nov 1, 2018
3e47616
[DOC] Update index.rst
emdupre Nov 1, 2018
7d5d708
Address Yarik's review comments
emdupre Nov 2, 2018
ce6bf75
Add a sentence about multiple tags for PRs
KirstieJane Nov 3, 2018
6fb0270
Update gitignore to exclude vscode settings
KirstieJane Nov 3, 2018
ebab1a8
Add a couple more comments to the pull request template
KirstieJane Nov 3, 2018
d82b081
fix merge conflicts
KirstieJane Nov 3, 2018
5697e68
Add a sentence about multiple tags for PRs
KirstieJane Nov 3, 2018
e6b5296
Add links to milestones
KirstieJane Nov 3, 2018
32cbb26
Add opinion about not being backwards compatible
KirstieJane Nov 3, 2018
d0c1bc5
Update link to pull request documentation
KirstieJane Nov 5, 2018
f58c230
Move sections around and add to TOC
KirstieJane Nov 5, 2018
4e10b47
Add link to closing issues docs
KirstieJane Nov 5, 2018
190c90d
Fix links to associated milestones
KirstieJane Nov 5, 2018
05b6563
Fix formatting
KirstieJane Nov 5, 2018
4223b64
Change link to MEICA code from github to bitbucket
KirstieJane Nov 6, 2018
dcecf85
Add link to governance section
KirstieJane Nov 6, 2018
a1a8f5e
Merge pull request #18 from KirstieJane/kw-roadmap-edits
emdupre Nov 6, 2018
03c3340
[DOC] Update code of conduct enforcement
emdupre Nov 7, 2018
291d8f0
Merge branch 'doc/roadmap' of https://github.com/emdupre/tedana into …
emdupre Nov 7, 2018
fa5847e
Merge branch 'master' into doc/roadmap
emdupre Nov 7, 2018
ca10acc
[DOC] Fix list formatting
emdupre Nov 8, 2018
18fd701
[DOC] Address Ross review comments
emdupre Nov 8, 2018
fa85807
Add a few links to markdown and rst guides in the contributing file (…
KirstieJane Nov 9, 2018
850706b
[DOC] Update text from @KirstieJane PR
emdupre Nov 9, 2018
f04d82c
[DOC] Fix broken internal link in CONTRIBUTING
emdupre Nov 11, 2018
1a34974
[DOC] Address Javier review comments
emdupre Nov 12, 2018
d6a3c67
[DOC] Restructure contributing through github section
emdupre Nov 12, 2018
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
9 changes: 8 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,18 @@ If there is other information that would be helpful to include, please don't hes

Please also label your pull request with the relevant tags.
See here for more information and a list of available options:
http://tedana.readthedocs.io/en/latest/contributing.html#pull-requests
https://github.com/ME-ICA/tedana/blob/master/CONTRIBUTING.md#pull-requests
-->

<!-- Please indicate after the # which issue you're closing with this PR.
This is helpful for the maintainers AND will magically close the issue when this
pull request is merged!
https://help.github.com/articles/closing-issues-using-keywords -->
Closes # .

<!-- Please give a brief overview of what has changed in the PR.
If you're not sure what to write, consider it a note to the maintainers to indicate
what they should be looking for when they review the pull request. -->
Changes proposed in this pull request:

-
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -101,3 +101,6 @@ ENV/

# mypy
.mypy_cache/

# vscode
.vscode
12 changes: 11 additions & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,19 @@ representative at an online or offline event.
## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting Elizabeth DuPre at [email protected].
reported by contacting Elizabeth DuPre at <[email protected]>.
Confidentiality will be respected in reporting.

As the first interim [Benevolent Dictator for Life (BDFL)](https://en.wikipedia.org/wiki/Benevolent_dictator_for_life),
Elizabeth DuPre can take any action she deems appropriate
for the safety of the `tedana` community, including but not limited to:

* facilitating a conversation between the two parties involved in the violation of the code of conduct
* requesting a contributor apologize for their behaviour
* asking a contributor or multiple contributors to enter a cooling off period that puts a
time-limited pause on a particular discussion topic
* asking a contributor to no longer participate in the development of `tedana`

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
Expand Down
152 changes: 135 additions & 17 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,74 @@
# Contributing to tedana
# Contributing to `tedana`

Welcome to the tedana repository! We're excited you're here and want to contribute.
Welcome to the `tedana` repository! We're excited you're here and want to contribute.

These guidelines are designed to make it as easy as possible to get involved. If you have any questions that aren't discussed below, please let us know by opening an [issue][link_issues]!
These guidelines are designed to make it as easy as possible to get involved.
If you have any questions that aren't discussed below, please let us know by opening an [issue][link_issues]!

Before you start you'll need to set up a free [GitHub][link_github] account and sign in. Here are some [instructions][link_signupinstructions].
Before you start you'll need to set up a free [GitHub][link_github] account and sign in.
Here are some [instructions][link_signupinstructions].

Already know what you're looking for in this guide? Jump to the following sections:

* [Joining the conversation](#joining-the-conversation)
* [Understanding issue labels](#issue-labels)
* [Contributing through Github](#contributing-through-github)
* [Understanding issues, milestones, and project boards](#understanding-issues-milestones-and-project-boards)
* [Making a change](#making-a-change)
* [Recognizing contributions](#recognizing-contributions)
* [Structuring contributions](#style-guide)
* [Recognizing contributors](#recognizing-contributions)

## Joining the conversation

`tedana` is a young project maintained by a growing group of enthusiastic developers&mdash; and we're excited to have you join!
Most of our discussions will take place on open [issues][link_issues].
We also maintain a [gitter chat room][link_gitter] for more informal conversations and general project updates.

There is significant cross-talk between these two spaces, and we look forward to hearing from you in either venue! As a reminder, we expect all contributions to `tedana` to adhere to our [code of conduct][link_coc].
There is significant cross-talk between these two spaces, and we look forward to hearing from you in either venue!
As a reminder, we expect all contributions to `tedana` to adhere to our [code of conduct][link_coc].


## Contributing through GitHub

[git][link_git] is a really useful tool for version control.
[GitHub][link_github] sits on top of git and supports collaborative and distributed working.

You'll use [Markdown][markdown] to chat in issues and pull requests on GitHub.
You can think of Markdown as a few little symbols around your text that will allow GitHub
to render the text with a little bit of formatting.
For example you could write words as bold (`**bold**`), or in italics (`*italics*`),
or as a [link][rick_roll] (`[link](https://https://youtu.be/dQw4w9WgXcQ)`) to another webpage.

GitHub has a helpful page on
[getting started with writing and formatting Markdown on GitHub][writing_formatting_github].


## Understanding issues, milestones and project boards

Every project on GitHub uses [issues][link_issues], [milestones][link_milestones],
and [project boards][link_project_boards] slightly differently.

The following outlines how the ``tedana`` developers think about these different tools.

* **Issues** are individual pieces of work that need to be completed to move the project forwards.
A general guideline: if you find yourself tempted to write a great big issue that
is difficult to describe as one unit of work, please consider splitting it into two or more issues.

Issues are assigned [labels](#issue-labels) which explain how they relate to the overall project's
goals and immediate next steps.

* **Milestones** are the link between the issues and the high level strategy for the ``tedana`` project.
Contributors new and old are encouraged to take a look at the milestones to see how we are progressing
towards ``tedana``'s shared vision.

Issues are assigned to these milestones by the maintainers.
If you feel that an issue should be assigned to a specific milestone but the maintainers have not done so, just ask!
We might have just missed it, or we might not (yet) see how it aligns with the overall project structure.
These conversations are important to have, and we are excited to hear your perspective!

* The **project board** is an automated [Kanban board][link_kanban] to keep track of what is currently underway
(in progress), what has been completed (done), and what remains to be done for a specific release.
The ``tedana`` maintainers use this board to keep an eye on how tasks are progressing week by week.


### Issue labels

Expand All @@ -35,7 +85,9 @@ The current list of labels are [here][link_labels] and include:

* [![Enhancement](https://img.shields.io/badge/-enhancement-84b6eb.svg)][link_enhancement] *These issues are asking for enhancements to be added to the project.*

Please try to make sure that your enhancement is distinct from any others that have already been requested or implemented. If you find one that's similar but there are subtle differences please reference the other request in your issue.
Please try to make sure that your enhancement is distinct from any others that have already been requested or implemented.
If you find one that's similar but there are subtle differences please reference the other request in your issue.


## Making a change

Expand All @@ -57,13 +109,65 @@ Make sure to [keep your fork up to date][link_updateupstreamwiki] with the maste

Try to keep the changes focused. We've found that working on a [new branch][link_branches] makes it easier to keep your changes targeted.

When you're creating your pull request, please make sure to review the tedana [style conventions][link_styleguide].
When you're creating your pull request, please make sure to review the tedana [style conventions](#style-guide).

**4. Submit a [pull request][link_pullrequest].**

A member of the development team will review your changes to confirm that they can be merged into the main codebase.
A member of the development team will review your changes to confirm that they can be merged into the main code base.
When opening the pull request, we ask that you follow some [specific conventions](#pull-requests).
We outline these below.

### Pull Requests

To improve understanding pull requests "at a glance", we encourage the use of several standardized tags.
When opening a pull request, please use at least one of the following prefixes:

* **[BRK]** for changes which break existing builds or tests
* **[DOC]** for new or updated documentation
* **[ENH]** for enhancements
* **[FIX]** for bug fixes
* **[REF]** for refactoring existing code
* **[STY]** for stylistic changes
* **[TST]** for new or updated tests, and
* **[WIP]** for changes which are not yet ready to be merged

## Recognizing contributions
Pull requests should be submitted early and often!
If your pull request is not yet ready to be merged, please also include the **[WIP]** prefix.
This tells the development team that your pull request is a "work-in-progress",
and that you plan to continue working on it.

You can also combine the tags above, for example if you are updating both a test and
the documentation: **[TST, DOC]**.
If you're still working on the pull request that prefix would be **[WIP, TST, DOC]**.

## Style Guide

Docstrings should follow [numpydoc][link_numpydoc] convention.
We encourage extensive documentation.

The python code itself should follow [PEP8][link_pep8] convention
whenever possible, with at most about 500 lines of code (not including docstrings) per script.

Our documentation is written in [ReStructuredText](#writing-in-restructuredtext),
which we explain in more detail below.

### Writing in ReStructuredText

The documentation for `tedana` is written using [ReStructuredText][restructuredtext].
Using this markup language allows us to create an online site using the [Sphinx][sphinx]
documentation generator.
We then host the generated Sphinx site on [ReadTheDocs][readthedocs],
to provide an easily accessible space for accessing `tedana` documentation.

What this means is that we need to add any updates to the documentation in ReStructuredText,
or `rst`.
The resulting text looks slightly different from the markdown formatting you'll
[use on github](#contributing-through-github), but we're excited to help you get started!
Here's [one guide we've found particularly helpful][link_rst_guide] for starting with `rst`.
And, if you have any questions, please don't hesitate to ask!


## Recognizing contributors

We welcome and recognize all contributions from documentation to testing to code development.
You can see a list of current contributors in the [contributors tab][link_contributors].
Expand All @@ -76,25 +180,39 @@ You're awesome. :wave::smiley:

*&mdash; Based on contributing guidelines from the [STEMMRoleModels][link_stemmrolemodels] project.*

[link_git]: https://git-scm.com
[link_github]: https://github.com/
[link_tedana]: https://github.com/ME-ICA/tedana
[link_signupinstructions]: https://help.github.com/articles/signing-up-for-a-new-github-account
[link_react]: https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments

[writing_formatting_github]: https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github
[markdown]: https://daringfireball.net/projects/markdown
[rick_roll]: https://www.youtube.com/watch?v=dQw4w9WgXcQ
[restructuredtext]: http://docutils.sourceforge.net/rst.html#user-documentation
[sphinx]: http://www.sphinx-doc.org/en/master/index.html
[readthedocs]: https://docs.readthedocs.io/en/latest/index.html

[link_issues]: https://github.com/ME-ICA/tedana/issues
[link_milestones]: https://github.com/ME-ICA/tedana/milestones/
[link_project_boards]: https://github.com/ME-ICA/tedana/projects
[link_gitter]: https://gitter.im/me-ica/tedana
[link_coc]: https://github.com/ME-ICA/tedana/blob/master/Code_of_Conduct.md
[link_labels]: https://github.com/ME-ICA/tedana/labels
[link_discussingissues]: https://help.github.com/articles/discussing-projects-in-issues-and-pull-requests

[link_labels]: https://github.com/ME-ICA/tedana/labels
[link_bugs]: https://github.com/ME-ICA/tedana/labels/bug
[link_helpwanted]: https://github.com/ME-ICA/tedana/labels/help%20wanted
[link_enhancement]: https://github.com/ME-ICA/tedana/labels/enhancement

[link_kanban]: https://en.wikipedia.org/wiki/Kanban_board
[link_pullrequest]: https://help.github.com/articles/creating-a-pull-request/
[link_fork]: https://help.github.com/articles/fork-a-repo/
[link_pushpullblog]: https://www.igvita.com/2011/12/19/dont-push-your-pull-requests/
[link_branches]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/
[link_styleguide]: http://tedana.readthedocs.io/en/latest/contributing.html
[link_updateupstreamwiki]: https://help.github.com/articles/syncing-a-fork/
[link_stemmrolemodels]: https://github.com/KirstieJane/STEMMRoleModels
[link_branches]: https://help.github.com/articles/creating-and-deleting-branches-within-your-repository/

[link_numpydoc]: https://numpydoc.readthedocs.io/en/latest/format.html
[link_pep8]: https://www.python.org/dev/peps/pep-0008/
[link_rst_guide]: http://docs.sphinxdocs.com/en/latest/step-1.html

[link_contributors]: https://github.com/ME-ICA/tedana/graphs/contributors
[link_stemmrolemodels]: https://github.com/KirstieJane/STEMMRoleModels
Loading