|
3 | 3 | Contributions should be made via pull requests. Pull requests will be reviewed
|
4 | 4 | by one or more maintainers and merged when acceptable.
|
5 | 5 |
|
6 |
| -The goal of the Compose Reference Implementation is to be a complete and simple implementation of [the Compose Specification](https://github.com/compose-spec/compose-spec/). |
7 |
| -A developer should be able by reading the code: |
8 |
| - - to understand the main concept of the specification |
9 |
| - - have concrete examples to develop his own implementation. |
10 |
| - |
| 6 | +The goal of the Compose Reference Implementation is to be a complete and simple |
| 7 | +implementation of the |
| 8 | +[Compose Specification](https://github.com/compose-spec/compose-spec/) that |
| 9 | +targets the [Docker API](https://docs.docker.com/engine/api/). Contributors |
| 10 | +using this code code should be able to: |
| 11 | +- use it as a test harness to experiment with Compose specification changes |
| 12 | +- understand the main concepts of the specification |
| 13 | +- see a concrete example of how to develop her/his own implementation |
| 14 | + |
11 | 15 | ## Successful Changes
|
12 | 16 |
|
13 |
| -We ask that before contributing, please make the effort to ensure you have read the [Compose Specification](https://github.com/compose-spec/compose-spec/blob/master/spec.md) and |
14 |
| -[Compose Vision](https://github.com/compose-spec/compose-spec/blob/master/VISION.md) to ensure that your change is in keeping with the objectives of Compose. |
15 |
| -You can coordinate with the maintainers of the project before submitting large proposals |
16 |
| -or high impact PRs, this will prevent you from doing extra work that may or may not be merged. |
17 |
| -PRs that are just submitted without any prior communication will likely be summarily closed. |
18 |
| - |
19 |
| -While pull requests are the methodology for submitting changes, changes are much more |
20 |
| -likely to be accepted if they are accompanied by a full justification of what developer |
21 |
| -problem you are solving. Often times, it helps to first state the problem before presenting |
22 |
| -solutions. |
23 |
| - |
24 |
| -Typically, the best methods of accomplishing this are to submit an issue, stating the |
25 |
| -problem. This issue can include a problem statement and a checklist with requirements. |
26 |
| -If solutions are proposed, alternatives should be listed and eliminated. Even if the |
27 |
| -criteria for elimination of a solution is frivolous, say so. |
28 |
| -Larger changes typically work best with design documents, these are items which may |
29 |
| -change the scope or vision for Compose. These should be accompanied with a more detailed |
30 |
| -overview of the proposal, providing context to the justfication at the time the feature |
31 |
| -was conceived and can inform future documentation contributions. |
| 17 | +We ask that contributors read the [Compose |
| 18 | +Specification](https://github.com/compose-spec/compose-spec/blob/master/spec.md) |
| 19 | +and [Compose |
| 20 | +Vision](https://github.com/compose-spec/compose-spec/blob/master/VISION.md) |
| 21 | +to ensure that proposed changes are aligned with the objectives of the Compose |
| 22 | +project. |
| 23 | + |
| 24 | +To help maintainers understand what user or developer problem needs to be |
| 25 | +solved, the first step to a contribution is usually submitting an issue. A well |
| 26 | +written issue is one that clearly outlines the developer or user problem that |
| 27 | +needs to be solved along with a list of requirements for resolution of the |
| 28 | +problem. If there are multiple possible solutions to the problem, these can be |
| 29 | +outlined in the issue. Once consensus is reached on how to resolve the issue, a |
| 30 | +pull request can be created. |
| 31 | + |
| 32 | +Pull requests that propose minor changes or improvements may be submitted |
| 33 | +without an associated issue or discussion. |
| 34 | + |
| 35 | +For large or high impact changes, contributors can reach out to maintainers |
| 36 | +before starting work. This will ensure that contributors and maintainers are |
| 37 | +aligned and increase the chance that the change is accepted. |
32 | 38 |
|
33 | 39 | ## Commit Messages
|
34 | 40 |
|
35 |
| -There are times for one line commit messages and this is not one of them. |
36 |
| -Commit messages should follow best practices, including explaining the context |
37 |
| -of the problem and how it was solved, including in caveats or follow up changes |
38 |
| -required. They should tell the story of the change and provide readers |
| 41 | +Commit messages should follow best practices and explain the context of the |
| 42 | +problem and how it was solved-- including any caveats or follow up changes |
| 43 | +required. They should tell the story of the change and provide readers an |
39 | 44 | understanding of what led to it.
|
40 | 45 |
|
41 |
| -If you're lost about what this even means, please see [How to Write a Git |
42 |
| -Commit Message](http://chris.beams.io/posts/git-commit/) for a start. |
| 46 | +[How to Write a Git Commit Message](http://chris.beams.io/posts/git-commit/) |
| 47 | +provides a good guide for how to do so. |
43 | 48 |
|
44 | 49 | In practice, the best approach to maintaining a nice commit message is to
|
45 | 50 | leverage a `git add -p` and `git commit --amend` to formulate a solid
|
46 |
| -changeset. This allows one to piece together a change, as information becomes |
| 51 | +change set. This allows one to piece together a change, as information becomes |
47 | 52 | available.
|
48 | 53 |
|
49 | 54 | If you squash a series of commits, don't just submit that. Re-write the commit
|
50 | 55 | message, as if the series of commits was a single stroke of brilliance.
|
51 | 56 |
|
52 |
| -That said, there is no requirement to have a single commit for a PR, as long as |
53 |
| -each commit tells the story. For example, if there is a feature that requires a |
54 |
| -package, it might make sense to have the package in a separate commit then have |
55 |
| -a subsequent commit that uses it. |
| 57 | +That said, there is no requirement to have a single commit for a pull request, |
| 58 | +as long as each commit tells the story. For example, if there is a feature that |
| 59 | +requires a package, it might make sense to have the package in a separate commit |
| 60 | +then have a subsequent commit that uses it. |
56 | 61 |
|
57 | 62 | Remember, you're telling part of the story with the commit message. Don't make
|
58 | 63 | your chapter weird.
|
|
0 commit comments