Skip to content

OpenSats/heartbeat

Repository files navigation

heartbeat

Static activity dashboard for a set of GitHub, GitLab, Forgejo, and plain git repos. Renders commits, PRs, issues, and releases as a git log --oneline-style timeline.

Live at heartbeat.opensats.org

A build-time fetcher pulls activity data and writes public/data/events.json. The browser never talks to GitHub or GitLab directly, so visitors don't burn any rate-limit budget.

Today GitHub, public GitLab, Forgejo/Gitea instances (e.g. codeberg.org or git.rust-bitcoin.org), and plain git remotes (e.g. cgit hosts like git.zx2c4.com) are wired up. The plan is to also pull from nostr-native hosts like gitworkshop.dev.

Develop

Requires Node 22+.

npm install
export GITHUB_TOKEN=ghp_yourtoken   # any PAT; only needed for GitHub repos
npm run fetch                       # writes public/data/events.json
npm run dev

Public GitLab and Forgejo repos are fetched without auth.

Configure

Each repos*.yml file at the project root lists tracked repos; all matching files are merged and deduplicated.

repos:
  - owner/repo-1
  - owner/repo-2
  - provider: gitlab
    repo: group/project
    # host: gitlab.com
  - provider: forgejo
    repo: owner/repo
    # host: codeberg.org
  - provider: git
    url: https://git.zx2c4.com/wireguard-tools

Forgejo (and Gitea) instances are queried via their REST API; commits, PRs, issues, and releases all show up, same as GitHub.

Plain git repos are fetched with a shallow git clone, so only commits and tags show up (there are no PRs or issues on a bare remote). Event links use cgit-style URLs (<url>/commit/?id=<hash>).

Knobs (time window, page sizes) live at the top of scripts/fetch.ts.

Deploy

Built for Vercel. Set GITHUB_TOKEN as an env var when GitHub repos are tracked; vercel-build runs npm run fetch && npm run build. For periodic refreshes, save a Vercel Deploy Hook URL as the VERCEL_DEPLOY_HOOK_URL repo secret and the included refresh.yml workflow pings it every 6 hours.

About

OpenSats grantees. Past 90 days.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors