A collection of GitHub automation tools for managing repositories and organizations.
src/
├── components/ # Bot components and modules
│ ├── scan_join_issues.py # Process join requests
│ ├── task_checker.py # Check and remind on overdue tasks
│ └── README.md # Component documentation
├── config/ # Configuration files
│ ├── join-config.yml # Join request configuration
│ └── task-checker.yml # Task checker configuration
├── libs/ # Shared libraries
│ ├── github_client.py # GitHub API client
│ ├── utils.py # Utility functions
│ └── __init__.py
└── main.py # Main entry point
Monitors task issues with priority labels (P0/P1/P2) and sends reminders when they haven't been updated within configured timeouts.
Quick Start:
export GH_TOKEN="your_github_token"
python src/components/task_checker.pyFeatures:
- Scan single repository or entire organization
- Customizable timeout thresholds per priority (P0/P1/P2)
- Flexible reminder templates
- Repository exclusion support
- Configurable priority patterns
See components/README.md for detailed configuration options.
Processes join request issues for organization membership management.
Quick Start:
export GH_TOKEN="your_github_token"
python src/components/scan_join_issues.py- Clone the repository
- Set up your GitHub token:
export GH_TOKEN="your_github_personal_access_token"
- Configure the components in
src/config/ - Run the bot:
# Run all components python src/main.py all # Run specific component python src/main.py join-issues python src/main.py task-checker # Run multiple components python src/main.py join-issues task-checker # Enable verbose error output python src/main.py all --verbose
You can also run components directly:
# Task checker
python src/components/task_checker.py
# Join issues scanner
python src/components/scan_join_issues.pyAll components use YAML configuration files in src/config/:
join-config.yml- Join request processing settingstask-checker.yml- Task monitoring and reminder settings
- Python 3.7+
- GitHub Personal Access Token with appropriate permissions
- For task checker:
reposcope (read issues, write comments) - For join scanner:
admin:orgscope (manage organization members)
- For task checker:
This project includes automated workflows for scheduled execution:
- Daily Bot Tasks (
daily-scan.yml): Runs all components daily at 02:20 UTC - Task Checker Hourly (
task-checker-hourly.yml): Checks task timeouts every 6 hours
See .github/workflows/README.md for workflow documentation.
See LICENSE for details.