Files
hps-thunderbird-templates/CLAUDE.md
Kendrick Bollens fd192bb8ba URLs auf hps-Org umstellen (Repo-Transfer)
- Auto-Update-URLs (manifest.json, updates.json), release.sh OWNER, CLAUDE.md
  von kendrick.bollens auf hps
- web-editor/docker-compose.yml: Git-Build-Context auf hps-Repo-URL

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-18 10:24:32 +02:00

48 lines
2.4 KiB
Markdown

# CLAUDE.md
Thunderbird-MailExtension „HPS Vorlagen & Signaturen" mit Gitea-Sync.
## Workflow (WICHTIG)
1. **Bei jeder Änderung, die zu den Usern soll: `version` in `manifest.json` bumpen.**
Auto-Update vergleicht Versionsnummern — gleiche Version = Clients ziehen das Update NICHT.
Also vor dem Build erhöhen (z.B. 2.3.0 → 2.3.1 für Fixes, 2.4.0 für Features).
2. **Nach jeder Code-Änderung am Plugin immer die `.xpi` neu bauen** (siehe Build unten),
damit `templates-reply-hotel.xpi` aktuell ist.
3. **Sobald der User zufrieden ist ("happy"), committen** — Code-Änderung + neu gebaute
`.xpi` zusammen. Nicht ungefragt vorher committen; auf das OK des Users warten.
4. **Soll es ausgerollt werden: Release veröffentlichen** (siehe Auto-Update unten) —
`./release.sh`, dann `updates.json` + `manifest.json` committen & pushen.
## Build der .xpi
Immer **ohne** `defaults.local.json` bauen — die Datei enthält den Gitea-Token und darf
nicht in der (öffentlich released) `.xpi` landen. `zip` ist nicht installiert, `7z` schon:
```bash
rm -f templates-reply-hotel.xpi
7z a -tzip templates-reply-hotel.xpi . \
-xr'!.git' -xr'!node_modules' -xr'!web-editor' -xr'!.claude' \
-xr'!defaults.local.json' -xr'!*.xpi' -xr'!release.sh' -xr'!*.md'
```
`defaults.local.json` wird nur beim allerersten Start gelesen (`templates_options.js`,
`if (!config)`) und ist nur zum Vorkonfigurieren frischer Installationen gedacht. Updates
brauchen sie nicht — bestehende Installs behalten ihre Config in `storage.local`.
## Auto-Update (self-hosted über Gitea)
- `manifest.json``browser_specific_settings.gecko.update_url` zeigt auf `updates.json`
(raw auf `main`). Repo muss öffentlich bleiben, sonst 401 für den anonymen Updater.
- Neues Release veröffentlichen: `version` in `manifest.json` bumpen, `.xpi` neu bauen, dann
`GITEA_TOKEN=… ./release.sh` (hasht die xpi, aktualisiert `updates.json`, legt das Gitea-
Release an + lädt die xpi hoch). `release.sh` bricht ab, falls der Token in der xpi steckt.
- Danach `updates.json` + `manifest.json` committen & pushen.
## Repo
- Sync-Daten-Repo (Templates/Signaturen): `hps/email-vorlagen` auf `git.hotel-park-soltau.de`.
- Plugin-Source + Release-Host: `hps/hps-thunderbird-templates`.
**Muss public bleiben** — der Thunderbird-Auto-Updater greift anonym (ohne Token) auf
`updates.json` und die Release-`.xpi` zu. Privat = 401 = Auto-Updates kaputt.