main
1# GitHub Notification Manager Configuration
2#
3# This file defines rules for automatically managing GitHub notifications.
4# Rules are evaluated in order, and the first matching rule is applied.
5
6rules:
7 # Example: Archive merged Dependabot PRs
8 - name: "Archive merged Dependabot PRs"
9 description: "Auto-archive merged dependency update PRs"
10 filters:
11 subject_type: "PullRequest"
12 reason: "state_change" # Triggered when PR is merged/closed
13 subject_title: "*bump *" # Case-insensitive; matches "Bump ..." and "chore(deps): bump ..."
14 action: done
15 enabled: true
16
17 # Example: Archive all Dependabot notifications from a specific repo
18 - name: "Archive Dependabot notifications"
19 description: "Auto-archive dependency update notifications"
20 filters:
21 repository: "owner/repo" # Exact match or pattern with *
22 reason: "subscribed" # Notification reason (see GitHub API docs)
23 action: done # done or skip
24 enabled: true
25
26 # Example: Archive CI/CD notifications
27 - name: "Archive CI notifications"
28 description: "Archive check suite notifications"
29 filters:
30 subject_type: "CheckSuite" # Release, Issue, PullRequest, CheckSuite, etc.
31 action: done
32 enabled: true
33
34 # Example: Archive notifications from specific repos
35 - name: "Archive archived repo notifications"
36 description: "Auto-archive notifications from archived repositories"
37 filters:
38 repository: "owner/archived-*" # Supports wildcard patterns
39 action: done
40 enabled: true
41
42 # Example: Archive old read notifications
43 - name: "Archive old read notifications"
44 description: "Archive notifications that have been read for 7+ days"
45 filters:
46 unread: false
47 age_days: 7 # Older than N days
48 action: done
49 enabled: true
50
51 # Example: Skip notifications from important repos (no action)
52 - name: "Keep important repo notifications"
53 description: "Don't auto-process notifications from critical repos"
54 filters:
55 repository: "owner/important-repo"
56 action: skip
57 enabled: true
58
59# Available filter fields:
60# - repository: string or pattern (supports wildcards like "owner/*")
61# - reason: string (subscribed, mention, team_mention, author, state_change, review_requested, etc.)
62# - subject_type: string (Release, Issue, PullRequest, CheckSuite, Discussion, etc.)
63# - subject_title: string or pattern (supports wildcards, case-insensitive, e.g. "*bump *")
64# - unread: boolean (true/false)
65# - age_days: number (notifications older than N days)
66# - updated_before: ISO date string (YYYY-MM-DD)
67# - updated_after: ISO date string (YYYY-MM-DD)
68
69# Available actions:
70# - done: Mark notification as done/archived (removes from inbox)
71# - skip: Don't process this notification (useful for exclusions)