Skip to content

Responding to CodeMop

CodeMop comments on each issue it finds, and keeps one summary comment in the PR’s conversation. For each issue:

You want to Do this What happens
Fix it Tick its box in the summary, and when you’ve ticked all you want, tick Commit the ticked fixes (or use “Commit suggestion” on its comment) The ticked fixes are committed to the PR’s branch as one commit, and marked as applied in the summary
Say it isn’t a problem here Resolve the comment’s conversation CodeMop won’t raise it again on this pull request
Say it isn’t a problem anywhere in the repository Reply /codemop learn <why it's fine> to the comment CodeMop adds a note to .codemop-learned.yml on the PR’s branch, resolves the conversation, and replies to confirm. Once the PR is merged, it won’t raise it again in the repository

When you push more commits, CodeMop reviews just the new changes, and from then on raises only bugs and security issues, so a one-line fix doesn’t bring a new round of small points. The summary keeps every issue from every review: open ones at the top, and under “Done” the ones applied, addressed (their code changed; CodeMop resolves their conversation) or dismissed. After a force-push or rebase, it reviews the whole pull request again.

  • Within about 10 seconds of ticking Commit the ticked fixes, or commenting /codemop check or /codemop learn, CodeMop puts 👀 on the comment, and takes it off when it’s done. 😕 means it failed: the CodeMop run in the repository’s Actions tab says why
  • Ticking fixes and /codemop learn work for people with write access (CodeMop tells anyone else so). A fix is applied only where the code it replaces hasn’t changed since the review; the summary says which were applied, and why any weren’t
  • .codemop-learned.yml is an ordinary file: read it, edit it, delete notes that are too broad. It’s read from the default branch, so a pull request can’t teach CodeMop to ignore its own bug
  • GitHub doesn’t run other workflows for commits made with the workflow’s own token, so CI doesn’t run on CodeMop’s commits. To have it run, pass a personal access token (contents and pull requests: write) as github-token
  • On pull requests from forks, CodeMop can’t commit to the branch, and GitHub doesn’t let workflows act on replies there: there are no checkboxes (the comments still have one-click suggestions) and /codemop learn doesn’t work. Resolve the conversation instead, and add the note to .codemop-learned.yml on your default branch yourself