Zum Inhalt springen

Governance-Template

Das SemRels-Governance-Template-Repository stellt die Basis-Governance-, Compliance- und Repository-Hygiene-Dateien bereit, die in allen SemRels-Projekten verwendet werden.

Es sollte beim Anlegen eines neuen Repositories oder beim Angleichen eines bestehenden Repositories an die SemRels-Governance-Basis genutzt werden.

Governance-Dateien

GOVERNANCE.md, MAINTAINERS.md, SECURITY.md, CONTRIBUTING.md und CODE_OF_CONDUCT.md legen Projekterwartungen und Verantwortlichkeiten fest.

Lizenzierung

LICENSE, LICENSES/ und .reuse/dep5 bilden die Apache-2.0- und REUSE-Compliance-Grundlage.

GitHub-Hygiene

Workflow-Templates, Issue-Templates, CODEOWNERS und Pull-Request-Templates sorgen dafür, dass neue Repositories überprüfbar und wartbar bleiben.

Jedes SemRels-Repository sollte diese Dateien enthalten:

  • LICENSE
  • LICENSES/Apache-2.0.txt
  • .reuse/dep5
  • SECURITY.md
  • CODE_OF_CONDUCT.md
  • CONTRIBUTING.md

Für Core- und Multi-Plugin-Repositories gelten zusätzlich folgende Dateien als Pflicht:

  • GOVERNANCE.md
  • MAINTAINERS.md
  • .github/workflows/scorecard.yml
  • .github/workflows/reuse.yml
  1. Basis-Dateien kopieren

    Mit SemRels/semrel-template beginnen und die Dateien kopieren, die zum jeweiligen Repository-Typ passen.

  2. Platzhalter ersetzen

    Werte wie {{PROJECT_NAME}}, {{ORG_NAME}}, {{REPO_NAME}}, {{REPO_URL}} und {{DEFAULT_BRANCH}} anpassen.

  3. Benötigte Workflows aktivieren

    Die passenden CI-, Scorecard-, CodeQL-, DCO- und REUSE-Workflow-Templates für das Repository auswählen.

  4. Compliance-Prüfungen ausführen

    Das Repository lokal validieren, soweit möglich, bevor der Bootstrap-Pull-Request geöffnet wird.

  5. main schützen

    Nach dem Merge Branch-Protection und erforderliche Status-Checks für die neuen Governance-Workflows aktivieren.

SemRels-Repositories verwenden REUSE, um Lizenz-Metadaten maschinenlesbar zu halten.

Ein konformes Repository enthält in der Regel:

  • ein Top-Level-LICENSE
  • den referenzierten Lizenztext in LICENSES/
  • .reuse/dep5-Mappings für dateibasierte Metadaten, wo nötig
  • SPDX-Header in Quelldateien, wo angemessen

REUSE-Linter lokal ausführen:

Terminal-Fenster
reuse lint
TypAnwendungsfallBasis
CoreHauptprojekte wie semrelVollständige Governance, DCO, REUSE, CI, CodeQL, Scorecard
Plugin-SammlungMulti-Plugin-RepositoriesVollständige Governance, REUSE, CI, Scorecard
Einzelnes PluginEin Plugin pro RepositoryMinimale Governance, REUSE, leichtes CI
DokumentationDocs- oder Spezifikations-RepositoriesGovernance, REUSE, docs-fokussiertes CI