|
1 | | -## Contributing Issues |
| 1 | +## Contributor License Agreement (CLA) |
2 | 2 |
|
3 | | -### Before Submitting an Issue |
4 | | -First, please do a search in [open issues](https://github.com/nkdAgility/azure-devops-migration-tools/issues) to see if the issue or feature request has already been filed. Use this [query](https://github.com/nkdAgility/azure-devops-migration-tools/issues?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc+) to search for the most popular feature requests. |
| 3 | +Before making a contribution, all contributors must agree to the following Contributor License Agreement (CLA). By submitting a pull request or any contribution, you acknowledge and agree to the following: |
5 | 4 |
|
6 | | -If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment. |
| 5 | +1. **Grant of License**: |
| 6 | + You grant us, Naked Agility Limited ("Us" or "We"), a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license to use, modify, publish, and distribute your contributions under the terms of the GNU Affero General Public License (AGPL). This ensures that contributions remain aligned with the project's licensing terms. |
7 | 7 |
|
8 | | -👍 - upvote |
| 8 | +2. **Your Rights**: |
| 9 | + You retain the copyright to your contributions and are free to use them as you see fit, independent of this agreement, provided such use does not conflict with the AGPL. |
9 | 10 |
|
10 | | -👎 - downvote |
| 11 | +3. **Warranties**: |
| 12 | + You represent that: |
| 13 | + - You are the original author of the contributions. |
| 14 | + - Your contributions are not subject to any conflicting agreements or third-party rights. |
| 15 | + - Your contributions comply with the project's **Contributing Guidelines**. |
11 | 16 |
|
12 | | -The entire codebase for the Azure DevOps Migration Tools project is stored in this repository. |
| 17 | +4. **Obligation to Share**: |
| 18 | + You agree that any modifications to the software made as part of your use of this project will be shared back with the community by submitting changes to the original repository. |
13 | 19 |
|
14 | | -If your issue is a question then please ask the question on [Stack Overflow](https://stackoverflow.com/questions/tagged/azure-devops-migration-tools) using the tag `azure-devops-migration-tools`. |
| 20 | +By submitting a contribution to the project, you agree to this CLA. If you do not agree, please refrain from contributing. |
15 | 21 |
|
16 | | -If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below. |
| 22 | +--- |
17 | 23 |
|
18 | | -## Writing Good Bug Reports and Feature Requests |
| 24 | +## Contributing Guidelines |
19 | 25 |
|
20 | | -File a single issue per problem and feature request. |
| 26 | +### Asking Questions or Starting Discussions |
21 | 27 |
|
22 | | -* Do not enumerate multiple bugs or feature requests in the same issue. |
23 | | -* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes. |
| 28 | +- **Use GitHub Discussions**: |
| 29 | + If you have questions, ideas, or suggestions, please use the [GitHub Discussions tab](https://github.com/nkdAgility/azure-devops-migration-tools/discussions). This helps centralise knowledge and allows the community to collaborate effectively. |
| 30 | + - Browse existing discussions to see if your question or idea has already been addressed. |
| 31 | + - Add comments or reactions (e.g., 👍, 👎) to relevant discussions. |
24 | 32 |
|
25 | | -The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix. |
| 33 | +- **Use the Comment/Discussion Boxes on Documentation Pages**: |
| 34 | + If your topic relates to an existing feature, check the relevant [documentation page](https://nkdagility.com/) for details. Most pages include comment or discussion boxes at the bottom. |
| 35 | + - Using these boxes for discussions tied to specific features helps keep the conversation contextual and accessible for others with similar questions. |
26 | 36 |
|
27 | | -Please include the following with each issue. |
| 37 | +--- |
28 | 38 |
|
29 | | -* Version of Azure DevOps Migration Tools |
30 | | -* Version of the source and target ADO/VSTS/TFS instances |
| 39 | +### Submitting Issues |
31 | 40 |
|
32 | | -* Reproducible steps (1... 2... 3...) and what you expected versus what you actually got. |
33 | | -* The Session ID from your migration run that had a problem (this lets us look up telemetry). |
| 41 | +#### When to Submit an Issue |
| 42 | +Issues should only be created for confirmed **bugs** or **feature requests**. Before creating an issue: |
| 43 | +- **Search for Existing Issues**: |
| 44 | + Check [open issues](https://github.com/nkdAgility/azure-devops-migration-tools/issues) to avoid duplicates. Use this [query](https://github.com/nkdAgility/azure-devops-migration-tools/issues?q=is%3Aopen+is%3Aissue+sort%3Areactions-%2B1-desc+) to find popular feature requests. |
| 45 | + If your issue already exists: |
| 46 | + - Add comments with additional details or context. |
| 47 | + - Use reactions (e.g., 👍, 👎) to express your interest. |
34 | 48 |
|
35 | | -> **Note:** Session ID is in your Log file for that run. |
| 49 | +#### Writing Good Bug Reports and Feature Requests |
| 50 | +- Submit **one issue per problem or feature**. |
| 51 | +- Avoid combining multiple bugs or requests in a single issue. |
| 52 | +- Include as much detail as possible to help others reproduce the issue: |
| 53 | + - Version of Azure DevOps Migration Tools |
| 54 | + - Source and target instance versions |
| 55 | + - Step-by-step reproduction instructions |
| 56 | + - The **Session ID** from your migration run (found in the log file). |
36 | 57 |
|
37 | | -Please remember to do the following: |
| 58 | +--- |
38 | 59 |
|
39 | | -* Search the issue repository to see if there exists a duplicate. |
| 60 | +### Submitting Pull Requests |
40 | 61 |
|
41 | | -Don't feel bad if we can't reproduce the issue and ask for more information! |
| 62 | +#### Bug Fixes |
| 63 | +- **Focus on Simplicity**: Keep changes minimal and targeted to the bug being fixed. |
| 64 | +- **Update GitVersion.yaml**: Ensure version numbers do not collide. |
42 | 65 |
|
43 | | -## Contributing Fixes |
| 66 | +#### Feature Enhancements |
| 67 | +- Features should add or improve functionality. Clearly describe the feature and its use case in the pull request. |
44 | 68 |
|
45 | | -Azure DevOps Migration Tools accepts both bug fixes and feature enhancements as Pull Requests. When contributing please try to minimise the number of files that you touch, and do not arbitrarily change large amounts of the files without justification. This will help keep the fix or feature as simple and easy as possible to review and incorporate. If you are a long term contributor you may request access to the git repository that houses the core code and provide direct contributions there. |
| 69 | +#### General Housekeeping |
| 70 | +Pull requests should: |
| 71 | +1. Be based on the **master** branch. |
| 72 | +2. Avoid merge commits (use a linear commit history). |
| 73 | +3. Include adequate tests: |
| 74 | + - Tests should fail without your changes. |
| 75 | + - Cover edge cases and various scenarios. |
| 76 | + - Maintain 100% code coverage. |
| 77 | +4. Adhere to the coding guidelines. |
| 78 | +5. Include clear, descriptive commit messages. |
46 | 79 |
|
47 | | -# Instructions for Contributing Code |
48 | | - |
49 | | -All fixed require to update GitVersion.yaml so that we don't have colliding version numbers. |
50 | | - |
51 | | -## Contributing bug fixes |
52 | | - |
53 | | -Bugs are things that cause exceptions and failures. Please keep fixes simple and minimal so that we can incorporate them quickly. |
54 | | - |
55 | | -## Contributing features |
56 | | - |
57 | | -Features (things that add new or improved functionality to Azure DevOps Migration Tools) may be accepted. |
58 | | - |
59 | | -## Housekeeping |
60 | | - |
61 | | -Your pull request should: |
62 | | - |
63 | | -* Include a description of what your change intends to do |
64 | | -* Be a child commit of a reasonably recent commit in the **master** branch |
65 | | - * Requests need not be a single commit, but should be a linear sequence of commits (i.e. no merge commits in your PR) |
66 | | -* It is desirable, but not necessary, for the tests to pass at each commit |
67 | | -* Have clear commit messages |
68 | | - * e.g. "Refactor feature", "Fix issue", "Add tests for issue" |
69 | | -* Include adequate tests |
70 | | - * At least one test should fail in the absence of your non-test code changes. If your PR does not match this criteria, please specify why |
71 | | - * Tests should include reasonable permutations of the target fix/change |
72 | | - * Include baseline changes with your change |
73 | | - * All changed code must have 100% code coverage |
74 | | -* Follow the code conventions described in _Coding Guidelines_ (link lost) |
75 | | -* To avoid line ending issues, set `autocrlf = input` and `whitespace = cr-at-eol` in your git configuration |
| 80 | +#### Coding and Git Configuration |
| 81 | +- Follow the project's coding conventions (see [Coding Guidelines](#)). |
| 82 | +- Set your Git configuration to avoid line-ending issues: |
| 83 | + ```bash |
| 84 | + git config --global core.autocrlf input |
| 85 | + git config --global core.whitespace cr-at-eol |
| 86 | + ``` |
0 commit comments