4.7 KiB
4.7 KiB
Beitragen zum LibreBooking n8n Node
Vielen Dank für dein Interesse, zu diesem Projekt beizutragen! 🎉
Inhaltsverzeichnis
- Code of Conduct
- Wie kann ich beitragen?
- Entwicklungsumgebung einrichten
- Code-Richtlinien
- Pull Request Prozess
- Bug Reports
- Feature Requests
Code of Conduct
Dieses Projekt folgt einem Code of Conduct. Mit deiner Teilnahme erklärst du dich einverstanden, diesen einzuhalten.
Wie kann ich beitragen?
Bugs melden
- Überprüfe zunächst, ob der Bug bereits gemeldet wurde
- Erstelle ein Issue mit einer klaren Beschreibung
- Füge Schritte zur Reproduktion hinzu
- Gib deine Umgebung an (OS, Node.js Version, n8n Version)
Features vorschlagen
- Erstelle ein Issue mit dem Label "enhancement"
- Beschreibe den Use Case
- Erkläre, warum diese Funktion nützlich wäre
Code beitragen
- Forke das Repository
- Erstelle einen Feature-Branch
- Implementiere deine Änderungen
- Schreibe Tests (falls möglich)
- Erstelle einen Pull Request
Entwicklungsumgebung einrichten
Voraussetzungen
- Node.js 18.x oder höher
- npm 8.x oder höher
- n8n (global installiert)
- Git
Setup
# Repository klonen
git clone https://github.com/DEIN-REPO/n8n-nodes-librebooking.git
cd n8n-nodes-librebooking
# Dependencies installieren
npm install
# Build ausführen
npm run build
# Für Entwicklung: Watch-Modus
npm run dev
Lokales Testen
# Node mit n8n verlinken
npm link
# In n8n-Verzeichnis verlinken
cd $(npm root -g)/n8n
npm link n8n-nodes-librebooking
# n8n starten
n8n start
Mit Docker testen
docker-compose up --build
Code-Richtlinien
TypeScript
- Verwende strenge Typisierung (
strict: true) - Vermeide
anywo möglich - Dokumentiere komplexe Funktionen mit JSDoc
Formatierung
# Code formatieren
npm run format
# Linting prüfen
npm run lint
# Linting mit automatischer Korrektur
npm run lintfix
Commit Messages
Wir folgen Conventional Commits:
feat: Neue Funktion hinzugefügt
fix: Bug behoben
docs: Dokumentation aktualisiert
style: Formatierung geändert (kein Code)
refactor: Code umstrukturiert
test: Tests hinzugefügt/geändert
chore: Build-Prozess/Tools geändert
Beispiele:
feat(reservation): Check-In Operation hinzugefügt
fix(auth): Session-Token wird jetzt korrekt erneuert
docs: Installationsanleitung aktualisiert
Projektstruktur
n8n-nodes-librebooking/
├── credentials/ # Credential-Definitionen
│ └── LibreBookingApi.credentials.ts
├── nodes/ # Node-Definitionen
│ ├── LibreBooking/
│ │ ├── LibreBooking.node.ts
│ │ └── librebooking.svg
│ └── LibreBookingTrigger/
│ ├── LibreBookingTrigger.node.ts
│ └── librebooking.svg
├── test/ # Tests
├── workflows/ # Beispiel-Workflows
├── dist/ # Kompilierte Dateien (generiert)
└── package.json
Pull Request Prozess
-
Branch erstellen:
git checkout -b feature/meine-funktion -
Änderungen implementieren:
- Halte dich an die Code-Richtlinien
- Aktualisiere die Dokumentation
- Füge Tests hinzu (falls sinnvoll)
-
Testen:
npm run lint npm run build # Manuell in n8n testen -
Commit und Push:
git add . git commit -m "feat: Meine neue Funktion" git push origin feature/meine-funktion -
Pull Request erstellen:
- Beschreibe deine Änderungen
- Referenziere relevante Issues
- Warte auf Review
PR Checkliste
- Code folgt den Richtlinien
- Linting/Formatting bestanden
- Build erfolgreich
- Dokumentation aktualisiert
- CHANGELOG.md aktualisiert
- Keine Secrets/Credentials im Code
Bug Reports
Template
## Beschreibung
[Klare Beschreibung des Bugs]
## Schritte zur Reproduktion
1. ...
2. ...
3. ...
## Erwartetes Verhalten
[Was sollte passieren?]
## Tatsächliches Verhalten
[Was passiert stattdessen?]
## Umgebung
- OS: [z.B. Ubuntu 22.04]
- Node.js: [z.B. 20.10.0]
- n8n: [z.B. 1.20.0]
- LibreBooking: [z.B. 2.8.5]
## Logs/Screenshots
[Falls vorhanden]
Feature Requests
Template
## Beschreibung
[Beschreibe die gewünschte Funktion]
## Use Case
[Warum wird diese Funktion benötigt?]
## Vorgeschlagene Lösung
[Falls du eine Idee hast]
## Alternativen
[Andere Möglichkeiten, die du in Betracht gezogen hast]
Vielen Dank für deinen Beitrag! 🙏