Skip to content

Latest commit

 

History

History
175 lines (118 loc) · 11 KB

Contributing.md

File metadata and controls

175 lines (118 loc) · 11 KB

Contributing to TumblThree

First off, thank you for considering contributing to TumblThree. It's people like you that make TumblThree such a great application. Your contributions to TumblThree are welcome, and warmly received! In doing so, here are the guidelines we'd appreciate you following:

Got a Question, found an error or something missing?

Got a Question?

For questions about how to use TumblThree, discussion regarding development issues or any other TumblThree related discussion, please direct these to our Issues.

Found an Error or Problem?

If you've found a bug in the source or mistake in the documentation, you can help us by submitting an issue to our GitHub Issues, and even make a pull request addressing the issue. Please ensure an issue is created prior to creating a pull request, and reference the issue number from the PR.

Something Missing?

You can request a new feature by submitting an Issue.

If you would like to implement a new feature yourself then first consider what kind of change it is:

  • Major Changes - A new feature that is beyond an engineered extensibility point or otherwise of a non-trivial nature... Ensure an issue is open first. Failing to do so may result in your PR being rejected.
  • Small Changes - A simple change, bugfix, or feature leveraging a planned extension point... You may create an issue if one doesn't already exist and a PR with no further consultation. Your PR has a higher probability of being accepted. But if no discussion has taken place prior to submission, prefix your PR with [WIP] to signify that your work is in progress, and discussion should take place within the pull request.

Where can I find what to contribute?

If you are not sure what you can contribute, please read the sections on this page. You can also have a look on the Issues and search for labels like or . Or you go through the issues and look, if something interests you and looks feasible to you.

Coding

New to Open Source Software

Welcome! We aim to be a newbie-friendly community, so we have reserved issues for first-time OSS contributors.

Click here to learn more.

Find something to work on

  • Find a issue and leave a comment saying you would like to work on it
  • A maintainer will confirm the issue has been assigned to you
  • If there are no open issues, you can come up with your own issue, or look on our ideas page if something interests you
  • Issues tagged are reserved for those who have never made a PR to an open source community

Work on an issue

  • If you are assigned an issue, you have 14 days to complete it. You may ask for an extension if you need more time, but this rule is here to ensure issues do not go "stale"
  • Feel free to ask any questions on your issue thread!

Make a PR

So you have finished working on your issue, congratulations! It's time to get it merged back into the main repo via a pull request.

Required

  • If you are making a PR, you should have an issue assigned to you[1]
  • Write "closes #{issue number}" in your PR description so the issue is linked and automatically closed upon merge
  • Include a brief description of what the PR addresses
  • The build must be passing

[1] Exception: minor fixes (typos, etc.) do not need to have an open issue, you can just create a PR for it

Optional

  • You can talk about the overall architecture changes or design decisions made in the PR
  • Include link to other relevant issues or PRs

If you are not finished an issue but would like feedback, you can make a PR asking for reviews with [WIP] at the start of your PR title. Remember to remove the [WIP] when it is ready to be merged!

Development Environment

  • Visual Studio 2019 (or higher), with all .NET features and latest patches/updates
  • PowerShell

How to Build the Source Code

A summary of the steps necessary to build the source code is available on the Wiki page "How to build the source code and help further developing".

New Code Contributions and Ideas

Besides the information already mentioned in the section "Something Missing?" above, you can find more information and ideas on the Wiki page "New Feature Requests and Possible Enhancements".

Other Contributions

Of course, you don’t have to contribute code to TumblThree. If you don't know how to code, there are other ways you can provide your help and support. The following points shall give you an example and are not meant to be a fixed list of what can be done. Whatever your ideas and plans for your contribution are, get in contact with us or open an issue.

Do you like to design?

  • Find an easily usable design/theme that can be used for a new website
  • Design new graphics for the buttons in the TumblThree application

Do you like to write?

  • Write and improve the project’s documentation
  • Improve the existing Wiki
  • Write content for the new TumblThree website (e.g. GitHub Pages) and build a menu structure

Do you like organizing?

  • Link to duplicate issues, and suggest new issue labels, to keep things organized
  • Go through open issues and suggest closing old ones
  • Ask clarifying questions on recently opened issues to move the discussion forward

Do you like helping people?

  • Answer questions for people on open issues
  • Help moderate discussion boards or conversation channels

How to Open a TumblThree Pull Request?

Working on your first Pull Request? You can learn how from this free series How to Contribute to an Open Source Project on GitHub.

You can find a short guide in our Wiki if you are new to Git. It shows you How to Open a TumblThree Pull Request to contribute any file (whether it's code or not) to our repository.

By submitting a pull request for this project, you agree to license your contribution under the MIT license to this project.

Collaborators

The people who are most active in the community.

Help, I've been added as a collaborator! What do??

  • We appreciate the time you have taken to get to know the project, and you have been given push access to the main repository
  • You are empowered to choose your own role, and be as involved (or not involved) with the project as you want
  • You can (but are not limited to): answer questions, tag and approve issues, review PRs, merge PRs, do nothing, etc.
  • You can update your "contribution emojis" as you take on more roles, but keep it to a reasonable amount of icons
  • Use your judgement to make branches on the main repo, or push changes directly to master
  • Delete remote branches once they are merged in
  • Don't stress about making mistakes (force-pushes are disabled on master, so what's the worst that can happen...)

Your help in maintaining the project & community would be much appreciated.

Please help
Let's be like Panel #1, not Panel #2 :)

How do I become a collaborator?

Take initiative, and be an active member of the community! Some examples:

  • Suggest process improvements
  • Answer questions that people ask on GitHub
  • Take on larger or more complex issues
  • Write issues

The lifecycle of an issue

  • A user submits an issue
  • A collaborator reviews it, and asks any clarifying questions
  • A collaborator assigns tags: discussion, first-timers-only, blocked, duplicate, invalid, wontfix...
  • Once it is ready for development help wanted, and the category tag (feature, bug, ...) are added
  • Wait for a contributor to volunteer
  • When a contributor comments that they would like to work on the issue, a collaborator will assign the issue
  • Once a story is finished, the contributor should close the issue via a PR description
  • If there has been no progress on the issue in 14 days, a maintainer should ask the assignee for its status and act accordingly (provide help, give more time, or if needed the issue should be closed and a new issue should be created to be re-assigned)

The lifecycle of a PR

  • A PR is submitted by a contributor
  • A maintainer reviews the PR and uses github's built-in "review changes" system to request changes
  • The contributor addresses any concerns
  • Repeat previous 2 steps as needed
  • Once both parties are satisfied, the PR will be merged into master

The code is released to production when needed.

All Contributors

We like the all-contributors specification. Contributions of any kind are welcome! See the list of contributors!


If at any point you feel like these guidelines should be changed, please open a PR against this file with the proposed changes and we can discuss it as a community.