Doku: ManaWebShell bewusst behalten (Hybrid-Scaffold für neue Apps)
CLAUDE.md war veraltet (nannte nur ManaAuthUI). Aktualisiert auf alle drei Products (ManaAuthUI, ManaWebShell, ManaLLMUI) + dokumentiert die Entscheidung (Till, 2026-05-25), ManaWebShell trotz 0 Konsumenten zu behalten: Baustein zum schnellen Hybrid-Start neuer Apps (Web-App in nativer Schale), bevor sie schrittweise nativ werden — der Weg von zitare + seepuls. Inkl. Bootstrap-Hinweis + Entfern-Rezept. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
3aa90762cc
commit
4b7c605a9c
1 changed files with 44 additions and 13 deletions
57
CLAUDE.md
57
CLAUDE.md
|
|
@ -8,15 +8,42 @@ Guidance für Claude Code in diesem Repo.
|
|||
## Was dieses Repo ist
|
||||
|
||||
Swift-Package mit native UI-Komponenten für alle nativen
|
||||
mana-e.V.-Apps. Heute genau ein Library-Product:
|
||||
mana-e.V.-Apps. Drei Library-Products:
|
||||
|
||||
- **ManaAuthUI** — vollständige Auth-Reise als SwiftUI-Views:
|
||||
Login, Sign-Up, Email-Verifikation, Passwort-Reset,
|
||||
Account-Management. Konsumiert `ManaCore` (für API-Calls) und
|
||||
`ManaTokens` (für Vereins-Designwerte).
|
||||
`ManaTokens` (für Vereins-Designwerte). Breit konsumiert (memoro,
|
||||
seepuls, mukke, herbatrium, …).
|
||||
- **ManaWebShell** — dünne `WKWebView`-Hülle (`WebShellView` +
|
||||
`WebShellConfig` + `WebShellScripts`) zum Anzeigen einer Web-App in
|
||||
einer nativen Schale. **Siehe Retention-Hinweis unten.**
|
||||
- **ManaLLMUI** — Settings-UI für lokale LLMs (konsumiert `ManaLLM`).
|
||||
|
||||
Wird konsumiert von `cards-native`, `manaspur-native`, `memoro-native`,
|
||||
geplant `nutriphi-native` und weiteren.
|
||||
## ManaWebShell — bewusst behalten, aktuell ohne Konsument
|
||||
|
||||
**Stand 2026-05-25: ManaWebShell hat null Konsumenten.** Die beiden
|
||||
Hybrid-Apps wurden voll nativ (zitare η-0..η-9, seepuls σ-7); mukkes
|
||||
toter Dependency-Eintrag wurde entfernt.
|
||||
|
||||
**Wir behalten das Paket trotzdem** — Entscheidung Till, 2026-05-25.
|
||||
Begründung: Es ist der naheliegende Baustein, um eine **neue App
|
||||
schnell als Hybrid zu starten** (Web-App in nativer Schale + Widget/
|
||||
Share/Universal-Links), bevor sie — wenn sie sich bewährt — schrittweise
|
||||
nativ wird. Genau diesen Weg sind zitare und seepuls gegangen. Das
|
||||
Paket ist getestet (`ManaWebShellTests`), pure SwiftUI/WKWebView, ohne
|
||||
Laufzeitkosten solange es niemand importiert.
|
||||
|
||||
**Wenn du eine neue App schnell bootstrappen willst:** `ManaWebShell`
|
||||
als Dependency ziehen, `WebShellView(target:config:)` in einen Tab,
|
||||
`WebShellConfig` mit `allowedHosts` + `userScripts` (z.B.
|
||||
`preferDarkScheme`, `hideElements`) konfigurieren. Vorbild-Pattern (vor
|
||||
der De-Hybridisierung): `seepuls-native` Git-History vor σ-7 bzw.
|
||||
`zitare-native` vor η-0.
|
||||
|
||||
**Beim Entfernen** (falls je beschlossen): Library-Target +
|
||||
`ManaWebShellTests` aus `Package.swift`, dann prüfen dass `swift build`
|
||||
sauber bleibt.
|
||||
|
||||
## Status
|
||||
|
||||
|
|
@ -55,16 +82,20 @@ mana-swift-ui/
|
|||
├── CHANGELOG.md
|
||||
├── CLAUDE.md dieses File
|
||||
├── Sources/
|
||||
│ └── ManaAuthUI/
|
||||
│ ├── Brand/ ManaBrandConfig (App-injiziert)
|
||||
│ ├── Components/ ManaAuthScaffold, ManaTextField, ...
|
||||
│ ├── Login/ ManaLoginView + ViewModel
|
||||
│ ├── Register/ ManaSignUpView + ViewModel
|
||||
│ ├── Verify/ ManaEmailVerifyGateView
|
||||
│ ├── Reset/ ManaForgotPasswordView, ManaResetPasswordView
|
||||
│ └── Account/ ChangeEmail/ChangePassword/DeleteAccount
|
||||
│ ├── ManaAuthUI/
|
||||
│ │ ├── Brand/ ManaBrandConfig (App-injiziert)
|
||||
│ │ ├── Components/ ManaAuthScaffold, ManaTextField, ...
|
||||
│ │ ├── Login/ ManaLoginView + ViewModel
|
||||
│ │ ├── Register/ ManaSignUpView + ViewModel
|
||||
│ │ ├── Verify/ ManaEmailVerifyGateView
|
||||
│ │ ├── Reset/ ManaForgotPasswordView, ManaResetPasswordView
|
||||
│ │ └── Account/ ChangeEmail/ChangePassword/DeleteAccount
|
||||
│ ├── ManaWebShell/ WebShellView + WebShellConfig + WebShellScripts
|
||||
│ │ (Hybrid-Scaffold, aktuell ohne Konsument)
|
||||
│ └── ManaLLMUI/ Lokal-LLM-Settings-UI
|
||||
└── Tests/
|
||||
└── ManaAuthUITests/
|
||||
├── ManaAuthUITests/
|
||||
└── ManaWebShellTests/
|
||||
```
|
||||
|
||||
## Konventionen
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue