diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 0000000000..422f73cb10 --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,11 @@ + + +## PR checklist + +- [ ] This comment contains a description of changes (with reason). +- [ ] The ROM compiles to matching locally (`make compare_heartgold && make compare_soulsilver`). +- [ ] All C code is correctly formatted (`git clang-format`). +- [ ] This pull request is labeled according to the kind of work it represents. +- [ ] New or updated code labels follow the [style guide]() +- [ ] This work adheres to the [AI policy](CONTRIBUTING.md#ai-policy). +- [ ] The author has joined the [pret discord server](https://discord.gg/d5dubZ3) and sent a message in #pokeheartgold to verify that they are human diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6b9de8053a..9b5762a09c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -2,7 +2,7 @@ name: build on: push: - branches: [ master ] + branches: [master] pull_request: workflow_dispatch: @@ -62,14 +62,14 @@ jobs: GAME_VERSION: HEARTGOLD GAME_LANGUAGE: ENGLISH GAME_REVISION: 0 - run: make -j4 + run: make -j4 2> >(sed -r 's/^/::error::/') - name: Build SoulSilver env: GAME_VERSION: SOULSILVER GAME_LANGUAGE: ENGLISH GAME_REVISION: 0 - run: make -j4 + run: make -j4 2> >(sed -r 's/^/::error::/') - name: Webhook if: ${{ github.event_name == 'push' }} @@ -95,8 +95,8 @@ jobs: if: ${{ github.event_name == 'push' }} uses: actions/checkout@v4 with: - path: 'xmap' - ref: 'xmap' + path: "xmap" + ref: "xmap" - name: Move xMAP if: ${{ github.event_name == 'push' }} diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 8c7d3bb11d..b892ffaa84 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,11 +1,22 @@ # Contributing to pret/pokeheartgold +- [AI Policy](#ai-policy) - [Code Formatting](#code-formatting) This document provides a synopsis and loose guidelines for how to contribute to this project. It is a work in progress. Maintainers should expand this document. +ALL PERSONS OPENING PULL REQUESTS TO THIS REPOSITORY AGREE TO ABIDE BY THE POLICIES OUTLINED IN THIS DOCUMENT. + +## AI Policy + +We unequivocally prohibit the use of artifical intelligence (AI) large language models (LLMs) to generate contributions to this project, meaningful or otherwise. Any pull request found to have used AI for these tasks will be closed, and the contributor will be banned from interacting with the repository. This is a zero-tolerance policy, and we do not provide any avenue for appeal. + +The following use cases are deemed acceptable and stand as exceptions to the above statement, provided that they are disclosed in full. While this document is not legally binding, we do expect you to represent yourself truthfully. Undisclosed use of AI may result in a ban. +- Automating the boring stuff. So long as the task is clearly defined by a human, is boiled down to pure execution with no further creative decision-making, and is sufficiently tedious to perform by hand, you may delegate it to an AI. However, we do strongly encourage you to do as much as you can by hand or write a script to automate the task, rather than invoking an AI to do it for you. +- Asking general knowledge questions about C code, the ARM processor, Pokémon, etc. + ## Code Formatting This repository includes an opinionated `clang-format` specification to ensure that we maintain a common code style. For convenience, a pre-commit hook is also provided in `.githooks` which will run `clang-format` against any staged changes prior to executing a commit.