https://github.com/djiit/gong
Nudge PR Reviewers
https://github.com/djiit/gong
Last synced: about 2 months ago
JSON representation
Nudge PR Reviewers
- Host: GitHub
- URL: https://github.com/djiit/gong
- Owner: Djiit
- Created: 2025-03-07T21:26:45.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-03-08T09:20:17.000Z (about 2 months ago)
- Last Synced: 2025-03-08T10:24:19.679Z (about 2 months ago)
- Language: Go
- Size: 43.9 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# gong
[](https://goreportcard.com/report/github.com/Djiit/gong)
[](https://pkg.go.dev/github.com/Djiit/gong)
[](https://github.com/Djiit/gong/actions)
[](https://img.shields.io/github/license/Djiit/gong)gong is a tiny, work-in-progress, opinionated CLI for nudging/pinging reviewers on GitHub pull requests.
## Features
### Rules-Based Delay System
gong allows you to configure custom delays based on reviewer names using glob patterns. This lets you define different waiting periods before pinging different reviewers or teams.
#### Configuration Example
In your config file, you can specify a global delay and override it with specific rules:
```yaml
# Global settings
enabled: true # Enable or disable pinging functionality globally
delay: 0 # Global delay (in seconds) before pinging reviewers# Rules for custom delays based on reviewer name patterns
rules:
- matchName: "@org/*"
delay: 86400 # 24 hours delay for organization members
enabled: true # Enable or disable this specific rule (defaults to true if not specified)
- matchName: "external-*"
delay: 172800 # 48 hours delay for external reviewers
enabled: true
- matchName: "urgent-team"
delay: 0 # No delay for urgent team
- matchName: "do-not-ping-*"
delay: 0
enabled: false # Disable pinging for reviewers matching this pattern
```Rules are evaluated in order, and the first matching rule's delay is applied. If no rules match a reviewer, the global delay is used. Setting a delay to 0 means reviewers will be pinged immediately.
The `enabled` setting can be specified:
- At the global level to enable/disable all pinging functionality
- At the rule level to enable/disable specific rulesBy default, `enabled` is set to `true` if not specified.