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

[MISC] edit contributing guide #44

Merged
merged 12 commits into from
Oct 31, 2018
105 changes: 93 additions & 12 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,95 @@
# Contributors guide

## Markdown style
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for starting this @Park-Patrick! Is this markdown style section incorporated into the file you've started? It does need to be, and it probably makes sense to add it as a section that can be linked from the table of contents.

Some explanation of what the continuous integration is doing, what linting is and why it needs to be done would be really great. ✨

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right makes sense!
also there is an markdown section but I'll add the link to the table of contents


The specification documents follow the
[Markdown Style Guide](http://www.cirosantilli.com/markdown-style-guide/). You
can validate your changes against the guide using
[remark](https://github.com/remarkjs/remark-lint) which works as a
[standalone command line tool](https://github.com/remarkjs/remark/tree/master/packages/remark-cli)
as well as
[a plugin for various text editors](https://github.com/remarkjs/remark-lint#editor-integrations).
You can also use [prettier](https://github.com/prettier/prettier) to
automatically correct some of the style issuse that might be found in the
proposed changes.
# Contributing to the BIDS Specification

:tada::balloon::cake: **Welcome to the BIDS Specification repository!** :cake::balloon::tada:

:dizzy::hatched_chick::sunny: *We're so excited you're here and want to contribute.* :sunny::hatched_chick::dizzy:

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think the BIDS Specification will want all the emojis from the starter kit. Maybe have a think about how this can be formalised a little while also still being friendly!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah wasn't sure what we wanted to do about those, but maybe we can just stick to bold / italics then?

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think just bold and italics is a good starting point ! We can add emojis back in later if we think it's missing something :)

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

hey @Park-Patrick Thank you for writing this up! I liked that the guide felt digestible throughout and easy to understand (especially for those that it maybe their first time navigating GitHub). The example you provided is great! For the 'Making a change with a pull request' I suppose that was more for the starters kit? I think the principle is consistent, just in regards to the specification. I noticed that there were some double bracketed terms (i.e. in 1 (Comment on an existing issue...) the second paragraph of [This blog][dont-push-pull-request]) I wasn't sure if you meant them to linking elsewhere? I think with Kirstie's suggestions (of adding the linter and continuous integration) will make this a nice contributing guide! One thing that maybe considered adding is how the repo is organized (i.e. that the standard is currently in the src folder). I can help with some of this too!

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch! so some of the double bracketed terms had corresponding tags in the starter kit version, but I think some of them became obsolete so i'll either re-link or remove them.

I'm not super familiar with this repo's policies for linter/CI moving forward, so it would be great to get help with that!

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see! No worries!

I can add what I understand from linter/CI as well. I'll work on it from your repo and PR to that

We hope that 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 through one of the many ways to [get in touch](#get-in-touch).

## Table of contents

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

* [Joining the BIDS community](#joining-the-community)
* [Get in touch](#get-in-touch)
* [Contributing through GitHub](#contributing-through-github)
* [Make a change with a pull request](#making-a-change-with-a-pull-request)
* [Example pull request](#example-pull-request)
* [Recognizing contributions](#recognizing-contributions)

## Joining the community

BIDS - the [Brain Imaging Data Structure][bids] - is a growing community of neuroimaging enthusiasts, and we want to make our resources accessible to and engaging for as many researchers as possible.

We therefore require that all contributions **adhere to our [Code of Conduct](CODE_OF_CONDUCT.md)**.

How do you know that you're a member of the BIDS community? You're here! You know that BIDS exists! You're officially a member of the community. It's THAT easy! Welcome! :joy::raised_hands:

## Get in touch
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Was this intended to be empty? We can remove it for now or add a section about opening issue to raise discussion topics.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we should add to this - I'm going to wait until @franklin-feingold's PR is merged to @Park-Patrick's branch and then I can add some text in there.

  • mailing list
  • neurostars
  • github

right?


## Contributing through GitHub

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

We know that it can be daunting to start using git and GitHub if you haven't worked with them in the past, but the BIDS Specification maintainers are here to help you figure out any of the jargon or confusing instructions you encounter! :heart:

In order to contribute via GitHub you'll need to set up a free account and sign in. Here are some [instructions](https://help.github.com/articles/signing-up-for-a-new-github-account/) to help you get going. Remember that you can ask us any questions you need to along the way.

## Writing in markdown

GitHub has a helpful page on [getting started with writing and formatting on GitHub](https://help.github.com/articles/getting-started-with-writing-and-formatting-on-github).

Most of the writing that you'll do will be in [Markdown][markdown]. 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.

## Making a change with a pull request

We appreciate all contributions to the BIDS Starter Kit. **THANK YOU** for helping us build this useful resource. :sparkles::star2::dizzy:

:point_right: Remember that if you're adding information to the [wiki](#wiki) you ***don't need to submit a pull request***. You can just log into GitHub, navigate to the [wiki][bids-starterkit-wiki] and click the **edit** button.

If you're updating the [code](#code) or the [templates](#templates), the following steps are a guide to help you contribute in a way that will be easy for everyone to review and accept with ease :sunglasses:.

#### 1. Comment on an existing issue or open a new issue referencing your addition

This allows other members of the BIDS Starter Kit team to confirm that you aren't overlapping with work that's currently underway and that everyone is on the same page with the goal of the work you're going to carry out.

[This blog][dont-push-pull-request] is a nice explanation of why putting this work in up front is so useful to everyone involved.

#### 2. [Fork][github-fork] the [BIDS Starter Kit repository][bids-starterkit-repo] to your profile
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this should be pointing to BIDS Starter Kit.


This is now your own unique copy of the BIDS Starter Kit. Changes here won't affect anyone else's work, so it's a safe space to explore edits to the code!
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto


Make sure to [keep your fork up to date][github-syncfork] with the master repository, otherwise you can end up with lots of dreaded [merge conflicts][github-mergeconflicts].

#### 3. Make the changes you've discussed

Try to keep the changes focused. If you submit a large amount of work in all in one go it will be much more work for whomever is reviewing your pull request. [Help them help you][jerry-maguire] :wink:

If you feel tempted to "branch out" then please make a [new branch][github-branches] and a [new issue][bids-starterkit-issues] to go with it.

#### 4. Submit a [pull request][github-pullrequest]

A member of the BIDS Starter Kit team will review your changes to confirm that they can be merged into the main codebase.

A [review][github-review] will probably consist of a few questions to help clarify the work you've done. Keep an eye on your github notifications and be prepared to join in that conversation.

You can update your [fork][github-fork] of the BIDS Starter Kit [repository][bids-starterkit-repo] and the pull request will automatically update with those changes. You don't need to submit a new pull request when you make a change in response to a review.

GitHub has a [nice introduction][github-flow] to the pull request workflow, but please [get in touch](#get-in-touch) if you have any questions :balloon:.

## Example pull request
<img align="right" src="https://i.imgur.com/s8yELfK.png" alt="Example-Contribution"/>

<br>

<br>

## Recognizing contributions

BIDS follows the [all-contributors][all-contributors] specification, so we welcome and recognize all contributions from documentation to testing to code development. You can see a list of current contributors in the [BIDS specification][bids-specification].
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you point to the right .md file here?


## Thank you!

You're awesome. :wave::smiley: