reviews: tools: github-checks: enabled: true path_instructions: - path: "README.md" instructions: | When reviewing changes to README.md, only evaluate list entries/links that are newly added by this pull request (new lines in the diff). Do not re-validate or flag pre-existing entries that the PR did not touch, even if they would fail one of the checks below. ## 1. Scope - New Links Only - Identify only the list entries added by this PR (new `- ` / `* ` lines introducing a link). - Entries that already existed before the PR, and were not modified, must be ignored even if they are out of order, missing an emoji, or otherwise non-compliant. - If an existing entry was only repositioned (e.g. as a side effect of inserting a new entry) without any content change, do not flag it, but still use it as context to confirm the resulting order is correct. ## 2. Alphabetical Ordering - Each section/subsection (e.g. `#### Assets/Placeholders`, `#### Spritesheet Tools`, `### Books`, etc.) must have its entries sorted A-Z by link text (the text inside `[]`). - For every newly added entry, verify it was inserted in the correct alphabetical position relative to the other entries (new and pre-existing) already in that section. - Flag a new entry if it is not in the correct alphabetical position. ## 3. License Emoji Validation - Every newly added entry must start with one of these emojis: - `:free:` - Free - `:tada:` - Open Source - `:moneybag:` - Paid - `:money_with_wings:` - Partially Free - Exception: new entries added under `### Blogs and Portals`, `### Videos/Podcasts`, `### Game Jams`, and `### Communities` are NOT required to have one of these emojis. - For all other sections, flag any new entry that: - Is missing an emoji entirely - Uses an invalid/different emoji (not one of the four above) - Uses an inconsistent emoji format (e.g. `🆓` instead of `:free:`) ## 4. Link Validation - Every newly added link must be a valid, well-formed URL using the `https://` scheme only. Flag `http://` links and any other protocol (ftp, file, mailto, javascript, etc.). - Flag malformed or unreachable (broken/dead) URLs. - If a newly added link points to a GitHub repository (e.g. `https://github.com//`), look up the repository and flag it if it has fewer than 100 stars. ## 5. Game Development Relevance - Every newly added link must be explicitly about game development (e.g. engines, game-specific tools, game art/audio assets, game tutorials/books, game-dev communities, etc). - Flag new links to general-purpose tools or resources that are not specifically focused on game development, even if they could incidentally be used while making a game. ## 6. Reporting Failures - If any check above fails for a newly added link, comment directly on that line, tag the PR author, and clearly explain which check(s) failed and what needs to be fixed. - When any new link fails a check, request changes on the review instead of approving. pre_merge_checks: custom_checks: - name: "README New Links Validation" mode: "error" instructions: | If README.md is changed in this PR, validate ONLY the links/entries newly added by this PR. Ignore pre-existing entries that were not changed by the PR, even if they would otherwise fail a check. 1. Alphabetical Ordering: Each newly added entry must be inserted in the correct alphabetical position (sorted A-Z by the link text inside `[]`) within its section/subsection. 2. License Emoji: Each newly added entry must start with exactly one of: :free:, :tada:, :moneybag:, :money_with_wings:. No other emojis or missing emojis are allowed. Exception: entries added under "Blogs and Portals", "Videos/Podcasts", "Game Jams", and "Communities" are exempt from this requirement. 3. Link Validity: Each newly added link must be a valid, well-formed, reachable URL using https:// only (reject http:// and any other scheme). If the link is a GitHub repository, it must have at least 100 stars. 4. Game Dev Relevance: Each newly added link must be explicitly about game development. Reject general-purpose tools/sites that have no specific game-development focus. Pass only if all four conditions are met for every newly added link. If any condition is violated, fail the check and mention/tag the PR author in the result, explicitly asking them to fix the reported issue(s) before the PR can be merged.