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)