Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

repo-recap

A zero-dependency GitHub Action that posts periodic summaries of your repository's activity — commits, pull requests, issues, and contributors — as a GitHub Issue or comment.

No API keys. No external services. Just your repo's built-in GITHUB_TOKEN.

Quick Start

Create .github/workflows/recap.yml:

name: Weekly Recap
on:
  schedule:
    - cron: '0 9 * * 1'  # Every Monday at 9am UTC
  workflow_dispatch:        # Manual trigger

jobs:
  recap:
    runs-on: ubuntu-latest
    permissions:
      issues: write
      contents: read
      pull-requests: read
    steps:
      - uses: ekreloff/repo-recap@v1
        with:
          github-token: ${{ secrets.GITHUB_TOKEN }}
          days: 7

That's it. Every Monday, you'll get a new Issue summarizing the past week's activity.

Example Output

Repo Recap: 2026-03-20 to 2026-03-27

Commits (12)

  • a1b2c3d Fix auth middleware timeout — alice
  • e4f5g6h Add rate limiting to API — bob
  • ...

Pull Requests

3 opened | 2 merged

  • #42 Upgrade to Node 22 🟣 merged — alice
  • #41 Fix memory leak in worker 🟢 open — charlie

Issues

2 opened | 1 closed

  • #40 Dashboard loading slow ✅ — dave

Contributors

  • alice — 6 commit(s)
  • bob — 4 commit(s)
  • charlie — 2 commit(s)

Inputs

Input Description Default
github-token GitHub token for API access ${{ github.token }}
days Number of days to look back 7
issue-number Post as comment on this issue (creates new issue if empty) ``
sections Comma-separated: commits,prs,issues,contributors all

Post to an Existing Issue

If you prefer all recaps as comments on a single pinned issue:

- uses: ekreloff/repo-recap@v1
  with:
    github-token: ${{ secrets.GITHUB_TOKEN }}
    days: 7
    issue-number: 1  # Pin issue #1 as your recap thread

Daily Digest

on:
  schedule:
    - cron: '0 9 * * *'  # Every day at 9am UTC

steps:
  - uses: ekreloff/repo-recap@v1
    with:
      github-token: ${{ secrets.GITHUB_TOKEN }}
      days: 1
      sections: commits,prs

How It Works

Pure bash + curl + jq. Calls the GitHub REST API to fetch recent commits, PRs, and issues, then formats a Markdown summary and posts it. Runs entirely within GitHub Actions — no external services, no API keys, no data leaves GitHub.

License

MIT

About

A zero-dependency GitHub Action that posts periodic summaries of your repo activity as GitHub Issues

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages