Zum Inhalt springen

Architektur

Das Dokumentations- und Governance-System erstreckt sich über drei Repositories, jedes mit einer spezifischen Verantwortung:

RepositoryRolle
docs-controlZentraler Governance-Hub — Repository-Einstellungen, Branch-Protection-Konfiguration, Manifest verwalteter Dateien, wiederverwendbare CI-Workflows, Antigravity AI-Workflows, Aufrufer-Workflow-Vorlagen, Agent-Skills und nachgelagerter Dispatch
docs-builderDocker-Build-Image — Astro + Starlight Build-Orchestrierung, npm-Abhängigkeiten, Puppeteer PDF-Generierung, interaktive Komponenten
docs-themeAstro Starlight Plugin — gemeinsames Branding, CSS, Schriftarten, Logos, Layout-Komponenten, astro.config.mjs und content.config.ts

Inhalts-Repositories benötigen lediglich ein docs/-Verzeichnis. Der Build-Container und der Workflow übernehmen alles weitere.

Wenn sich eine Vorlagendatei oder ein Workflow in docs-control auf main ändert:

  1. Der Dispatch-Workflow wird ausgelöst und startet die Durchsetzung in jedem nachgelagerten Repository
  2. Der Durchsetzungs-Workflow vergleicht den Soll-Zustand mit dem Ist-Zustand und behebt etwaige Abweichungen
  3. Der Datei-Synchronisierungs-Workflow erkennt abweichende verwaltete Dateien, erstellt einen PR mit kanonischem Inhalt und führt diesen automatisch zusammen
  4. Wiederverwendbare Antigravity AI-Workflows (antigravity-review.yml und antigravity-translate.yml) werden bei Pull Requests über alle registrierten Repositories hinweg ausgeführt

Die Flotte integriert Antigravity (agy) AI-Automatisierung auf GitHub Actions Runnern:

WorkflowZweckAuslöser & Ausführung
Antigravity Code Review (antigravity-review.yml)Automatisierte AI-Pull-Request-Code-ÜberprüfungLäuft bei Erstellung oder Aktualisierung eines PRs. Nutzt Gemini 3.6 Flash (High), um Diffs auf Sicherheitslücken, hartcodierte Geheimnisse, PII-Lecks und Codequalität zu prüfen und Feedback über PR-Kommentare zu veröffentlichen.
Antigravity Sprachübersetzung (antigravity-translate.yml)Automatisierte AI-DokumentationsübersetzungLäuft bei PRs, die docs/en/**/*.md[x] ändern. Führt den .agents/skills/i18n-translate/SKILL.md-Skill aus, um 12 Ziel-Gebietsschemata (fr, es, de, pt-br, ja, ko, zh-cn, zh-tw, ar, it, hi, th) zu aktualisieren, i18n.sourceHash zu aktualisieren und automatisch auf den PR-Branch zu committen.

Drei Sätze von Anmeldedaten bieten eine Trennung nach dem Prinzip der geringsten Rechte:

Token / SecretBerechtigungen / UmfangVerwendet von
REPO_SETTINGS_TOKENAdministration R/W, Pages R/W, Contents Read, Metadata Readenforce-repo-settings.yml, dispatch-downstream.yml, update-governed-workflow-pins.yml
REPO_SYNC_TOKENContents R/W, Issues R/W, Pull Requests R/W, Metadata Readsync-managed-files.yml
ANTIGRAVITY_TOKEN & GCP_PROJECT_IDAntigravity AI-Authentifizierung & GCP-Projektzugriffantigravity-review.yml, antigravity-translate.yml

Der Durchsetzungs-Workflow benötigt Administratorzugriff zur Änderung des Branch-Schutzes und der Pages-Einstellungen. Der Synchronisierungs-Workflow benötigt Inhalts- und PR-Zugriff, um Branches zu erstellen, Dateien zu committen und PRs zusammenzuführen. Antigravity AI-Workflows verwenden dedizierte Projekt-Anmeldedaten zur Authentifizierung bei Gemini 3.6 Flash.

Docs-control ist sowohl Bereitsteller als auch Konsument seiner eigenen Governance-Konfiguration. Wenn enforce-repo-settings.yml auf docs-control selbst ausgeführt wird (über den push-Auslöser), erkennt es dies durch den Vergleich von managed_files.source_repo mit github.repository. Dies löst die self_contexts-Überschreibung beim Branch-Schutz aus — docs-control verwendet Workflows direkt (z. B. Shell Unit Tests), während nachgelagerte Repositories Aufrufer-Wrapper verwenden (z. B. lint / Shell Unit Tests). Siehe die Konfigurationsseite für Details zu contexts vs. self_contexts.

Verzeichnis / DateiZweck
.github/config/repo-settings.jsonZentrale Konfiguration: Repository-Einstellungen, Branch-Schutz, Actions-Berechtigungen, Pages-Konfiguration und das Manifest verwalteter Dateien
.github/config/downstream-repos.jsonRegister registrierter nachgelagerter Repositories
.github/config/docs-sites.jsonMetadaten für jede nachgelagerte Dokumentationsseite (Label, URL, Beschreibung) zur Verwendung beim README-Templating
.github/workflows/Wiederverwendbare Workflows: Durchsetzung, Dateisynchronisierung, Pages-Bereitstellung, Prüfung verknüpfter Issues, Dispatch, Antigravity-Review und Antigravity-Übersetzung
.agents/skills/Agent-Skills-Governance: demo-components, i18n-translate
workflows/Aufrufer-Vorlagen, die nachgelagerte Repositories in .github/workflows/ installieren
docs/Dokumentationsquelle (erstellt und bereitgestellt über Astro Starlight)
CONTRIBUTING.mdMitwirkungs-Workflow-Regeln (synchronisiert mit allen nachgelagerten Repositories)
CLAUDE.mdAnweisungen für den AI-Assistenten (synchronisiert mit allen nachgelagerten Repositories)
AGENTS.mdRepository-Agent-Anweisungen und Governance-Richtlinien
README.md.tplVorlage für dynamisch generierte nachgelagerte README-Dateien
.pre-commit-config.yamlPre-commit-Hooks-Konfiguration (synchronisiert mit allen nachgelagerten Repositories)
.markdownlint.jsonMarkdown-Linter-Regeln
.yamllint.yamlYAML-Linter-Regeln