Files
oikos/docs/archive/designs/2026-05-04-repo-cleanup-design.md
T
Ulas Kalayci d7cae21063 docs: archive cleanup plan, update SPEC and README for v0.45–v0.47
- 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>
2026-05-06 01:45:00 +02:00

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

  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:
# 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:

| **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

  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)