🏡 index : quine-global/quine-manifest.git

quine-manifest

Declares where every Quine repo lives (this repo: forge.in.quineglobal.com/quine-global/quine-manifest) on GitHub and on Forgejo (forge.in.quineglobal.com), and a script that makes both match.

Bucket GitHub org Forgejo org Notes
main quine-global quine-global
labs quine-global-labs quine-global-labs
boneyard quine-global-boneyard quine-global-boneyard retired repos (not archived)

By default Forgejo is primary and push-mirrors to GitHub (primary = "forgejo"). With primary = "github", Forgejo holds a pull mirror instead.

Use

Needs Python 3.11+ and a logged-in gh.

python3.14 quine-repos.py                 # plan: show drift, change nothing
python3.14 quine-repos.py --apply         # make it so
python3.14 quine-repos.py --apply ncdu    # only some repos

To move a repo, change its bucket and apply: it's transferred on both sides, and its push mirror is repointed.

Credentials

Every repo in a bucket org (on either host) must be listed in manifest.toml; the script exits with an error before doing anything if it finds one that isn't.

Upstream mirrors (upstream = …) have Forgejo Actions off unless they say actions = true: they carry upstream's own CI, which would sit "waiting" forever for runners we don't have.

What it won't do