Daily
See who starred or forked your GitHub repo
A daily email lists the usernames of everyone who starred or forked your repo since the day before.
- Runs
- Daily
- Apps
- GitHub
- AI
- Not needed
- Access
- Metadata: read
Send this to your assistant
Create a ClickRuntime automation: every day at 8am, email me the usernames of everyone who starred or forked acme/app since yesterday.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
Stars and forks tell an open source maintainer whether a project is being noticed, but GitHub gives no useful digest of them. A launch post on Hacker News might add 300 stars in a day, or a fork might appear from a company that is about to build on your library, and you only find out if you happen to open the repository page at the right time.
Once a day the current list of stargazers and forks is fetched and compared with the set stored from the previous day. Anything new is written into an email: who starred, who forked and a link to each profile or fork. The stored set is then updated for tomorrow's comparison.
Maintainers, developer advocates and founders of developer tools use this to see who is paying attention without refreshing the page.
What you get out of it
You see who your users are
Names beside each new fork often reveal real companies and contributors, which gives a maintainer someone to reach out to for feedback or sponsorship. Those are real leads for partnerships, sponsorship or user interviews that you would otherwise never see.
Launch spikes are traceable
A sudden jump in stars on one date can be matched to the blog post or tweet that caused it, showing which channels send the most interested developers. You learn which of your launch efforts actually reached developers rather than guessing from analytics.
Forks flag potential contributors
A fork is often the first step before a pull request, so noticing it early lets you welcome the person and point them to the contributing guide. Replying quickly to a fork owner often turns an observer into an active contributor.
A daily record needs no screenshots
The emails form a dated history of growth and attention that you can cite in a funding application, sponsorship pitch or end-of-year project update. A simple archive like this beats trying to reconstruct growth from memory later.
Quiet days stay quiet
Because only differences are reported, a day without new activity produces a small note rather than a long list, so the email stays easy to scan. That keeps the email worth opening every day, even on slow weeks.
How it works
What happens, step by step
Every day, the automation reads the list of people who have starred or forked your GitHub repo.
It compares the list with yesterday's to find the new names.
You get an email with the usernames of new stars and forks, and how many of each.
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
REPO = "acme/app"
def all_pages(path):
users, page = [], 1
while True:
batch = gh("GET", path, params={"per_page": 100, "page": page})
users += batch
if len(batch) < 100:
return users
page += 1
@on_trigger
def run(event):
stars = {u["login"] for u in all_pages(f"/repos/{REPO}/stargazers")}
forks = {f["owner"]["login"] for f in all_pages(f"/repos/{REPO}/forks")}
prev = state.get("seen")
state.set("seen", {"stars": sorted(stars), "forks": sorted(forks)})
if prev is None:
return {"baseline": True}
new_stars, new_forks = stars - set(prev["stars"]), forks - set(prev["forks"])
if new_stars or new_forks:
notify.email_me(f"{REPO}: {len(new_stars)} new stars, {len(new_forks)} new forks",
f"Starred: {', '.join(sorted(new_stars)) or 'none'}\nForked: {', '.join(sorted(new_forks)) or 'none'}")
return {"stars": len(new_stars), "forks": len(new_forks)}FAQ
Common questions
Can I watch several repositories at once?
What happens when someone unstars a repository?
How many stargazers can it handle?
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 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.
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 worksKeep exploring
Set up “See who starred or forked your GitHub repo” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.