Mitmachen
Pithyx wird offen auf GitHub entwickelt, unter pithyx/pithyx. Pull Requests gehen an den Branch dev, Commits tragen ein Sign-off, und jeder Pull Request folgt einer kurzen Checkliste. Das erste Release ist 1.0.0, als Beta gekennzeichnet.
Fehler melden
Abschnitt betitelt „Fehler melden“Eröffne ein Issue im Repository und wähle Bug report oder Feature request; leere Issues sind abgeschaltet, und die Auswahl verlinkt diese Dokumentation. Das Fehlerformular fragt, was passiert ist, die Schritte, die Pithyx-Version, den Bereich, Hardware und Browser sowie den Fehlercode mit Logzeilen (ohne Geheimnisse). Melde Sicherheitsprobleme nicht öffentlich: siehe Sicherheitslücke melden.
Pull Requests
Abschnitt betitelt „Pull Requests“- Richte den Build ein, wie in Am Daemon entwickeln beschrieben.
pnpm installinstalliert auch die Git-Hooks. - Zweige von
devab, alsfeature/<name>,fix/<name>oderhotfix/<name>.masterist stabil und bekommt nur Release-Pull-Requests und Hotfixes. Pushe nie direkt aufmasteroderdev; der Pre-Push-Hook verweigert es. - Eröffne den Pull Request gegen
dev. Sein Titel folgt dem Commit-Format unten. Die Vorlage für Pull Requests fragt nach einer Zusammenfassung, wie getestet wurde, und nach der Checkliste unten. Die CI eines Pull Requests aus einem Fork startet erst, wenn ein Maintainer den Lauf freigegeben hat, und läuft auf GitHub-Runnern.
Checkliste:
- Build, Lint und Tests laufen durch:
dotnet testindaemon/,pnpm lint,pnpm typecheck,pnpm test,pnpm build,pnpm check:repo. - Generierte Clients sind aktuell (
pnpm generate). - Neuer sichtbarer Text hat Schlüssel in
enundde, und neue Fehlercodes haben Übersetzungen. - Der Changelog hat eine Zeile unter „Unreleased“.
- Die Dokumentation unter
website/wurde geprüft und, wo die Änderung sie berührt, auf Englisch und Deutsch aktualisiert. - Keine Em-Dashes und kein nicht englischer Text außerhalb von Übersetzungsdateien.
- Jeder Commit hat ein Sign-off.
YAML-Dateien im Repository enden auf .yaml; der Repo-Check verweigert .yml.
Code-Stil: kurze englische Kommentare nur dort, wo die Logik nicht offensichtlich ist, Warnungen sind in C# und TypeScript Fehler, und keine Abstraktion ohne eine zweite echte Implementierung.
Commit-Regeln
Abschnitt betitelt „Commit-Regeln“Commits nutzen ein Gitmoji, einen Typ, einen optionalen Scope und einen englischen Betreff im Imperativ:
<gitmoji> <type>(<scope>): <subject>Nimm das Unicode-Emoji, keinen :shortcode:. Typen: feat, fix, docs, style, refactor, perf, test, build, ci, chore, revert. Beispiele:
✨ feat(desktop): add window snapping🐛 fix(daemon): handle missing lsblk serial♻️ refactor(storage): extract zpool parserJeder Commit muss ein Sign-off tragen, das das Developer Certificate of Origin bestätigt: Committe mit git commit -s. Der Trailer muss zum Autor des Commits passen. Ein Hook prüft die Nachricht, und die CI lehnt Commits ohne Sign-off ab.