Reporeply is a GitHub App that helps maintain healthy repositories by automatically engaging with inactive issues in a respectful and transparent way.
It detects newly opened issues, provides an initial acknowledgement, and periodically checks for inactivity. If an issue remains inactive beyond a configurable grace period, Reporeply can post reminders or close the issue automatically.
The goal is to reduce maintainer overhead while keeping contributors informed.
- Automatically comments on newly opened issues
- Daily inactivity scanning via secure cron
- Optional auto-close after a grace period
- Skips bot-created issues to prevent loops
- Uses short-lived GitHub App tokens (no PATs)
- No database required
- Designed for organizations and personal repositories
- A user opens an issue
- GitHub sends a webhook event to Reporeply
- Reporeply authenticates using a GitHub App installation token
- A professional acknowledgment comment is posted
- A daily cron job scans for inactive issues
- Issues exceeding the inactivity threshold are handled according to rules
- Uses GitHub App authentication (JWT + installation tokens)
- Webhook requests are verified using a secret
- Cron endpoint protected via
CRON_SECRET - Private keys are never committed to the repository
- Minimal permissions are requested
- Issues: Read & Write
- Metadata: Read
No access to code, pull requests, or user data beyond issue metadata.
Environment variables:
APP_ID=your_app_id
WEBHOOK_SECRET=your_webhook_secret
GITHUB_PRIVATE_KEY_PATH=/absolute/path/to/private-key.pem
CRON_SECRET=secure_random_string
PORT=3000
## Project Status
🚧 Early development — APIs and internal design may evolve.
## Getting Started
```bash
git clone https://github.com/x10developers/reporeply.git
cd reporeply