Weekly
Get weekly stats for your repos by email
Every Monday you see stars, forks, open issues and open pull requests for your repos, and how they changed since last week.
- Runs
- Weekly
- Apps
- GitHub
- AI
- Not needed
- Access
- Metadata: read
Send this to your assistant
Create a ClickRuntime automation: every Monday at 9am, email me stars, forks, open issues and open pull requests for acme/app and acme/docs, compared with last week.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Open source maintainers and developer-tool founders often ask the same question on Monday: is the project growing? Stars, forks, open issues and open pull requests all live on different pages, and the numbers mean little without last week's figures to compare against. So they guess from memory, or screenshot the repository page and lose the comparison.
Every week the current numbers for each repository are fetched, including community health data, and compared against the figures stored from the previous run. The results go out as an email or Slack message showing each metric with its change, such as 14 new stars and 3 more open issues, then the new numbers are saved for next week.
Maintainers who report to a sponsor, companies with several public repos and teams that review project health weekly.
What you get out of it
Growth shows up as a number
Seeing that stars rose by 40 this week gives you a concrete way to judge a launch or a conference talk, instead of relying on a vague sense that interest picked up.
Open issue creep gets caught
If open issues climb by ten every week while pull requests stay flat, the report makes that drift visible long before the backlog becomes unmanageable. Seeing the trend early lets you schedule a triage day.
Sponsors and bosses get evidence
A short weekly log of project health makes it easy to show employers or sponsors that the work is paying off, with a trend rather than a single screenshot. That is often exactly what a grant or sponsorship renewal requires.
Several repositories in one report
Maintainers with a family of repos see them side by side, which makes it clear where attention is going and which projects are quietly stalling. Choosing where to spend limited volunteer time becomes much easier.
History is stored automatically
Because last week's numbers are kept for comparison, there is a running record to review at year end, and nobody has to create a spreadsheet to keep it. Records like this are hard to recreate after the fact.
How it works
What happens, step by step
Every Monday, the automation collects the stars, forks, open issues and open pull requests for your GitHub repos.
It compares each number with last week's, which it saved on the previous run.
You get the report by email or Slack, with the change next to each number.
Before it runs live
- Connect GitHub
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Run it at a different time, more or less often, or only on weekdays
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other GitHub steps into one automation
Under the hood
The code that runs this automation
from clickruntime import on_trigger, credentials, http, state, notify
def gh(method, path, **kw):
resp = http.request(method, f"https://api.github.com{path}", headers={
"Authorization": f"Bearer {credentials.connection('github', 'work')}",
"Accept": "application/vnd.github+json"}, **kw)
resp.raise_for_status()
return resp.json() if resp.content else None
REPOS = ["acme/app", "acme/docs"]
@on_trigger
def run(event):
last = state.get("last") or {}
now, lines = {}, []
for repo in REPOS:
info = gh("GET", f"/repos/{repo}")
prs = gh("GET", "/search/issues", params={"q": f"repo:{repo} is:pr is:open", "per_page": 1})["total_count"]
stats = {"stars": info["stargazers_count"], "forks": info["forks_count"],
"issues": info["open_issues_count"] - prs, "prs": prs}
prev = last.get(repo, {})
lines.append(f"{repo}: " + " · ".join(
f"{k} {v}" + (f" ({v - prev[k]:+d})" if k in prev else "") for k, v in stats.items()))
now[repo] = stats
notify.email_me("Weekly repo stats", "\n".join(lines))
state.set("last", now)
return nowFAQ
Common questions
Which numbers does the report include?
What does the first report show?
Can I send it to Slack instead of email?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Back up your data to a GitHub repo every night
Your exports and configs are committed to a private repo each night, only when something changed, with a summary by email.
See how it worksGet a morning digest of new pull requests
Each weekday morning you get one email with the pull requests opened in the last day, grouped by repo.
See how it worksLabel and close stale issues every week
Issues with no activity for 60 days are labelled stale, closed 14 days later if nothing happens, and you get the list.
See how it worksKeep exploring
Set up “Get weekly stats for your repos by email” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.