Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
8b013db
feat(ci): automated PR readiness checks (#750)
diberry Apr 2, 2026
09f097a
chore: update Flight history and decision inbox for PR readiness
diberry Apr 2, 2026
3507235
feat(ci): automated comment spam protection workflow
diberry Apr 2, 2026
2886aae
docs: update Booster history and decision record for spam protection
diberry Apr 2, 2026
77b54f7
fix(ci): address PR review feedback on comment moderation (#751)
diberry Apr 2, 2026
3084dcd
docs: update Booster history with PR #752 pagination fix
diberry Apr 2, 2026
2a20567
fix(ci): address review feedback on spam moderation (#753)
diberry Apr 2, 2026
9d9d075
docs: update EECOM history with PR review fix learnings
diberry Apr 2, 2026
7d6bcee
refactor(ci): extract moderation scripts from workflow inline code
diberry Apr 2, 2026
ce223e8
test: add comment moderation scoring tests
diberry Apr 2, 2026
e0928cc
chore: remove .squad and docs/proposals from PR scope
diberry Apr 2, 2026
51b133e
docs: update EECOM history and decision record for #753 refactor
diberry Apr 2, 2026
4eacfaf
chore: remove .squad files and duplicate changeset from PR scope
diberry Apr 2, 2026
6a94226
refactor(ci): remove all inline JS from moderation workflow
diberry Apr 2, 2026
2457d49
docs: update EECOM history with #753 learnings
diberry Apr 2, 2026
1bba0d6
chore: remove PR readiness workflow cargo from spam moderation PR
diberry Apr 2, 2026
756b24a
refactor(ci): replace custom moderation with github/ai-moderator action
diberry Apr 2, 2026
b8a6cbe
docs: update EECOM history and add ai-moderator decision
diberry Apr 2, 2026
437e750
chore: remove .squad state from PR diff
diberry Apr 2, 2026
26820f1
chore: remove .squad state from PR diff
diberry Apr 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .changeset/comment-moderation.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
---
"@bradygaster/squad-cli": patch
---

Add automated comment spam protection using GitHub's official ai-moderator action
32 changes: 32 additions & 0 deletions .github/workflows/squad-comment-moderation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Comment Moderation

on:
issues:
types: [opened]
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]

permissions:
issues: write
pull-requests: write
models: read
contents: read

jobs:
moderate:
runs-on: ubuntu-latest
timeout-minutes: 5
# Skip bot comments
if: github.event.sender.type != 'Bot'
steps:
- uses: actions/checkout@v4
- uses: github/ai-moderator@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
spam-label: 'spam'
minimize-detected-comments: true
enable-spam-detection: true
enable-link-spam-detection: true
enable-ai-detection: false
8 changes: 8 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -287,6 +287,14 @@ GitHub Actions runs on every push:

All checks must pass before merge.

### Comment Moderation

This repo uses [GitHub's official ai-moderator action](https://github.com/github/ai-moderator) to automatically detect and minimize spam comments on issues and PRs. The action catches spam, link spam, and other disruptive content — legitimate first-time contributors are not affected. Note: the moderation workflow does not block users; it only minimizes their comments and applies a `spam` label.

If your comment is mistakenly hidden, reply to the thread or open a new issue and a maintainer will restore it promptly.

> **Scope note:** This comment moderation workflow addresses #751.

## Common Tasks

### Add a CLI Command
Expand Down
Loading