{"id":18742810,"url":"https://github.com/roryq/checkmate","last_synced_at":"2025-07-05T00:05:55.119Z","repository":{"id":63124880,"uuid":"531021767","full_name":"RoryQ/checkmate","owner":"RoryQ","description":"Automated checklist inspector for your pull requests.","archived":false,"fork":false,"pushed_at":"2024-11-30T06:35:22.000Z","size":92,"stargazers_count":8,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-13T19:02:26.650Z","etag":null,"topics":["checklist","checklists","github-actions","pull-request-review","pull-request-template"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RoryQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2022-08-31T09:46:37.000Z","updated_at":"2025-05-09T10:12:38.000Z","dependencies_parsed_at":"2024-01-17T01:25:58.664Z","dependency_job_id":"53ca779b-8b39-41d4-bad6-24341f98bb9b","html_url":"https://github.com/RoryQ/checkmate","commit_stats":{"total_commits":30,"total_committers":1,"mean_commits":30.0,"dds":0.0,"last_synced_commit":"70e6366f1418e30e684a354cf2c35241000935af"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/RoryQ/checkmate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoryQ%2Fcheckmate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoryQ%2Fcheckmate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoryQ%2Fcheckmate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoryQ%2Fcheckmate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RoryQ","download_url":"https://codeload.github.com/RoryQ/checkmate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RoryQ%2Fcheckmate/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263636790,"owners_count":23492304,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["checklist","checklists","github-actions","pull-request-review","pull-request-template"],"created_at":"2024-11-07T16:09:19.251Z","updated_at":"2025-07-05T00:05:55.098Z","avatar_url":"https://github.com/RoryQ.png","language":"Go","readme":"# Checkmate 🕵️\n\n## Automated checklist inspector for your pull requests\n\n## Features\n\n- [x] Fails validation until all configured checklists in the pull request description are checked.\n- [x] Automatic checklists triggered on files modified in the pull request.\n- [x] Support for validating select lists i.e. radio button.\n- [x] [Job summary](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/) workflow report.\n\n## Configuration\n\n### Pull Request Description Checks\n\nIn your PR description or issue template, place `\u003c!--Checkmate--\u003e` above the checklist block you want validated. A block of checklist\nitems is one without empty lines in-between.\n\n```markdown\n#### :heavy_check_mark: Checklist\n\n\u003c!--Checkmate--\u003e\n\n- [ ] Added or updated documentation\n- [x] Tests for new functionality and regression tests for bug fixes\n\n#### This checklist will not be validated\n\n- [ ] This is ignored\n- [ ] This is ignored\n- [ ] This is ignored\n\n\n#### Oasis or Blur?\nThis select list validates that only one item is selected.\n\n\u003c!--Checkmate select=1--\u003e\n- [ ] Oasis\n- [ ] Blur\n\n```\n\nThen configure the action in your workflow like\n\n```yaml\non:\n  pull_request:\n    types: [edited, opened, reopened]\n\n# cancel old edit events being processed\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: true\n  \nname: Checkmate\njobs:\n  validate-checklists:\n    runs-on: ubuntu-latest\n    steps:\n    - uses: actions/checkout@v3\n    - name: Validate Checklists\n      uses: roryq/checkmate@master\n```\n\n### Automatic checklists\n\nSimilar to the [workflow triggers on file paths](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#example-including-paths), \nyou can configure Checkmate to write a checklist comment on a pull request which will be validated along with the\npull request description.\n\nTo enable the automated checklists configure the `with.paths` and the `with.github_token` inputs, and add the synchronize event for pull_request\nand listen to all issue_comment events.\n\nIf you want to use a Selectlist then the first item should be the `\u003c!--Checkmate select=1--\u003e` comment.\n\n```yaml\non:\n  pull_request:\n    types: [edited, opened, reopened, synchronize]\n  issue_comment:\n\n# cancel old edit events being processed\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  cancel-in-progress: true\n  \nname: Checkmate\njobs:\n  validate-checklists:\n    runs-on: ubuntu-latest\n    steps:\n      - uses: actions/checkout@v3\n      - name: Validate Checklists\n        uses: roryq/checkmate@master\n        with:\n          github_token: ${{ secrets.GITHUB_TOKEN }}\n          paths: |\n            docs/**/*.md:\n              - I have got the grammar police to proofread my changes.\n            schema/migrations/*.sql:\n              - There are no breaking changes in these migrations\n              - I have notified X team of the new schema changes\n            database/*.go:\n              - \u003c!--Checkmate select=2--\u003e\n              - Strong Consistency\n              - Availability\n              - Partition Tolerance\n```\n\nWhich will create and update a comment when the changeset files match the configured patterns.\n\n\n```markdown\nThanks for your contribution!\nPlease complete the following tasks related to your changes and tick the checklists when complete.\n\n### Checklist for files matching *docs/\\*\\*/\\*.md*\n\u003c!-- Checkmate filepath=docs/**/*.md --\u003e\n- [ ] I have got the grammar police to proofread my changes.\n\n### Checklist for files matching *schema/migrations/\\*.sql*\n\u003c!-- Checkmate filepath=schema/migrations/*.sql --\u003e\n- [ ] There are no breaking changes in these migrations\n- [ ] I have notified X team of the new schema changes\n\n### Select 2 for files matching *database/\\*.go*\n\u003c!-- Checkmate select=2 filepath=database/*.go --\u003e\n- [ ] Strong Consistency\n- [ ] Availability\n- [ ] Partition Tolerance\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froryq%2Fcheckmate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Froryq%2Fcheckmate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Froryq%2Fcheckmate/lists"}