Appearance
GitHub org renames — tcg-alpha → skn-tcg → snag-tcg
The organization has been renamed twice. Current canonical URL: https://github.com/snag-tcg.
This page keeps the whole chain rather than only the latest hop, because a two-year-old link, a stale git remote or a CI badge in a screenshot will name one of the dead slugs, and the only useful question then is "which era is this?".
2026-07-30 — skn-tcg → snag-tcg
The product was named Snag on 2026-07-29 (SKN was the working name). The organization followed the next day. snag alone was already taken by a user account, so the slug keeps the existing <name>-tcg pattern.
Repos under the org at the time of the rename, all of which kept their names:
- snag-tcg/poc-tcg-collector — the mobile app
- snag-tcg/tcg-collector-backend — API, ingest, scan
- snag-tcg/documentation — this site
- snag-tcg/routines — scheduled monitoring jobs
- snag-tcg/frontend — bootstrap, no stack chosen yet
Nothing broke on the way through: no GitHub Pages site was published under the org, and no container image was pushed to a registry path carrying the org name. Those two are the things that break outright rather than redirect — check them first if there is ever a third rename.
What was NOT renamed, on purpose
The VPS directory /home/kael/skn-tcg/ still carries the old name, and so does the collaborator-confined /srv/skn-tcg/. That is deliberate. Ten bind mounts across five running containers resolve through those paths, including the Postgres data volume: renaming the directory leaves the live stack working — Docker holds the inode — and then fails to come back on the next restart.
A directory is a local path, not a public identifier. It can move during planned downtime; it must not move because someone ran a global find-and-replace.
2026-05-13 — tcg-alpha → skn-tcg
The first rename. Every repository that lived under github.com/tcg-alpha/<repo> moved to github.com/skn-tcg/<repo> — and now lives under snag-tcg. Repo names did not change, only the org slug. create-best-product was in the org at the time and no longer is.
Tormknd/tgc-app was unaffected by both renames — it is an external upstream, not part of our org.
What to do on a local clone
GitHub serves redirects for renamed orgs, so existing clones keep working. Make the new URL canonical anyway:
sh
git remote set-url origin https://github.com/snag-tcg/<repo-name>
git remote -v # verifyAll five repos at once, from a directory holding the checkouts:
sh
for r in poc-tcg-collector tcg-collector-backend documentation routines frontend; do
[ -d "$r/.git" ] && git -C "$r" remote set-url origin "https://github.com/snag-tcg/$r"
doneDo this promptly rather than eventually. GitHub does not reserve a released org name: skn-tcg and tcg-alpha are both claimable by anyone right now, and the day someone registers one, every redirect through it dies at once.
A note on historical files
CHANGELOG.md, DONE.md, TODO.md and archive directories in each repo keep whatever name was current when the entry was written. They record what things were called at the time, and rewriting them makes the record lie.
That rule was learned the hard way. A blind sed during the first rename left poc-tcg-collector/doc/CHANGELOG.md with an entry that reads "the skn-tcg → skn-tcg org rename" — it said tcg-alpha → skn-tcg before someone replaced every occurrence in the repo without reading them. If you are about to bulk-edit this name again, read the matches first: some of them are filesystem paths, and some of them are history.