repo-birthday 🎂#
Gives you a calendar to let you know when your repos are celebrating their birthdays — and their age.
- Just access
repobirth.day - Log in with GitHub, or enter your Tangled or Gitea handle
- Add your
.icalURL to your calendar app — or share with your geek friends!
Contributing#
Environment variables#
repo-birthday requires some environment variables to access the forges and to Cloudflare's KV (the storage):
Required#
| Name | Description |
|---|---|
SECRET_KEY |
Used in the encryption/decryption when saving users' access tokens into the storage (a random long string will do it) |
CLOUDFLARE_ACCOUNT_ID |
Your Cloudflare's account ID |
CLOUDFLARE_API_TOKEN |
Your Cloudflare's API token (must have write permissions to KV) |
CLOUDFLARE_KV_NAMESPACE |
The ID of the KV namespace to use for this project |
Forge Configuration#
| Name | Description | Default |
|---|---|---|
GITHUB_APP_CLIENT_ID |
GitHub app client ID | - |
GITHUB_APP_SECRET |
GitHub app's secret | - |
URL Structure#
/github.com/{username}: GitHub repositories (requires OAuth login)- For backward compatibility
/{username}redirects to/github.com/{username}
- For backward compatibility
/tangled.org/{handle}: Tangled repositories (public data, no login needed)- or any Gitea host, e.g.
/codeberg.org/{handle}: Gitea repositories (public data, no login needed)
Optional#
| Name | Description |
|---|---|
PORT |
Which port the web server will listen |
DOMAIN |
The domain where your server is running (e.g. repobirth.day) |
Running the server#
cargo run
After editing code#
cargo fmt && cargo clippy --fix --allow-dirty --allow-staged && cargo check