🎂 Know when your repos are celebrating their birthdays! repobirth.day
0

Configure Feed

Select the types of activity you want to include in your feed.

Rust 89.7%
HTML 9.4%
Dockerfile 0.9%
12 1 0

Clone this repository

https://git.vm.fail/cuducos.me/repo-birthday https://git.vm.fail/did:plc:xvf7tqaic42wvk3l74aoyuhx
ssh://git@knot1.tangled.sh:2222/cuducos.me/repo-birthday ssh://git@knot1.tangled.sh:2222/did:plc:xvf7tqaic42wvk3l74aoyuhx

For self-hosted knots, clone URLs may differ based on your setup.


README.md

repo-birthday 🎂#

Gives you a calendar to let you know when your repos are celebrating their birthdays — and their age.

  1. Just access repobirth.day
  2. Log in with GitHub, or enter your Tangled or Gitea handle
  3. Add your .ical URL 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}
  • /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