{"id":25940514,"url":"https://github.com/fatwang2/gitpush","last_synced_at":"2026-05-09T06:32:13.463Z","repository":{"id":280274796,"uuid":"940690317","full_name":"fatwang2/gitpush","owner":"fatwang2","description":"an AI Github Rlease Tracker Powered by Cloudflare","archived":false,"fork":false,"pushed_at":"2025-03-02T12:02:06.000Z","size":24,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-02T13:19:16.956Z","etag":null,"topics":["cloudflare","github","workers-ai","workflows"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fatwang2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2025-02-28T16:10:02.000Z","updated_at":"2025-03-02T12:02:09.000Z","dependencies_parsed_at":"2025-03-02T13:19:27.392Z","dependency_job_id":"6a080ec7-cb57-4d49-82b2-ae312e6b7cbb","html_url":"https://github.com/fatwang2/gitpush","commit_stats":null,"previous_names":["fatwang2/gitpush"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/fatwang2/gitpush","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatwang2%2Fgitpush","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatwang2%2Fgitpush/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatwang2%2Fgitpush/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatwang2%2Fgitpush/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fatwang2","download_url":"https://codeload.github.com/fatwang2/gitpush/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fatwang2%2Fgitpush/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264902775,"owners_count":23681122,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cloudflare","github","workers-ai","workflows"],"created_at":"2025-03-04T05:16:59.686Z","updated_at":"2026-05-09T06:32:08.423Z","avatar_url":"https://github.com/fatwang2.png","language":"TypeScript","funding_links":[],"categories":["Sonstiges"],"sub_categories":[],"readme":"# GitPush\n\nEnglish | [简体中文](README_CN.md)\n\nAn AI-powered GitHub Release Tracker that monitors your favorite repositories, summarizes updates using AI, and delivers them straight to your inbox.\n\n\u003e 🚀 **Quick Start**: Try our [cloud version](https://gitpush.email) - No deployment needed!\n\n![CleanShot 2025-03-07 at 14 53 02@2x](https://github.com/user-attachments/assets/8b8058a3-b886-4398-886b-357a8e73f62d)\n\n## Technology Stack\n\nGitPush is built on four core Cloudflare services:\n\n- **Workers**: Serverless runtime environment for the application\n- **Workflows**: Automated pipeline for release monitoring and processing\n- **Workers AI**: AI-powered release summary generation with DeepSeek R1\n- **Email Routing**: Reliable email notification delivery system\n\n## Configuration\n\n### Environment Variables\n\n\u003e **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.\n\n| Variable Name | Description | Example | Notes |\n|---------------|-------------|---------|--------|\n| `GITHUB_REPOS` | GitHub repositories to monitor | \"https://github.com/owner/repo1,https://github.com/owner/repo2\" | Use commas to separate multiple repositories |\n| `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/) |\n| `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/) |\n| `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. |\n\n### Other Configuration on `wrangler.jsonc`\n| Configuration | Description | Example | Notes |\n|--------------|-------------|---------|--------|\n| `send_email.destination_address` | Notification recipient email | \"your.email@domain.com\" | Must match EMAIL_TO_ADDRESS |\n| `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) |\n\n## Deployment\n\n\u003e **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.\n\n```bash\n# Install dependencies\npnpm install\n\n# Deploy to Cloudflare Workers\npnpm run publish\n```\n\n## Usage\n### Automatic Updates\n\nOnce deployed, GitPush will automatically:\n- Run daily at 1 AM (configurable via `triggers.crons` in `wrangler.jsonc`)\n- Check for new releases in your monitored repositories\n- Send email notifications if updates are found\n\n### Manual Triggers\n\nYou can manually trigger the workflow in three ways:\n\n1. **Using Web Interface**\n\nThe easiest way to use GitPush:\n1. Visit your deployed application URL (e.g., `https://your-worker.workers.dev`)\n2. Enter the GitHub repository URLs you want to monitor\n3. Click \"Start Workflow\" to trigger the workflow\n\n2. **Using API**\n\nCreate a workflow:\n```bash\ncurl -X POST https://your-worker.workers.dev/api/workflow/create \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"repo_urls\": [\n      \"https://github.com/owner/repo1\",\n      \"https://github.com/owner/repo2\"\n    ]\n  }'\n```\n\nCheck workflow status:\n```bash\ncurl -X POST https://your-worker.workers.dev/api/workflow/status \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\n    \"instanceId\": \"your-workflow-instance-id\"\n  }'\n```\n\n3. **Using Cloudflare Dashboard**\n\n- Go to [Cloudflare Dashboard](https://dash.cloudflare.com)\n- Navigate to Compute(Workers) \u003e Workflows \u003e Your Workflow\n- Click \"Trigger\" button\n- Input your target repositories and trigger the workflow\n\n```json\n{\n  \"repo_urls\": [\n    \"https://github.com/owner/repo1\",\n    \"https://github.com/owner/repo2\"\n  ]\n}\n```\n\n### Monitoring\n\nTo monitor the workflow execution:\n1. Go to [Cloudflare Dashboard](https://dash.cloudflare.com)\n2. Navigate to Compute(Workers) \u003e Workflows \u003e Your Workflow\n3. Here you can view:\n   - Execution history\n   - Success/failure status\n   - Detailed logs for each step\n   - Email delivery status\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffatwang2%2Fgitpush","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffatwang2%2Fgitpush","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffatwang2%2Fgitpush/lists"}