https://github.com/ajndkr/pr-pulse
generate weekly reports of all code changes in a github repository
https://github.com/ajndkr/pr-pulse
gemini pull-requests python3 slack uv
Last synced: about 2 months ago
JSON representation
generate weekly reports of all code changes in a github repository
- Host: GitHub
- URL: https://github.com/ajndkr/pr-pulse
- Owner: ajndkr
- License: mit
- Created: 2025-03-22T19:34:11.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-04-05T10:00:37.000Z (about 1 year ago)
- Last Synced: 2025-04-05T10:28:26.822Z (about 1 year ago)
- Topics: gemini, pull-requests, python3, slack, uv
- Language: Python
- Homepage:
- Size: 655 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# pr-pulse
Analyze merged pull requests and generate insights.
## usage
#### basic example
```yaml
name: pr-pulse-insights
on:
schedule:
- cron: "0 8 * * 1" # Runs at 8:00 AM UTC every Monday
jobs:
run:
runs-on: ubuntu-latest
steps:
- name: generate insights summary
uses: ajndkr/pr-pulse@v0
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
repository: "owner/repo"
days: "7"
```
#### input parameters
| Parameter | Description | Required | Default |
| ------------------- | -------------------------------------- | -------- | ------- |
| `github_token` | GitHub token for repository access | Yes | - |
| `api_key` | GEMINI API key for `report` command | No | - |
| `repository` | Target repository in format owner/repo | Yes | - |
| `days` | Number of days to look back for PRs | No | 7 |
| `share` | Share insights on Slack | No | false |
| `slack_webhook_url` | Slack webhook URL to share insights | No | - |
**Note:** To create a Slack webhook URL, refer to
[Slack Incoming Webhooks](https://api.slack.com/messaging/webhooks).
## local development
### pre-requisites
- [uv](https://docs.astral.sh/uv/#getting-started)
### init project
```shell
make init
```
to run pre-commit checks, run:
```shell
make ci
```
### run commands
run the following to view the list of available commands:
```shell
make run
```
## project roadmap
### phase 1
- [x] setup project
- [x] create commands to fetch data from github
- [x] convert project to github action to schedule cron jobs in target
repository
- [x] add llm integration to generate weekly report
- [x] add slack integration to send weekly report
### phase 2
- [ ] improve customisability of commands
- [ ] add MCP support
- [ ] add support for more LLM providers