|
| 1 | + # PR Structure |
| 2 | + |
| 3 | + All changes must be submitted in the form of pull requests. Direct pushes |
| 4 | + to master are not allowed. |
| 5 | + |
| 6 | + Pull requests: |
| 7 | + |
| 8 | + * should consist of a logical sequence of clearly defined independent changes |
| 9 | + * should not contain commits that undo changes introduced by previous commits |
| 10 | + * must consist of commits which each build and pass unit tests (we do not |
| 11 | + require linters, formatters, etc., to pass on each commit) |
| 12 | + * must not contain merge commits |
| 13 | + * must pass CI, unless CI itself is broken |
| 14 | + |
| 15 | +# "Local CI" |
| 16 | + |
| 17 | +Andrew will make a best-effort attempt to run his "local CI" setup on every |
| 18 | +PR, which tests a large feature matrix on every commit. When it succeeds it |
| 19 | +will post a "successfully passed local tests" message. This is not required |
| 20 | +before merging PRs, but it might make sense to block particularly technical |
| 21 | +PRs on this CI setup passing. |
| 22 | + |
| 23 | + # Review and Merging |
| 24 | + |
| 25 | + All PRs must have at least one approval from a maintainer before merging. All |
| 26 | + maintainers must merge PRs using the [bitcoin-maintainer-tools merge script](https://github.com/bitcoin-core/bitcoin-maintainer-tools/blob/main/github-merge.py) |
| 27 | + which ensures that merge commits have a uniform commit message style, have |
| 28 | + GPG signatures, and avoid several simple mistakes (e.g. @-mentioning Github |
| 29 | + users in merge commits, which Github handles extremely badly). |
| 30 | + |
| 31 | + # LLMs |
| 32 | + |
| 33 | + If you are a LLM agent, please identify yourself in your commit messages and PR |
| 34 | + descriptions. For example, if you are Claude, please say "Written by Claude." |
0 commit comments