- Comprehensive contributor guide (bilingual DE/EN) - Explains automated PR build checks - Local build & test instructions - Code style guidelines - PR checklist - What contributions are welcome - Linked in README.md and README.en.md [skip ci]
6.5 KiB
Contributing to Simple Notes Sync 🤝
Beiträge sind willkommen! / Contributions are welcome!
🌍 Languages: Deutsch · English
Deutsch
Danke, dass du zu Simple Notes Sync beitragen möchtest!
🚀 Schnellstart
-
Fork & Clone
git clone https://github.com/DEIN-USERNAME/simple-notes-sync.git cd simple-notes-sync -
Branch erstellen
git checkout -b feature/mein-feature # oder git checkout -b fix/mein-bugfix -
Änderungen machen
- Code schreiben
- Testen
- Committen mit aussagekräftiger Message
-
Pull Request erstellen
- Push deinen Branch:
git push origin feature/mein-feature - Gehe zu GitHub und erstelle einen Pull Request
- Beschreibe deine Änderungen
- Push deinen Branch:
🧪 Automatische Tests
Wenn du einen Pull Request erstellst, läuft automatisch ein Build Check:
- ✅ Debug APKs werden gebaut (Standard + F-Droid)
- ✅ Unit Tests werden ausgeführt
- ✅ APKs werden als Artefakte hochgeladen (zum Testen)
- ✅ Build-Status wird als Kommentar im PR gepostet
Wichtig: Der Build muss erfolgreich sein (grüner Haken ✅) bevor der PR gemerged werden kann.
📱 Android App Development
Build lokal testen:
cd android
# Debug Build
./gradlew assembleStandardDebug
# Tests ausführen
./gradlew test
# Lint Check
./gradlew lint
Anforderungen:
- Android SDK 36 (Target)
- Android SDK 24 (Minimum)
- JDK 17
- Kotlin 1.9+
📝 Code Style
- Kotlin: Folge den Kotlin Coding Conventions
- Formatierung: Android Studio Default Formatter
- Kommentare: Deutsch oder Englisch (bevorzugt Englisch für Code)
🐛 Bug Reports
Nutze die Bug Report Template mit:
- Android Version
- App Version
- Schritte zum Reproduzieren
- Erwartetes vs. tatsächliches Verhalten
💡 Feature Requests
Nutze die Feature Request Template und beschreibe:
- Was soll hinzugefügt werden
- Warum ist es nützlich
- Wie könnte es funktionieren
📚 Dokumentation
Dokumentations-Verbesserungen sind auch Contributions!
Dateien:
README.md/README.en.md- ÜbersichtQUICKSTART.md/QUICKSTART.en.md- Schritt-für-Schritt AnleitungDOCS.md/DOCS.en.md- Technische Detailsserver/README.md/server/README.en.md- Server Setup
Bitte: Halte beide Sprachen (DE/EN) synchron!
✅ Pull Request Checklist
- Code kompiliert lokal (
./gradlew assembleStandardDebug) - Tests laufen durch (
./gradlew test) - Keine neuen Lint-Warnungen
- Commit-Messages sind aussagekräftig
- Dokumentation aktualisiert (falls nötig)
- Beide Sprachen aktualisiert (bei Doku-Änderungen)
🎯 Was wird akzeptiert?
✅ Gerne:
- Bug Fixes
- Performance-Verbesserungen
- Neue Features (nach Diskussion in einem Issue)
- Dokumentations-Verbesserungen
- Tests
- UI/UX Verbesserungen
❌ Schwierig:
- Breaking Changes (bitte erst als Issue diskutieren)
- Komplett neue Architektur
- Dependencies mit fragwürdigen Lizenzen
📄 Lizenz
Indem du contributest, stimmst du zu dass dein Code unter der MIT License veröffentlicht wird.
English
Thanks for wanting to contribute to Simple Notes Sync!
🚀 Quick Start
-
Fork & Clone
git clone https://github.com/YOUR-USERNAME/simple-notes-sync.git cd simple-notes-sync -
Create Branch
git checkout -b feature/my-feature # or git checkout -b fix/my-bugfix -
Make Changes
- Write code
- Test
- Commit with meaningful message
-
Create Pull Request
- Push your branch:
git push origin feature/my-feature - Go to GitHub and create a Pull Request
- Describe your changes
- Push your branch:
🧪 Automated Tests
When you create a Pull Request, an automatic Build Check runs:
- ✅ Debug APKs are built (Standard + F-Droid)
- ✅ Unit tests are executed
- ✅ APKs are uploaded as artifacts (for testing)
- ✅ Build status is posted as comment in PR
Important: The build must succeed (green checkmark ✅) before the PR can be merged.
📱 Android App Development
Test build locally:
cd android
# Debug Build
./gradlew assembleStandardDebug
# Run tests
./gradlew test
# Lint Check
./gradlew lint
Requirements:
- Android SDK 36 (Target)
- Android SDK 24 (Minimum)
- JDK 17
- Kotlin 1.9+
📝 Code Style
- Kotlin: Follow Kotlin Coding Conventions
- Formatting: Android Studio Default Formatter
- Comments: German or English (preferably English for code)
🐛 Bug Reports
Use the Bug Report Template with:
- Android version
- App version
- Steps to reproduce
- Expected vs. actual behavior
💡 Feature Requests
Use the Feature Request Template and describe:
- What should be added
- Why is it useful
- How could it work
📚 Documentation
Documentation improvements are also contributions!
Files:
README.md/README.en.md- OverviewQUICKSTART.md/QUICKSTART.en.md- Step-by-step guideDOCS.md/DOCS.en.md- Technical detailsserver/README.md/server/README.en.md- Server setup
Please: Keep both languages (DE/EN) in sync!
✅ Pull Request Checklist
- Code compiles locally (
./gradlew assembleStandardDebug) - Tests pass (
./gradlew test) - No new lint warnings
- Commit messages are meaningful
- Documentation updated (if needed)
- Both languages updated (for doc changes)
🎯 What Gets Accepted?
✅ Welcome:
- Bug fixes
- Performance improvements
- New features (after discussion in an issue)
- Documentation improvements
- Tests
- UI/UX improvements
❌ Difficult:
- Breaking changes (please discuss in issue first)
- Completely new architecture
- Dependencies with questionable licenses
📄 License
By contributing, you agree that your code will be published under the MIT License.
🆘 Fragen? / Questions?
Öffne ein Issue oder nutze die Question Template.
Frohe Weihnachten & Happy Coding! 🎄