docs: add repo cleanup design specification

Design document for comprehensive repository and documentation
maintenance after v0.45.0 release. Covers archiving strategy for
implemented plans/specs, BACKLOG/CHANGELOG updates, and README
improvements.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
Ulas Kalayci
2026-05-04 20:06:44 +02:00
parent d371e2b554
commit 7349037880
@@ -0,0 +1,218 @@
# Oikos Repository Cleanup Design
**Datum:** 2026-05-04
**Status:** Approved
**Ziel:** Umfassende Pflege des GitHub Repos und der Projektdokumentation nach Release v0.45.0
## Überblick
Nach der erfolgreichen Implementierung von CardDAV Contacts Integration (v0.45.0) und Generic CalDAV Multi-Account Sync (v0.44.0) hat sich eine erhebliche Menge an abgeschlossenen Implementierungsplänen, Design-Specs und Audit-Dokumenten angesammelt. Diese Pflege-Aktion bringt die Projektdokumentation auf den aktuellen Stand, indem implementierte Dokumente archiviert, veraltete Inhalte entfernt und aktuelle Dokumentation aktualisiert werden.
## Hintergrund
### Analysierte Zeitspanne
CHANGELOG v0.40.0 bis v0.45.0 (1. Mai - 4. Mai 2026):
- v0.40.0: Budget Loans Tracker, Dashboard Widget Sizes
- v0.41.0: Birthday Badge, Filter Chips, Calendar Improvements
- v0.42.0: Module Toggles, Bulk Actions
- v0.43.0: Automatic Scheduled Backups
- v0.44.0: Generic CalDAV Multi-Account Sync
- v0.44.1: CalDAV Migration Crash Fix
- v0.45.0: CardDAV Contacts Integration, Multi-Value Contact Fields
### Identifizierte Probleme
1. **BACKLOG.md veraltet** - "Completed Features" endet bei v0.41.0, BL-11 (CardDAV) noch in "Open Entries" obwohl implementiert
2. **PROGRESS.md obsolet** - Session-spezifisches Tracking-Dokument für v0.45.0
3. **README.md unvollständig** - Contacts-Beschreibung erwähnt CardDAV Multi-Account Sync nicht
4. **26 Markdown-Dateien in docs/** - viele implementierte Pläne/Specs/Audits
5. **Emojis im CHANGELOG** - inkonsistent mit Projektstil
## Entscheidungen
Basierend auf Klärungsfragen wurden folgende Strategien festgelegt:
1. **Archivierung:** Implementierte Pläne/Specs/Designs → `docs/archive/` (Option B)
2. **PROGRESS.md:** Löschen, da im Git-Verlauf erhalten (Option A)
3. **BACKLOG.md:** Auf "Open Entries" reduzieren, "Completed" streichen (Option C)
4. **Audit-Dateien:** Alle nach `docs/archive/` (Option A)
5. **Design-Dokumente:** Nach `docs/archive/designs/` (Custom)
6. **awesome-selfhosted/:** Behalten (Custom)
7. **superpowers/specs + plans:** Nach `docs/archive/superpowers/` (Option A)
8. **README.md:** Contacts-Beschreibung komplett neu formulieren (Option C)
9. **Emojis:** Aus CHANGELOG entfernen, nirgends neu einbauen
10. **Vorgehen:** Thematische Commits (Ansatz A)
## Design
### 1. Archivierungsstrategie
**Ziel:** Implementierte Pläne, Specs und Design-Dokumente aus dem aktiven Arbeitsbereich entfernen, aber als historische Referenz bewahren.
**Archivstruktur:**
```
docs/archive/
├── designs/
│ ├── 2026-05-04-cardav-api-routes-implementation.md
│ ├── 2026-05-04-cardav-contacts-design.md
│ └── 2026-05-04-generic-caldav-design.md
├── superpowers/
│ ├── plans/
│ │ ├── 2026-04-20-ics-subscription.md
│ │ ├── 2026-04-21-installer-system.md
│ │ ├── 2026-04-25-ux-accessibility-fixes.md
│ │ ├── 2026-04-26-ux-improvements.md
│ │ ├── 2026-04-27-ux-ui-optimization.md
│ │ ├── 2026-04-29-ux-improvements.md
│ │ ├── 2026-04-29-ux-navigation-improvements.md
│ │ ├── 2026-04-29-ux-navigation-redesign.md
│ │ ├── 2026-04-30-microinteraction-long-loops.md
│ │ ├── 2026-05-04-cardav-contacts.md
│ │ └── 2026-05-04-generic-caldav.md
│ └── specs/
│ ├── 2026-04-20-ics-subscription-design.md
│ ├── 2026-04-27-ux-ui-optimization-design.md
│ ├── 2026-04-29-ux-navigation-redesign-design.md
│ └── ICS_URL_Subscription_v2.md
├── color-redesign-proposal.md
├── installer-plan.md
├── installer-recon.md
├── premium-ui-audit.md
└── ux-audit-plan.md
```
**Vorgehen:**
1. Erstelle Archivverzeichnisse: `docs/archive/`, `docs/archive/designs/`, `docs/archive/superpowers/plans/`, `docs/archive/superpowers/specs/`
2. Verschiebe Dateien mit `git mv` (erhält Git-Historie)
3. `docs/awesome-selfhosted/` bleibt unberührt
**Dateien insgesamt:** 23 Markdown-Dateien
### 2. Bereinigungsstrategie
**Ziel:** Session-spezifische Tracking-Dokumente entfernen, deren Information bereits im Git-Verlauf und CHANGELOG konserviert ist.
**Zu löschende Dateien:**
- `PROGRESS.md` (CardDAV v0.45.0 Session-Tracking)
**Vorgehen:**
1. `git rm PROGRESS.md`
2. Keine weiteren Löschungen im Root oder docs/
**Begründung:** PROGRESS.md war ein temporäres Arbeitsdokument für die CardDAV-Implementierung. Alle relevanten Informationen sind in:
- Git-Commits (detaillierte Implementierungsschritte)
- CHANGELOG.md (User-facing Änderungen)
- Archivierte Design-Docs (technische Spezifikation)
### 3. Aktualisierungsstrategie
**Ziel:** BACKLOG.md und CHANGELOG.md auf aktuellen Stand bringen und vereinfachen.
**BACKLOG.md Änderungen:**
1. BL-11 (CardDAV) aus "Open Entries" entfernen - implementiert in v0.45.0
2. "Completed Features" Sektion komplett streichen - CHANGELOG.md ist die autoritäre Quelle
3. Struktur vereinfachen zu:
```markdown
# Backlog
Feature requests and planned extensions. Entries here will **not** be implemented until explicitly prioritized and moved into a release branch.
New suggestion? → [Open an issue](https://github.com/ulsklyc/oikos/issues/new?template=feature_request.md) or add it here.
## Open Entries
| ID | Issue | Feature | Notes |
|----|-------|---------|-------|
| *Currently no open backlog items* | | | |
```
**CHANGELOG.md Änderungen:**
1. Alle Emojis entfernen - durchgehend für alle Versionen
2. Keine inhaltlichen Änderungen - nur Emoji-Bereinigung
### 4. Verbesserungsstrategie (README.md)
**Ziel:** Contacts-Modul-Beschreibung aktualisieren, um CardDAV Multi-Account Sync widerzuspiegeln.
**Aktueller Stand:**
```markdown
| **Notes & Contacts** | Colored sticky notes with Markdown support. Contact directory with vCard import/export. |
```
**Neue Formulierung:**
```markdown
| **Notes & Contacts** | Colored sticky notes with Markdown support. Contact directory with multi-account CardDAV sync (Nextcloud, iCloud, Radicale, Baikal), multiple phones/emails/addresses per contact, and vCard import/export. |
```
**Änderungen:**
- Ergänzt: "multi-account CardDAV sync" mit Provider-Beispielen (konsistent mit Calendar-Zeile)
- Ergänzt: "multiple phones/emails/addresses per contact" (v0.45.0 Feature)
- Behalten: "vCard import/export" (existierendes Feature)
- Keine Emojis
**Keine weiteren README-Änderungen** - restliche Modul-Beschreibungen bleiben unberührt.
### 5. Commit-Strategie
**Ziel:** Vier thematische Commits mit klaren, aussagekräftigen Nachrichten.
**Commit 1: Archivierung**
```
docs: archive implemented plans, specs, and design documents
Move completed implementation plans (2026-04-20 to 2026-05-04),
design specs, and audit documents to docs/archive/ for historical
reference while keeping the main docs/ directory focused on active
documentation.
Archived:
- 11 implementation plans (superpowers/plans/)
- 4 design specs (superpowers/specs/)
- 3 design documents (designs/)
- 5 audit/proposal documents (root level)
```
**Commit 2: Bereinigung**
```
docs: remove session-specific PROGRESS.md
Remove CardDAV v0.45.0 session tracking document. Information is
preserved in git history, CHANGELOG.md, and archived design docs.
```
**Commit 3: Aktualisierung**
```
docs: update BACKLOG and remove emojis from CHANGELOG
- BACKLOG.md: remove BL-11 (implemented in v0.45.0), strip "Completed
Features" section (CHANGELOG is authoritative source)
- CHANGELOG.md: remove all emojis for consistency
```
**Commit 4: Verbesserung**
```
docs: update README Contacts module description
Reflect v0.45.0 CardDAV multi-account sync and multi-value contact
fields (multiple phones/emails/addresses per contact).
```
## Erfolgskriterien
1. **Archiv erstellt:** `docs/archive/` mit korrekter Struktur existiert
2. **23 Dateien archiviert:** Alle implementierten Pläne/Specs/Designs verschoben
3. **PROGRESS.md entfernt:** Datei existiert nicht mehr im Root
4. **BACKLOG.md vereinfacht:** Nur "Open Entries", keine "Completed Features", BL-11 entfernt
5. **CHANGELOG.md emoji-frei:** Keine Emojis in allen Versionen
6. **README.md aktualisiert:** Contacts-Beschreibung spiegelt v0.45.0 Features wider
7. **4 Commits erstellt:** Jeder mit klarer, thematischer Nachricht
8. **Git-Historie erhalten:** `git mv` verwendet, keine Commits verloren
9. **Keine Emojis hinzugefügt:** Weder in README noch in anderen Dateien
## Nicht-Ziele
- SPEC.md überprüfen oder aktualisieren (separate Aufgabe)
- Weitere README-Sektionen ändern (nur Contacts-Modul)
- docs/installation.md oder andere aktive Docs ändern
- Inhaltliche Änderungen an CHANGELOG.md (nur Emoji-Entfernung)