Starminder
Starminder copied to clipboard
Remind yourself of your GitHub stars
Starminder
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! π
Installation
Amazon SES Email Sending
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.,[email protected]
-
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 <[email protected]>"
-
- Edit the schedule in
.github/workflows/run_starminder.yml
as desired - Occasionally refresh your fork from upstream, possibly using the GitHub UI
- Enjoy! π
Custom Email Sending
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.,[email protected]
-
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! π
Uninstallation
- Delete your fork
- Decommission your Amazon SES or other email service setup as appropriate
- Enjoy! π
Custom Email Sending Implementation
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 body -
html
: HTML email body -
subject
: email subject -
recipient
: 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
FAQ
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.
Β―\_(γ)_/Β―
Contributing
Unlike most of my projects, contributions are not explicitly encouraged, though they're not discouraged, either.