A modern static site showcasing FreeOps open-source projects and contributors, with automated data sync from our GitHub organization.
-
Install dependencies
npm install ```sh -
Development
npm run dev ```sh -
Build
npm run build
- Set your GitHub org via env:
- Local: add to
.env.local(see below) orexport ORG=your-org && export GITHUB_TOKEN=ghp_xxx - GitHub Actions: set
GITHUB_TOKENsecret (default provided) and optionalGITHUB_ORGrepo/organization variable.
- Local: add to
- Repositories must include the topic
opensourceto appear. You can change this topic viaTOPICenv.
Create .env.local (git-ignored) with:
ORG=your-org
TOPIC=opensource
GITHUB_TOKEN=ghp_xxx-
Run locally:
ORG=your-org TOPIC=opensource GITHUB_TOKEN=ghp_xxx npm run fetch:data ```sh -
This writes JSON under
public/data, which the UI consumes.
- The workflow
.github/workflows/sync.ymlruns nightly and on manual dispatch to:- Fetch repos with the
opensourcetopic - Aggregate contributors
- Commit updated JSON when changed
- Redeploy the site
- Fetch repos with the