Table of Contents
- 📋 ElegantChart - Merkblatt & Übersicht
- 🚀 QUICK START
- 📊 VERSIONIERUNGSCHEMA
- ⚠️ KRITISCHE PUNKTE
- 🔄 INFRASTRUKTUR
- 📋 RELEASE CHECKLIST
- 📝 COMMIT MESSAGES
- 🏷️ TAG MESSAGES
- 📊 BEWERTUNG (FYI)
- 🗓️ ROADMAP
- Phase 1: Stabilization (v1.0.x)
- Phase 2: Feature Expansion (v1.1.x - v1.3.x)
- Phase 3: Major Version (v2.0.0)
- 💡 TIPPS & TRICKS
- GitHub automatisch synced?
- HACS findet neue Version nicht?
- Push vergessen?
- Falscher Version gepusht?
- 🔐 WICHTIGE INFOS
- 📁 WICHTIGE DATEIEN
- 🎯 HÄUFIGE FRAGEN
- ✅ SUMMARY
- 📞 WEITERE INFOS
📋 ElegantChart - Merkblatt & Übersicht
Projekt: ElegantChart - Home Assistant Frontend Card Plugin
Version: 1.0.1 (HACS Ready)
Status: ✅ Production Ready
Rating: 4.3/5 ⭐⭐⭐⭐
🚀 QUICK START
Neuerung entwickeln
# 1. Feature Branch
git checkout -b feature/my-feature
# 2. Entwickeln & Testen
# ... mache Änderungen ...
# 3. Zu Main mergen
git checkout main
git merge feature/my-feature
git push origin main
# 4. Version updaten (BEIDE!)
manifest.json: "version": "1.0.1" → "1.1.0"
package.json: "version": "1.0.1" → "1.1.0"
# 5. Commit & Tag
git add manifest.json package.json
git commit -m "Release: v1.1.0 - Feature description"
git tag -a v1.1.0 -m "Release v1.1.0: Feature description"
git push origin --tags
# 6. FERTIG! ✅
# GitHub wird automatisch aktualisiert (2min)
# HACS erkennt neue Version (5-10min)
📊 VERSIONIERUNGSCHEMA
PATCH (Bug Fixes)
1.0.1 → 1.0.2
Zeit: 10 Min
Für: Bug fixes, kleine Improvements
Beispiel: Fix: WebSocket reconnection timeout
MINOR (Neue Features)
1.0.1 → 1.1.0
Zeit: 20 Min
Für: Neue Features, backward compatible
Beispiel: Feature: Add dark mode toggle
MAJOR (Breaking Changes)
1.0.1 → 2.0.0
Zeit: 30 Min
Für: Breaking changes, große Umstrukturierungen
Beispiel: Breaking: New config format
⚠️ KRITISCHE PUNKTE
🔴 FEHLER - NICHT MACHEN!
❌ Nur manifest.json Version updaten (package.json vergessen!)
❌ Nur package.json updaten (manifest.json vergessen!)
❌ Direkt zu GitHub pushen (Forgejo ist primary!)
❌ Tags ohne -a Flag erstellen (braucht Message!)
❌ PATCH für Features verwenden (MINOR ist richtig!)
❌ MINOR für Breaking Changes (MAJOR ist richtig!)
✅ RICHTIG - IMMER SO MACHEN!
✅ BEIDE Dateien updaten:
- manifest.json
- package.json
✅ Nur zu Forgejo pushen:
- git push origin main
✅ Annotated Tags mit Message:
- git tag -a v1.1.0 -m "Release notes..."
✅ Passende Versionsnummern:
- PATCH für Fixes
- MINOR für Features
- MAJOR für Breaking Changes
🔄 INFRASTRUKTUR
Repositories
PRIMARY - Forgejo:
URL: git.pfeiffer-privat.de/HA-Addons/ElegantChart
Role: Deine Quelle für Entwicklung
Push-Mirror: Aktiv zu GitHub
MIRROR - GitHub:
URL: github.com/ppfeiffer63/ElegantChart
Role: Automatisch synchronisiert
HACS: Installation von hier
Git Remotes
origin → git.pfeiffer-privat.de/HA-Addons/ElegantChart
github-mirror → github.com/ppfeiffer63/ElegantChart
Workflow
git push origin main --tags
↓
Forgejo aktualisiert sich
↓
Push-Mirror aktiviert sich
↓
GitHub aktualisiert sich (2min später)
↓
HACS scannen (5-10min später)
↓
Benutzer können updaten
📋 RELEASE CHECKLIST
Vor Release
☐ Code funktioniert lokal
☐ Keine console.errors
☐ README.md aktuell (falls geändert)
☐ manifest.json Version korrekt
☐ package.json Version korrekt
☐ Beide Versionen GLEICH
☐ Git Log sauber
Release
☐ Feature zu main gemergt
☐ Push zu Forgejo: git push origin main
☐ Version Bump Commit erstellt
☐ Version Commit gepusht
☐ Release Tag erstellt: git tag -a v1.X.X -m "..."
☐ Tags gepusht: git push origin --tags
Nach Release
☐ GitHub prüfen (2min warten): github.com/ppfeiffer63/ElegantChart
☐ HACS prüfen (5-10min warten): HACS → Frontend → ElegantChart
☐ Neue Version sichtbar?
☐ Installation testen (optional)
☐ CHANGELOG.md aktualisieren
📝 COMMIT MESSAGES
Format
[Type]: [Description]
Type:
Feature: für neue Features
Fix: für Bug Fixes
Improvement: für Verbesserungen
Release: für Version Bumps
Breaking: für Breaking Changes
Beispiele
git commit -m "Feature: Add dark mode toggle"
git commit -m "Fix: WebSocket reconnection edge case"
git commit -m "Improvement: Better error messages"
git commit -m "Release: v1.1.0 - New features"
git commit -m "Breaking: New config format"
🏷️ TAG MESSAGES
Format
git tag -a v1.1.0 -m "Release v1.1.0: Feature Description
Features:
- Item 1
- Item 2
Bugfixes:
- Item 1
Breaking Changes: None
Backward Compatible: Yes"
Vorlage (Kopieren & Anpassen)
git tag -a vX.X.X -m "Release vX.X.X: [Description]
[Features/Bugfixes/Changes]
Breaking Changes: [Yes/No]
Backward Compatible: [Yes/No]
HACS: Will auto-detect this release"
📊 BEWERTUNG (FYI)
Code Quality ⭐⭐⭐⭐⭐ 9/10
DevOps/Automation ⭐⭐⭐⭐⭐ 9/10
HACS Compliance ⭐⭐⭐⭐⭐ 10/10
Performance ⭐⭐⭐⭐⭐ 10/10
Documentation ⭐⭐⭐⭐ 7/10
Features ⭐⭐⭐⭐ 8/10
User Experience ⭐⭐⭐⭐ 8/10
OVERALL: 4.3/5 ⭐⭐⭐⭐
🗓️ ROADMAP
Phase 1: Stabilization (v1.0.x)
1.0.2 - WebSocket fixes
1.0.3 - Error message improvements
1.0.4 - Performance optimizations
Phase 2: Feature Expansion (v1.1.x - v1.3.x)
1.1.0 - Dark mode toggle
1.2.0 - Data export (CSV, JSON)
1.3.0 - Custom color schemes
1.3.1 - Mobile responsiveness
Phase 3: Major Version (v2.0.0)
2.0.0 - Complete redesign (optional)
- New config format
- Expanded sensor limit
- API improvements
💡 TIPPS & TRICKS
GitHub automatisch synced?
# Überprüfen:
curl -s https://api.github.com/repos/ppfeiffer63/ElegantChart/tags \
| grep v1.1.0
HACS findet neue Version nicht?
1. 10 Minuten warten (HACS scannt regelmäßig)
2. HACS neu laden (F5)
3. HACS → Settings → Repositories → Reload
4. Repo URL überprüfen (muss GitHub sein!)
Push vergessen?
# Überprüfe lokale Tags:
git tag | grep v1.1.0
# Falls nur lokal vorhanden:
git push origin --tags
Falscher Version gepusht?
# Tag löschen (lokal)
git tag -d v1.1.0
# Tag löschen (remote - wenn nötig)
git push origin --delete v1.1.0
# Dann nochmal pushen:
git tag v1.1.0
git push origin --tags
🔐 WICHTIGE INFOS
Tokens
Forgejo Token: Gespeichert in Remote URL
GitHub Token: Gespeichert in Remote URL
(NICHT in Repo commiten!)
Security
✅ Nur zu Forgejo pushen
✅ GitHub wird automatisch aktualisiert
✅ Keine direkten GitHub Pushes
✅ Kein Token in Commits
📁 WICHTIGE DATEIEN
Zu updaten bei Release
manifest.json ← Version updaten!
package.json ← Version updaten!
README.md ← Falls neue Features
NICHT anfassen
.git/ ← Git Internal
src/ ← Code (normal bearbeiten)
examples/ ← Examples (updating OK)
🎯 HÄUFIGE FRAGEN
F: Wie häufig Release?
A: Nach Bedarf. Nur wenn echte Features/Fixes da sind.
F: Muss immer Tag erstellt werden?
A: Ja! Tags = Releases in HACS
F: Kann ich direkt zu GitHub pushen?
A: Nein! Nur zu Forgejo (origin). GitHub folgt automatisch.
F: Was wenn HACS neue Version nicht zeigt?
A: Warten (10min) oder HACS reload
F: Wie lange bis GitHub synchronisiert?
A: Push-Mirror braucht ~2 Minuten
F: Wie lange bis HACS die neue Version sieht?
A: HACS scannt alle 5-10 Minuten
✅ SUMMARY
Das Wichtigste:
- ✅ Feature entwickeln
- ✅ BEIDE Dateien updaten (manifest + package)
- ✅ Zu Forgejo pushen
- ✅ Tag erstellen & pushen
- ✅ Warten auf GitHub (2min) & HACS (10min)
Das musst du merken:
PATCH → Bug Fixes (schnell)
MINOR → Features (regelmäßig)
MAJOR → Breaking (selten)
PATCH = 1.0.1 → 1.0.2
MINOR = 1.0.1 → 1.1.0
MAJOR = 1.0.1 → 2.0.0
Das musst du NICHT vergessen:
❌ Nur eine Datei updaten
❌ Zu GitHub statt Forgejo pushen
❌ Tag ohne Message
❌ Falsche Versionsnummer
📞 WEITERE INFOS
Ausführliche Dokumentation:
- PROJEKT_BEWERTUNG_2026.md - Detaillierte Analyse
- RELEASE_QUICK_REFERENCE.md - Praktisches Nachschlagewerk
Repositories:
- Forgejo: git.pfeiffer-privat.de/HA-Addons/ElegantChart
- GitHub: github.com/ppfeiffer63/ElegantChart
Letzte Aktualisierung: 2026-06-25
Gültig für: v1.0.1 und zukünftige Releases
Status: ✅ PRODUCTION READY
Happy Releasing! 🚀