Starminder is a GitHub starred project reminder. ⭐
If you have any number of starred projects, you probably have very little idea what's in there. Starminder aims to periodically remind you of some random ones, so you don't forget about them entirely.
It functions as a script run via GitHub Actions. You fork the repo, update the cron schedule, set the requisite environment variables, and off it goes! 🚀
If you're using the built-in Amazon SES implementation, follow these steps:
- Generate personal GitHub token
- Configure a domain and access keys in AWS
- Fork the project
- Set the following secrets in your fork's settings:
STARMINDER_COUNT
: number of reminders per email as an integer, e.g.,3
STARMINDER_RECIPIENT
: recipient (your) email, e.g.,nik+starminder_script@nkantar.com
GH_TOKEN
: [GitHub Personal Token], no specific permissions required, e.g.,aofh398rwa9ahg99h
AWS_ACCESS_KEY_ID
: AWS Access Key ID, for SES, e.g.,dskfh3928hwa3ei7hf
AWS_SECRET_ACCESS_KEY
: AWS Secret Access Key, for SES, e.g.,3r3987lr9j8lu/98rw3lj9r3/98awr3l3rh
AWS_FROM
: sender address as configured in SES, e.g.,"Starminder <notifications@starminder.xyz>"
- Edit the schedule in
.github/workflows/run_starminder.yml
as desired - Occasionally refresh your fork from upstream, possibly using the GitHub UI
- Enjoy! 🎉
If you want to send emails via a service other than Amazon SES, these are the steps:
- Generate personal GitHub token
- Set up your preferred email service
- Fork the project
- Write a custom
send_email
implementation (see Custom Email Sending Implementation below) - Set the following secrets in your fork's settings:
STARMINDER_COUNT
: number of reminders per email as an integer, e.g.,3
STARMINDER_RECIPIENT
: recipient (your) email, e.g.,nik+starminder_script@nkantar.com
GH_TOKEN
: [GitHub Personal Token], no specific permissions required, e.g.,aofh398rwa9ahg99h
- Edit the schedule in
.github/workflows/run_starminder.yml
as desired - Add whichever secrets your implementation requires
- Occasionally refresh your fork from upstream, possibly using the GitHub UI
- Enjoy! 🎉
- Delete your fork
- Decommission your Amazon SES or other email service setup as appropriate
- Enjoy! 🎉
Starminder supports Amazon SES out of the box. If you'd like to use a different email service, you're responsible for the implementation, but that's an explicitly supported feature.
Broad steps:
- Create a file called
custom.py
- In said file create a function called
send_email
- Ensure said function accepts the following string arguments, in this order:
text
: text email bodyhtml
: HTML email bodysubject
: email subjectrecipient
: email recipient
- If your custom implementation requires additional dependencies, create a file called
custom_requirements.txt
- If applicable, in said file define your dependencies as expected by
pip install -r
Frequently Asked Questions…or Frankly, Anticipated Questionscommentsorconcerns…
- What happened to the web app? I got tired of feeling guilty about not maintaining it.
- Are you concerned this will turn off potential users? I'm not concerned about it, but I absolutely expect it to be the case.
- This is anoying.
¯\_(ツ)_/¯
Unlike most of my projects, contributions are not explicitly encouraged, though they're not discouraged, either.