public-mirrorlisted
Install: claude install-skill Xindaan/claude-skills
# Public-Mirror
Ein privates Arbeits-Repo bleibt privat. Der oeffentliche Ableger ist ein
**eigenes GitHub-Repo mit eigener Wurzel-History** — nie ein Filter-Zweig des
privaten.
## Nicht verhandelbar
1. **Frische History.** Der Ableger startet mit eigenem Wurzel-Commit. Kein
`filter-repo`-Abkoemmling des privaten Repos, nie `push --mirror`, nie
`push refs/*`.
2. **Allowlist, nicht Blocklist.** Default ist *privat*. Eine neu angelegte
Datei landet **draussen**, bis jemand sie ausdruecklich freigibt.
3. **Zwei Gates, eine Marker-Quelle.** Inhalts-Gate vor dem Commit +
fail-closed `pre-push`-Hook. Beide sourcen dieselbe Marker-Datei.
4. **Quelle ist `git ls-files`.** Nie den Worktree kopieren — sonst wandern
untracked Dateien mit.
5. **Read-only-Regel bei Audits.** Auf einem bereits publizierten Repo nie
ungefragt `filter-repo`, force-push oder `gc`. Rewrite ist eine
Einzelfreigabe pro Repo.
## Sonderfall: Repo hat gar kein privates Elternteil
Nicht jede Veroeffentlichung ist ein Ableger. Ein Repo, das von Anfang an
allein stand und nur auf `private` steht, wird durch einen **Sichtbarkeits-
Flip** public — kein Sync-Skript, keine Allowlist, kein zweites Repo. Die
Mirror-Maschinerie waere hier Ballast; es gilt stattdessen eine
Veroeffentlichungs-Checkliste:
1. **Alle Leak-Klassen aus `patterns.md` gegen alles scannen, was der
*Server* kennt** — nicht gegen den Worktree: `main`, alle Tags, **und
`refs/pull/*/head`**. Lokale, nie gepushte Branches w