Initial attempt at contribution, submission docs, and templates

Initial attempt at contribution, submission docs, and templates
This commit is contained in:
Dave Humphreys 2018-02-23 22:35:58 +00:00
Родитель c709e880b2
Коммит c2a54b0f81
5 изменённых файлов: 169 добавлений и 0 удалений

3
CODE_OF_CONDUCT.md Normal file
Просмотреть файл

@ -0,0 +1,3 @@
# Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

62
CONTRIBUTING.md Normal file
Просмотреть файл

@ -0,0 +1,62 @@
# Contributing
Thanks you for your interest in contributing to Microsoft Caboodle! In this document we'll outline what you need to know about contributing and how to get started.
## Code of Conduct
Please see our [Code of Conduct](CODE_OF_CONDUCT.md).
## Prerequisite
You will need to complete a Contribution License Agreement before any pull request can be accepted. Complete the CLA at https://cla2.dotnetfoundation.org/.
## Contributing Code
Check out [A Beginner's Guide for Contributing to Microsoft Caboodle](https://blog.xamarin.com/beginners-guide-contributing-xamarin-forms/).
### Bug Fixes
If you're looking for something to fix, please browse [open issues](https://github.com/xamarin/Caboodle/issues).
Follow the style used by the [.NET Foundation](https://github.com/dotnet/corefx/blob/master/Documentation/coding-guidelines/coding-style.md), with two primary exceptions:
- We do not use the `private` keyword as it is the default accessibility level in C#.
- We use hard tabs over spaces. You can change this setting in VS 2015 via `Tools > Options` and navigating to `Text Editor > C#` and selecting the "Keep tabs" radio option.
Read and follow our [Pull Request template](https://github.com/xamarin/Caboodle/blob/master/PULL_REQUEST_TEMPLATE.md)
### Proposals
To propose a change or new feature, review the guidance below and then [open an issue using this template](https://github.com/xamarin/Caboodle/issues).
#### Non-Starter Topics
The following topics should generally not be proposed for discussion as they are non-starters:
* Large renames of APIs
* Large non-backward-compatible breaking changes
* Platform-Specifics which can be accomplished without changing Microsoft Caboodle
* Avoid clutter posts like "+1" which do not serve to further the conversation
#### Proposal States
##### Open
Open proposals are still under discussion. Please leave your concrete, constructive feedback on this proposal. +1s and other clutter posts which do not add to the discussion will be removed.
##### Accepted
Accepted proposals are proposals that both the community and core Microsoft Caboodle agree should be a part of Microsoft Caboodle. These proposals are ready for implementation, but do not yet have a developer actively working on them. These proposals are available for anyone to work on, both community and the core Microsoft Caboodle team.
If you wish to start working on an accepted proposal, please reply to the thread so we can mark you as the implementor and change the title to In Progress. This helps to avoid multiple people working on the same thing. If you decide to work on this proposal publicly, feel free to post a link to the branch as well for folks to follow along.
###### What "Accepted" does mean
* Any community member is welcome to work on the idea.
* The core Microsoft Caboodle team _may_ consider working on this idea on their own, but has not done so until it is marked "In Progress" with a team member assigned as the implementor.
* Any pull request implementing the proposal will be welcomed with an API and code review.
###### What "Accepted" does not mean
* The proposal will ever be implemented, either by a community member or by the core Microsoft Caboodle team.
* The core Microsoft Caboodle team is committing to implementing a proposal, even if nobody else does. Accepted proposals simply mean that the core Microsoft Caboodle team and the community agree that this proposal should be a part of Microsoft Caboodle.
##### In Progress
Once a developer has begun work on a proposal, either from the core Microsoft Caboodle team or a community member, the proposal is marked as in progress with the implementors name and (possibly) a link to a development branch to follow along with progress.
#### Rejected
Rejected proposals will not be implemented or merged into Microsoft Caboodle. Once a proposal is rejected, the thread will be closed and the conversation is considered completed, pending considerable new information or changes..

34
ISSUE_TEMPLATE.md Normal file
Просмотреть файл

@ -0,0 +1,34 @@
Bug report best practices: [Submitting Issues](SUBMITTING-ISSUES.md)
### Description
### Steps to Reproduce
1.
2.
3.
### Expected Behavior
### Actual Behavior
### Basic Information
- Version with issue:
- Last known good version:
- IDE:
- Platform Target Frameworks: <!-- All that apply -->
- iOS: <!-- The version of the iOS SDK you are compiling against, e.g. 11.1 -->
- Android: <!-- The version of the Android SDK you are compiling against, e.g. 7.1 -->
- UWP: <!-- The version of the UWP SDK you are compiling against, e.g. 16299 -->
- Android Support Library Version: <!-- if applicable -->
- Nuget Packages:
- Affected Devices:
### Screenshots
<!-- If the issue is a visual issue, please include screenshots showing the problem if possible -->
### Reproduction Link
<!-- Please upload or provide a link to a reproduction case -->

31
PULL_REQUEST_TEMPLATE.md Normal file
Просмотреть файл

@ -0,0 +1,31 @@
### Description of Change ###
Describe your changes here.
### Bugs Fixed ###
- Provide links to bugs here
### API Changes ###
List all API changes here (or just put None), example:
Added:
- string - string Class.Property { get; set; }
- void Class.Method();
Changed:
- object Cell.OldPropetyName => object Cell.NewPropetyName
### Behavioral Changes ###
Describe any non-bug related behavioral changes that may change how users app behaves when upgrading to this version of the codebase.
### PR Checklist ###
- [ ] Has tests (if omitted, state reason in description)
- [ ] Rebased on top of master at time of PR
- [ ] Changes adhere to coding standard
- [ ] Consolidate commits as makes sense

39
SUBMITTING-ISSUES.md Normal file
Просмотреть файл

@ -0,0 +1,39 @@
If you think you've found a bug to report, before doing anything else you should check the [Issues](https://github.com/xamarin/Caboodle/issues) page to see if an issue has already been filed! This can help reduce the number of duplicate reports.
If you're ready to submit a new issue, taking the following steps helps expedite the bug triage process:
* Validate that the issue is not resolved with the latest stable, pre-release, or nightly builds.
* If you are able and time allows, create a minimized reproduction project using only the code necessary to reproduce the issue; this helps us as we then know precisely what code is being used.
* Before compressing the reproduction project, make certain to clean the solution as well as manually delete any bin/obj folders, e.g.:
[ProjectRoot]/ProjectName/bin
[ProjectRoot]/ProjectName/obj
[ProjectRoot]/ProjectName.Android/bin
[ProjectRoot]/ProjectName.Android/obj
[ProjectRoot]/ProjectName.iOS/bin
[ProjectRoot]/ProjectName.iOS/obj
[ProjectRoot]/ProjectName.UWP/bin
[ProjectRoot]/ProjectName.UWP/obj
Please make certain to remove the packages folder as well to cut down on size.
* Please make note if the issue only occurs on particular platforms, so we can run reproductions on each and compare.
* In the case of a regression, please confirm as such as well as the last working, pre-regression build you may be aware of, if possible. Providing a reproduction with the working package installed to begin with also helps, as we can then simply upgrade it and compare against the latest stable to confirm.
* In some cases, issues may only occur on specific devices, with specific versions of the OS, or when targeting specific OS versions within the project itself. Some issues also occur on devices, but not on simulators. This information is incredibly helpful.
* Please upload reproductions directly to the report as an attachment; this guarantees future access to the file.
#Android Specific Concerns#
Please let us know any issues which may stem from different versions of the support library packages (e.g. Xamarin.Android.Support.v7.AppCompat), as sometimes bugs may only occur when specific versions are used.
iOS Specific Concerns
To be added
#UWP-specific Concerns#
Please make note if an issue appears hardware-specific (slower machines, multiple monitors, etc.), due to the desktop component.
#Contributing#
Think you may have a bug fix, or you'd like to work on fixing one yourself? We greatly welcome PRs with fixes from the community! Check out the [Contribute page](CONTRIBUTING.md) for more info.