Zum Inhalt springen

Mitwirken

Selu ist ein Open-Source-Projekt und Beiträge sind willkommen. Ob du einen Tippfehler in der Doku korrigierst, eine neue Capability baust oder am Kern des Orchestrators arbeitest: Dieser Leitfaden hilft dir beim Einstieg.

  • Bug Reports: Etwas ist kaputt? Öffne ein Issue auf GitHub und beschreibe, wie sich das Problem reproduzieren lässt.
  • Feature Requests: Du hast eine Idee? Starte eine Diskussion unter GitHub Discussions.
  • Dokumentation: Verbesserungen an dieser Doku sind immer willkommen. Der Quellcode liegt im Verzeichnis docs/.
  • Capabilities: Baue und veröffentliche neue Capabilities für den Marketplace.
  • Core-Beiträge: Arbeite am Orchestrator, an der CLI oder an der Agent-Laufzeit.
  1. Forke und klone das Repository:

    Terminal-Fenster
    git clone https://github.com/<your-username>/selu.git
    cd selu
  2. Installiere die Abhängigkeiten. Du brauchst Go 1.22+, Node.js 20+, Docker und buf für die Protobuf-Generierung:

    Terminal-Fenster
    make setup
  3. Führe die Tests aus, damit du sicher bist, dass alles funktioniert:

    Terminal-Fenster
    make test
  4. Erstelle einen Branch für deine Änderung:

    Terminal-Fenster
    git checkout -b feat/my-new-feature
  5. Mach deine Änderungen und führe danach Linting und Tests aus:

    Terminal-Fenster
    make lint && make test
  6. Öffne einen Pull Request gegen den Branch main und beschreibe klar, was du geändert hast und warum.

  • Go: Folge den üblichen Go-Konventionen. Führe gofmt und golangci-lint aus.
  • TypeScript: Folge den ESLint- und Prettier-Konfigurationen des Projekts. Führe npm run lint aus.
  • Protobuf: Nutze buf lint, um .proto-Dateien zu validieren.
  • Commits: Verwende Conventional Commits wie feat:, fix:, docs: oder chore:.
  • Halte PRs fokussiert. Eine inhaltliche Änderung pro PR.
  • Füge Tests für neue Funktionalität hinzu.
  • Aktualisiere die Dokumentation, wenn sich nutzerrelevantes Verhalten ändert.
  • Alle CI-Checks müssen grün sein, bevor ein PR gemergt wird.
  • Ein Maintainer schaut sich deinen PR normalerweise innerhalb weniger Werktage an.

Mit dem Öffnen eines Pull Requests stimmst du zu, dass deine Beiträge unter derselben Lizenz wie das Projekt stehen, also Apache-2.0. Eine separate CLA-Unterschrift ist nicht nötig.

Alle Personen in der Selu-Community sollen unserem Code of Conduct folgen. Sei respektvoll, konstruktiv und offen gegenüber anderen.