Mitwirken

Zu SSH-Frontière beitragen

Beiträge sind willkommen, einschließlich durch künstliche Intelligenz unterstützte oder generierte Beiträge. SSH-Frontière wird selbst mit Claude Code Agenten entwickelt.

Bevor Sie anfangen

Eröffnen Sie ein Issue, um die vorgeschlagene Änderung zu besprechen. Das vermeidet unnötige Arbeit und validiert den Ansatz.

Prozess

1. Issue       → Änderung besprechen
2. Fork        → git checkout -b feature/mein-beitrag
3. TDD         → RED (fehlschlagender Test) → GREEN (minimaler Code) → Refactoring
4. Prüfen      → make lint && make test && make audit
5. Pull Request → beschreiben, Issue referenzieren, grüne CI

Qualitätsanforderungen

SSH-Frontière ist eine Sicherheitskomponente. Die Anforderungen sind streng:

RegelDetail
TestabdeckungMindestens 90% für hinzugefügten Code
Kein unwrap()expect() mit // INVARIANT: oder ? / map_err() verwenden
Kein unsafeVerboten durch #[deny(unsafe_code)]
Max. 800 ZeilenPro Quelldatei
Max. 60 ZeilenPro Funktion
Formatierungcargo fmt obligatorisch
Lintscargo clippy -- -D warnings (pedantic)

Abhängigkeiten

Null nicht-essentielle Abhängigkeiten. Vor dem Vorschlag einer neuen Abhängigkeit:

  1. Prüfen Sie, ob die Rust-Standardbibliothek den Bedarf nicht abdeckt
  2. Bewerten Sie mit der Abhängigkeitsmatrix (Mindestpunktzahl 3,5/5)
  3. Dokumentieren Sie die Bewertung in docs/searches/

Aktuell autorisierte Abhängigkeiten: serde, serde_json, toml.

Commit-Konventionen

Nachrichten auf Englisch, Format type(scope): description:

Typen: feat, fix, refactor, test, docs.

KI-Beiträge

Von KI generierte Beiträge werden unter den gleichen Bedingungen wie menschliche Beiträge akzeptiert:

Sicherheit

Eine Schwachstelle melden

Melden Sie Schwachstellen nicht über öffentliche Issues. Kontaktieren Sie den Maintainer direkt für eine verantwortungsvolle Offenlegung.

Verstärkte Prüfung

PRs, die diese Dateien betreffen, unterliegen einer verstärkten Sicherheitsprüfung:

Gute erste Beiträge

Lizenz

SSH-Frontière wird unter EUPL-1.2 vertrieben. Mit dem Einreichen eines Pull Requests stimmen Sie zu, dass Ihr Beitrag unter den Bedingungen dieser Lizenz verteilt wird.

Vollständige Details finden Sie in der CONTRIBUTING.md-Datei im Repository.