https://github.com/fatwang2/gitpush
an AI Github Rlease Tracker Powered by Cloudflare
https://github.com/fatwang2/gitpush
cloudflare github workers-ai workflows
Last synced: 3 months ago
JSON representation
an AI Github Rlease Tracker Powered by Cloudflare
- Host: GitHub
- URL: https://github.com/fatwang2/gitpush
- Owner: fatwang2
- License: mit
- Created: 2025-02-28T16:10:02.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-03-02T12:02:06.000Z (7 months ago)
- Last Synced: 2025-03-02T13:19:16.956Z (7 months ago)
- Topics: cloudflare, github, workers-ai, workflows
- Language: TypeScript
- Homepage:
- Size: 23.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-cloudflare - GitPush - Projekt-Update-Abonnement-Tool. Sie können GitHub-Projekte abonnieren und Benachrichtigungen per E-Mail mit KI-generierten Zusammenfassungen der Updates erhalten.| | In Wartung| (Sonstiges)
README
# GitPush
English | [简体中文](README_CN.md)
An AI-powered GitHub Release Tracker that monitors your favorite repositories, summarizes updates using AI, and delivers them straight to your inbox.
> 🚀 **Quick Start**: Try our [cloud version](https://gitpush.email) - No deployment needed!

## Technology Stack
GitPush is built on four core Cloudflare services:
- **Workers**: Serverless runtime environment for the application
- **Workflows**: Automated pipeline for release monitoring and processing
- **Workers AI**: AI-powered release summary generation with DeepSeek R1
- **Email Routing**: Reliable email notification delivery system## Configuration
### Environment Variables
> **Security Note**: It is recommended to configure these environment variables through the Cloudflare Workers dashboard instead of storing them in the `wrangler.jsonc` file to prevent sensitive information from being exposed on GitHub.
| Variable Name | Description | Example | Notes |
|---------------|-------------|---------|--------|
| `GITHUB_REPOS` | GitHub repositories to monitor | "https://github.com/owner/repo1,https://github.com/owner/repo2" | Use commas to separate multiple repositories |
| `EMAIL_FROM_ADDRESS` | Notification sender email | "noreply@yourdomain.com" | Must be configured in Cloudflare like [this](https://developers.cloudflare.com/email-routing/setup/email-routing-addresses/) |
| `EMAIL_TO_ADDRESS` | Notification recipient email,must match your destination_address | "your.email@domain.com" | Must be configured in Cloudflare like [this](https://developers.cloudflare.com/email-routing/setup/email-routing-addresses/) |
| `GITHUB_TOKEN` | GitHub Personal Access Token | "xxxxxxxxxxxx" | Optional. Not required for personal use (60 unauthenticated requests/hour. You can get [More deails](https://docs.github.com/en/rest/using-the-rest-api/rate-limits-for-the-rest-api?apiVersion=2022-11-28) here. |### Other Configuration on `wrangler.jsonc`
| Configuration | Description | Example | Notes |
|--------------|-------------|---------|--------|
| `send_email.destination_address` | Notification recipient email | "your.email@domain.com" | Must match EMAIL_TO_ADDRESS |
| `triggers.crons` | Schedule for monitoring repositories | "0 1 * * *" | Cron expression format (e.g., "0 1 * * *" means run at 1 AM daily and check updates from the past 24 hours) |## Deployment
> **Note**: This project is designed to run on Cloudflare Workers and requires Cloudflare's infrastructure. It cannot be run locally due to its dependencies on Cloudflare-specific features like Email API and AI capabilities.
```bash
# Install dependencies
pnpm install# Deploy to Cloudflare Workers
pnpm run publish
```## Usage
### Automatic UpdatesOnce deployed, GitPush will automatically:
- Run daily at 1 AM (configurable via `triggers.crons` in `wrangler.jsonc`)
- Check for new releases in your monitored repositories
- Send email notifications if updates are found### Manual Triggers
You can manually trigger the workflow in three ways:
1. **Using Web Interface**
The easiest way to use GitPush:
1. Visit your deployed application URL (e.g., `https://your-worker.workers.dev`)
2. Enter the GitHub repository URLs you want to monitor
3. Click "Start Workflow" to trigger the workflow2. **Using API**
Create a workflow:
```bash
curl -X POST https://your-worker.workers.dev/api/workflow/create \
-H "Content-Type: application/json" \
-d '{
"repo_urls": [
"https://github.com/owner/repo1",
"https://github.com/owner/repo2"
]
}'
```Check workflow status:
```bash
curl -X POST https://your-worker.workers.dev/api/workflow/status \
-H "Content-Type: application/json" \
-d '{
"instanceId": "your-workflow-instance-id"
}'
```3. **Using Cloudflare Dashboard**
- Go to [Cloudflare Dashboard](https://dash.cloudflare.com)
- Navigate to Compute(Workers) > Workflows > Your Workflow
- Click "Trigger" button
- Input your target repositories and trigger the workflow```json
{
"repo_urls": [
"https://github.com/owner/repo1",
"https://github.com/owner/repo2"
]
}
```### Monitoring
To monitor the workflow execution:
1. Go to [Cloudflare Dashboard](https://dash.cloudflare.com)
2. Navigate to Compute(Workers) > Workflows > Your Workflow
3. Here you can view:
- Execution history
- Success/failure status
- Detailed logs for each step
- Email delivery status