Skip to content

feat(tool): sync-wiki.sh — docs/wiki/ ins GitHub-Wiki spiegeln - #117

Merged
Toqsick merged 1 commit into
mainfrom
tool/sync-wiki
Oct 1, 2026
Merged

Toqsick merged 1 commit into
mainfrom
tool/sync-wiki

Conversation

@Toqsick

@Toqsick Toqsick commented Oct 1, 2026

Copy link
Copy Markdown
Owner

Was

tool/sync-wiki.sh spiegelt docs/wiki/*.md ins GitHub-Wiki des Repos
(https://github.com/Toqsick/master-linux-assistant/wiki).

Richtung ist Einbahnstraße Repo → Wiki. docs/wiki/ bleibt die Quelle; eine Seite, die direkt im
GitHub-Wiki editiert wird, überschreibt der nächste Lauf. Der Spiegel ist exakt: eine Seite, die im
Repo nicht mehr existiert, wird auch im Wiki gelöscht (mit eigener delete:-Zeile im Log, damit das
im Vorschau-Output nicht untergeht).

Das Wiki ist bereits mit dem Stand von main befüllt (Commit ff3fe89) — dieser PR liefert nur das
Werkzeug dafür, plus docs/wiki/_Sidebar.md als Quelle der Wiki-Navigation. Damit ist der Spiegel ein
reines cp docs/wiki/*.md und die Navigation ist mitversioniert statt nur im Wiki zu leben.

Nutzung

tool/sync-wiki.sh            # Vorschau (Default, schreibt nichts)
tool/sync-wiki.sh --push     # wirklich spiegeln

Der Wiki-Slug wird aus dem Remote abgeleitet (origin, per --remote umstellbar — funktioniert mit
git@…, https://… und ssh://…). Gepusht wird mit dem gh-Credential-Helper inline
(git -c credential.helper='!gh auth git-credential'), ~/.gitconfig wird nicht angefasst.

Verifikation

Alle Läufe als Vorschau in einem isolierten Klon; der Wiki-HEAD blieb durchgehend ff3fe89:

Fall Ergebnis
no-op gegen den Live-Stand wiki already matches docs/wiki — nothing to do.
geänderte Seite Stat + preview only — re-run with --push to mirror.
im Repo gelöschte Seite delete: Roadmap.md + Stat
leeres docs/wiki/ Abbruch, exit 1
--help / unbekanntes Flag exit 0 / exit 2
Slug-Auflösung git@, https://…(.git), ssh://… → alle korrekt

Nicht abgedeckt: der tatsächliche --push-Lauf (bewusst nicht ausgeführt, um die Wiki-Historie nicht
mit Test-Commits zu füllen) — der Erst-Spiegel lief aber bereits manuell mit exakt demselben
Push-Kommando, das das Script jetzt verwendet.

Danach

Nach dem Merge von #116 einmalig tool/sync-wiki.sh --push — dann stehen auch die drei
Screen-Tool-Pattern-Links auf „Modul-Registry" und der Release-Prozess ohne RPM im Wiki.

🤖 Generated with Claude Code

docs/wiki/ ist die Quelle, das GitHub-Wiki die veröffentlichte Kopie
(Einbahnstraße — Wiki-Edits überschreibt der nächste Lauf). Das Script
klont das .wiki.git, kopiert die *.md 1:1 hinein, entfernt Seiten, die
im Repo nicht mehr existieren, und committet/pusht.

Vorschau ist der Default; ohne --push geht nichts nach GitHub. Der
Wiki-Slug kommt aus dem Remote (origin, per --remote umstellbar), der
Push nutzt den gh-Credential-Helper inline, ohne ~/.gitconfig anzufassen.

_Sidebar.md wandert als Wiki-Navigation mit nach docs/wiki/ — damit ist
der Spiegel ein reines "cp docs/wiki/*.md".

Verifiziert (Vorschau, Wiki-HEAD blieb ff3fe89):
- no-op gegen den Live-Stand -> "nothing to do"
- geänderte Seite -> Stat + "preview only"
- im Repo gelöschte Seite -> "delete:" + Stat
- leeres docs/wiki -> Abbruch, exit 1
- --help / unbekanntes Flag -> exit 2 / exit 0
- Slug-Auflösung: git@, https://…(.git), ssh:// — alle vier Formen

Co-Authored-By: Claude Code <noreply@anthropic.com>
Copilot AI balanced review requested due to automatic review settings October 1, 2026 20:53
@Toqsick
Toqsick merged commit eb7f484 into main Oct 1, 2026
2 checks passed

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

Remote-host validation and safe handling of destination symlinks must be addressed.

Review effort: Balanced
Findings: 2 High severity

Open (2)
What changed in this PR

Adds a one-way synchronization tool for mirroring repository-managed wiki documentation to the GitHub Wiki.

Changes:

  • Adds preview and push modes with exact page mirroring.
  • Adds version-controlled GitHub Wiki navigation.
File Description
tool/​sync-wiki.sh Implements wiki cloning, synchronization, deletion, and pushing.
docs/​wiki/​_Sidebar.md Defines navigation for the mirrored wiki.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread tool/sync-wiki.sh
Comment on lines +63 to +64
SLUG="$(printf '%s' "$URL" |
sed -E 's#^git@[^:]+:##; s#^[a-z+]+://[^/]+/##; s#\.git$##; s#/$##')"
Comment thread tool/sync-wiki.sh
git clone --quiet "https://github.com/$SLUG.wiki.git" "$WORK/wiki"
BRANCH="$(git -C "$WORK/wiki" symbolic-ref --short HEAD)"

cp "$ROOT/$SRC"/*.md "$WORK/wiki/"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants