- Archive docs/designs/2026-05-04-repo-cleanup-design.md to docs/archive/designs/ - Remove docs/designs/2026-05-04-settings-sidebar-demo.html (implemented) - SPEC.md: add CardDAV Accounts and CardDAV Addressbook Selection tables - SPEC.md: expand Contacts table with multi-value fields, CardDAV columns, and new contact_phones / contact_emails / contact_addresses sub-tables - SPEC.md: add birthday reminder_offset columns (v0.46.0) - SPEC.md: update External Calendars table (apple→caldav migration note) - SPEC.md: update Tasks module (bulk actions, v0.42.0) - SPEC.md: update Contacts module (CardDAV multi-account sync, multi-value fields) - SPEC.md: update Birthdays module (flexible reminder offsets, v0.46.0) - SPEC.md: update Settings module (Synchronization tab, module toggles, scheduled backups, CardDAV UI, correct tab count and names) - README.md: update Birthdays row (flexible reminder offsets) - README.md: update Backup row (automatic scheduled backups) - .gitignore: exclude screenshot scripts, seed scripts, backup files, docs/github-pages/ staging folder Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
8.6 KiB
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
- BACKLOG.md veraltet - "Completed Features" endet bei v0.41.0, BL-11 (CardDAV) noch in "Open Entries" obwohl implementiert
- PROGRESS.md obsolet - Session-spezifisches Tracking-Dokument für v0.45.0
- README.md unvollständig - Contacts-Beschreibung erwähnt CardDAV Multi-Account Sync nicht
- 26 Markdown-Dateien in docs/ - viele implementierte Pläne/Specs/Audits
- Emojis im CHANGELOG - inkonsistent mit Projektstil
Entscheidungen
Basierend auf Klärungsfragen wurden folgende Strategien festgelegt:
- Archivierung: Implementierte Pläne/Specs/Designs →
docs/archive/(Option B) - PROGRESS.md: Löschen, da im Git-Verlauf erhalten (Option A)
- BACKLOG.md: Auf "Open Entries" reduzieren, "Completed" streichen (Option C)
- Audit-Dateien: Alle nach
docs/archive/(Option A) - Design-Dokumente: Nach
docs/archive/designs/(Custom) - awesome-selfhosted/: Behalten (Custom)
- superpowers/specs + plans: Nach
docs/archive/superpowers/(Option A) - README.md: Contacts-Beschreibung komplett neu formulieren (Option C)
- Emojis: Aus CHANGELOG entfernen, nirgends neu einbauen
- 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:
- Erstelle Archivverzeichnisse:
docs/archive/,docs/archive/designs/,docs/archive/superpowers/plans/,docs/archive/superpowers/specs/ - Verschiebe Dateien mit
git mv(erhält Git-Historie) 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:
git rm PROGRESS.md- 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:
- BL-11 (CardDAV) aus "Open Entries" entfernen - implementiert in v0.45.0
- "Completed Features" Sektion komplett streichen - CHANGELOG.md ist die autoritäre Quelle
- Struktur vereinfachen zu:
# 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:
- Alle Emojis entfernen - durchgehend für alle Versionen
- Keine inhaltlichen Änderungen - nur Emoji-Bereinigung
4. Verbesserungsstrategie (README.md)
Ziel: Contacts-Modul-Beschreibung aktualisieren, um CardDAV Multi-Account Sync widerzuspiegeln.
Aktueller Stand:
| **Notes & Contacts** | Colored sticky notes with Markdown support. Contact directory with vCard import/export. |
Neue Formulierung:
| **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
- Archiv erstellt:
docs/archive/mit korrekter Struktur existiert - 23 Dateien archiviert: Alle implementierten Pläne/Specs/Designs verschoben
- PROGRESS.md entfernt: Datei existiert nicht mehr im Root
- BACKLOG.md vereinfacht: Nur "Open Entries", keine "Completed Features", BL-11 entfernt
- CHANGELOG.md emoji-frei: Keine Emojis in allen Versionen
- README.md aktualisiert: Contacts-Beschreibung spiegelt v0.45.0 Features wider
- 4 Commits erstellt: Jeder mit klarer, thematischer Nachricht
- Git-Historie erhalten:
git mvverwendet, keine Commits verloren - 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)