chore: complete ManaCore → Mana rename (docs, go modules, plists, images)

Final cleanup of references missed in previous rename commits:

- Dockerfiles: PUBLIC_MANA_CORE_AUTH_URL → PUBLIC_MANA_AUTH_URL
- Go modules: github.com/manacore/* → github.com/mana/* (7 go.mod files)
- launchd plists: com.manacore.* → com.mana.* (14 files renamed + content)
- Image assets: *_Manacore_AI_Credits* → *_Mana_AI_Credits* (11 files)
- .env.example files: ManaCore brand strings → Mana
- .prettierignore: stale apps/manacore/* paths → apps/mana/*
- Markdown docs (CLAUDE.md, /docs/*): mana-core-auth → mana-auth, etc.

Excluded from rename: .claude/, devlog/, manascore/ (historical content),
client testimonials, blueprints, npm package refs (@mana-core/*).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-07 12:26:10 +02:00
parent 6f4667c2a3
commit 22a73943e1
307 changed files with 2408 additions and 4537 deletions

View file

@ -1,12 +1,12 @@
# Central Command Bar
Die zentrale Command Bar bietet eine einheitliche Schnellsuche und Navigation über alle Manacore-Apps hinweg. Sie wird mit `Cmd/Ctrl+K` aktiviert und bietet Suche, Quick Actions und Tastatur-Navigation.
Die zentrale Command Bar bietet eine einheitliche Schnellsuche und Navigation über alle Mana-Apps hinweg. Sie wird mit `Cmd/Ctrl+K` aktiviert und bietet Suche, Quick Actions und Tastatur-Navigation.
## Architektur
```
┌─────────────────────────────────────────────────────────────┐
@manacore/shared-ui │
@mana/shared-ui │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ CommandBar.svelte │ │
│ │ - Suche mit Debounce (150ms) │ │
@ -30,7 +30,7 @@ Die zentrale Command Bar bietet eine einheitliche Schnellsuche und Navigation ü
| Package | Beschreibung |
|---------|--------------|
| `@manacore/shared-ui` | CommandBar Svelte-Komponente + TypeScript-Typen |
| `@mana/shared-ui` | CommandBar Svelte-Komponente + TypeScript-Typen |
## Keyboard Shortcut
@ -111,8 +111,8 @@ interface Props {
```svelte
<script lang="ts">
import { goto } from '$app/navigation';
import { CommandBar } from '@manacore/shared-ui';
import type { CommandBarItem, QuickAction } from '@manacore/shared-ui';
import { CommandBar } from '@mana/shared-ui';
import type { CommandBarItem, QuickAction } from '@mana/shared-ui';
let commandBarOpen = $state(false);
@ -324,7 +324,7 @@ Typischerweise wird die CommandBar im App-Layout integriert:
```svelte
<!-- src/routes/(app)/+layout.svelte -->
<script lang="ts">
import { CommandBar } from '@manacore/shared-ui';
import { CommandBar } from '@mana/shared-ui';
let commandBarOpen = $state(false);
@ -358,7 +358,7 @@ Typischerweise wird die CommandBar im App-Layout integriert:
## Dateien
### @manacore/shared-ui
### @mana/shared-ui
| Datei | Beschreibung |
|-------|--------------|

View file

@ -1,6 +1,6 @@
# Central Help System
Das zentrale Help-System bietet eine einheitliche Hilfeseite für alle Manacore-Apps. Es unterstützt mehrsprachige Inhalte, Volltextsuche, und die Kombination von zentralen und app-spezifischen Inhalten.
Das zentrale Help-System bietet eine einheitliche Hilfeseite für alle Mana-Apps. Es unterstützt mehrsprachige Inhalte, Volltextsuche, und die Kombination von zentralen und app-spezifischen Inhalten.
## Architektur
@ -32,10 +32,10 @@ Das zentrale Help-System bietet eine einheitliche Hilfeseite für alle Manacore-
| Package | Beschreibung |
|---------|--------------|
| `@manacore/shared-help-types` | TypeScript-Typen und Zod-Schemas |
| `@manacore/shared-help-content` | Content-Loader, Parser, Merger, Suche |
| `@manacore/shared-help-ui` | Svelte 5 UI-Komponenten |
| `@manacore/shared-help-mobile` | React Native Komponenten |
| `@mana/shared-help-types` | TypeScript-Typen und Zod-Schemas |
| `@mana/shared-help-content` | Content-Loader, Parser, Merger, Suche |
| `@mana/shared-help-ui` | Svelte 5 UI-Komponenten |
| `@mana/shared-help-mobile` | React Native Komponenten |
## Content-Typen
@ -178,7 +178,7 @@ interface HelpContent {
Der Merger kombiniert zentrale und app-spezifische Inhalte:
```typescript
import { mergeContent, createEmptyContent } from '@manacore/shared-help-content';
import { mergeContent, createEmptyContent } from '@mana/shared-help-content';
// Zentrale Inhalte (für alle Apps)
const centralContent: HelpContent = {
@ -220,7 +220,7 @@ Inhalte werden automatisch gefiltert nach:
### Such-Index erstellen
```typescript
import { buildSearchIndex, search, createSearcher } from '@manacore/shared-help-content';
import { buildSearchIndex, search, createSearcher } from '@mana/shared-help-content';
// Index erstellen
const index = buildSearchIndex(content, {
@ -261,7 +261,7 @@ Vollständige Hilfeseite mit allen Sektionen:
```svelte
<script>
import { HelpPage } from '@manacore/shared-help-ui';
import { HelpPage } from '@mana/shared-help-ui';
import { helpContent, translations } from '$lib/help';
</script>
@ -296,7 +296,7 @@ Vollständige Hilfeseite mit allen Sektionen:
ChangelogSection,
ContactSection,
HelpSearch,
} from '@manacore/shared-help-ui';
} from '@mana/shared-help-ui';
</script>
<!-- FAQ mit Kategorien -->
@ -457,7 +457,7 @@ const translations: HelpPageTranslations = {
## Dateien
### @manacore/shared-help-types
### @mana/shared-help-types
| Datei | Beschreibung |
|-------|--------------|
@ -465,7 +465,7 @@ const translations: HelpPageTranslations = {
| `src/schemas.ts` | Zod-Validierungsschemas |
| `src/search.ts` | Such-bezogene Typen |
### @manacore/shared-help-content
### @mana/shared-help-content
| Datei | Beschreibung |
|-------|--------------|
@ -474,7 +474,7 @@ const translations: HelpPageTranslations = {
| `src/merger.ts` | Content-Merger (zentral + app-spezifisch) |
| `src/search.ts` | Volltextsuche mit Fuse.js |
### @manacore/shared-help-ui
### @mana/shared-help-ui
| Datei | Beschreibung |
|-------|--------------|
@ -497,9 +497,9 @@ const translations: HelpPageTranslations = {
```json
{
"dependencies": {
"@manacore/shared-help-types": "workspace:*",
"@manacore/shared-help-content": "workspace:*",
"@manacore/shared-help-ui": "workspace:*"
"@mana/shared-help-types": "workspace:*",
"@mana/shared-help-content": "workspace:*",
"@mana/shared-help-ui": "workspace:*"
}
}
```
@ -508,7 +508,7 @@ const translations: HelpPageTranslations = {
```typescript
// src/lib/help/content.ts
import type { HelpContent } from '@manacore/shared-help-types';
import type { HelpContent } from '@mana/shared-help-types';
export const appHelpContent: Partial<HelpContent> = {
faq: [
@ -543,8 +543,8 @@ export const appHelpContent: Partial<HelpContent> = {
```svelte
<!-- src/routes/(app)/help/+page.svelte -->
<script lang="ts">
import { HelpPage } from '@manacore/shared-help-ui';
import { mergeContent } from '@manacore/shared-help-content';
import { HelpPage } from '@mana/shared-help-ui';
import { mergeContent } from '@mana/shared-help-content';
import { centralContent } from '$lib/help/central';
import { appHelpContent } from '$lib/help/content';
import { translations } from '$lib/help/translations';

View file

@ -1,6 +1,6 @@
# Central Services
Dieses Verzeichnis dokumentiert zentrale Services, die von allen Manacore-Apps gemeinsam genutzt werden. Diese Services laufen in `mana-core-auth` und bieten einheitliche APIs.
Dieses Verzeichnis dokumentiert zentrale Services, die von allen Mana-Apps gemeinsam genutzt werden. Diese Services laufen in `mana-auth` und bieten einheitliche APIs.
## Übersicht
@ -16,7 +16,7 @@ Dieses Verzeichnis dokumentiert zentrale Services, die von allen Manacore-Apps g
### Zentralisierung
Bestimmte Daten und Funktionen werden zentral in `mana-core-auth` verwaltet:
Bestimmte Daten und Funktionen werden zentral in `mana-auth` verwaltet:
- **User-bezogen:** Jeder Service speichert Daten pro User (`userId`)
- **App-übergreifend:** Daten sind in allen Apps verfügbar
@ -24,10 +24,10 @@ Bestimmte Daten und Funktionen werden zentral in `mana-core-auth` verwaltet:
### Soft References
Da die Apps ihre eigenen Datenbanken haben, können keine Foreign Keys zu mana-core-auth erstellt werden:
Da die Apps ihre eigenen Datenbanken haben, können keine Foreign Keys zu mana-auth erstellt werden:
```
Todo-DB mana-core-auth-DB
Todo-DB mana-auth-DB
┌─────────────────┐ ┌─────────────────┐
│ task_to_tags │ │ tags │
│ │ │ │
@ -44,7 +44,7 @@ Für jeden zentralen Service gibt es ein entsprechendes Client-Package:
| Service | Package |
|---------|---------|
| Tags | `@manacore/shared-tags` |
| Tags | `@mana/shared-tags` |
Diese Packages enthalten:
- TypeScript Types
@ -66,7 +66,7 @@ pnpm dev:auth
### Datenbank-Schema pushen
```bash
cd services/mana-core-auth
cd services/mana-auth
pnpm db:push
```
@ -74,19 +74,19 @@ pnpm db:push
| Package | Beschreibung |
|---------|--------------|
| `@manacore/shared-tags` | Tags Client für zentrale Tags API |
| `@manacore/shared-theme` | Theme Store, A11y Store, User Settings |
| `@manacore/shared-theme-ui` | Svelte UI-Komponenten für Theming |
| `@manacore/shared-help-types` | TypeScript-Typen für Help-Inhalte |
| `@manacore/shared-help-content` | Content-Loader, Parser, Merger, Suche |
| `@manacore/shared-help-ui` | Svelte UI-Komponenten für Hilfeseite |
| `@manacore/shared-help-mobile` | React Native Komponenten für Hilfe |
| `@manacore/shared-splitscreen` | Split-Screen Container, Store, Komponenten |
| `@mana/shared-tags` | Tags Client für zentrale Tags API |
| `@mana/shared-theme` | Theme Store, A11y Store, User Settings |
| `@mana/shared-theme-ui` | Svelte UI-Komponenten für Theming |
| `@mana/shared-help-types` | TypeScript-Typen für Help-Inhalte |
| `@mana/shared-help-content` | Content-Loader, Parser, Merger, Suche |
| `@mana/shared-help-ui` | Svelte UI-Komponenten für Hilfeseite |
| `@mana/shared-help-mobile` | React Native Komponenten für Hilfe |
| `@mana/shared-splitscreen` | Split-Screen Container, Store, Komponenten |
## Hinzufügen neuer zentraler Services
1. **Schema erstellen:** `services/mana-core-auth/src/db/schema/<name>.schema.ts`
2. **Module erstellen:** `services/mana-core-auth/src/<name>/`
1. **Schema erstellen:** `services/mana-auth/src/db/schema/<name>.schema.ts`
2. **Module erstellen:** `services/mana-auth/src/<name>/`
3. **In app.module.ts registrieren**
4. **Shared Package erstellen:** `packages/shared-<name>/`
5. **Dokumentation schreiben:** `docs/central-services/<NAME>.md`

View file

@ -6,7 +6,7 @@ Das Split-Screen Feature ermöglicht es, zwei Mana-Apps nebeneinander in einem B
| Aspekt | Details |
|--------|---------|
| **Package** | `@manacore/shared-splitscreen` |
| **Package** | `@mana/shared-splitscreen` |
| **Integrierte Apps** | Calendar, Todo, Contacts |
| **Aktivierung** | Split-Button in App-Dropdown oder Ctrl/Cmd+Klick |
| **Persistenz** | URL-Parameter + localStorage |
@ -69,7 +69,7 @@ Haupt-Container mit CSS Grid Layout.
```svelte
<script>
import { SplitPaneContainer, setSplitPanelContext, DEFAULT_APPS } from '@manacore/shared-splitscreen';
import { SplitPaneContainer, setSplitPanelContext, DEFAULT_APPS } from '@mana/shared-splitscreen';
// Context initialisieren
const splitPanel = setSplitPanelContext('calendar', DEFAULT_APPS);
@ -135,7 +135,7 @@ Overlay mit Swap- und Close-Buttons.
### Initialisierung
```typescript
import { setSplitPanelContext, DEFAULT_APPS } from '@manacore/shared-splitscreen';
import { setSplitPanelContext, DEFAULT_APPS } from '@mana/shared-splitscreen';
// Im Layout-Component (z.B. +layout.svelte)
const splitPanel = setSplitPanelContext('calendar', DEFAULT_APPS);
@ -170,7 +170,7 @@ interface SplitPanelStore {
### Context-Zugriff
```typescript
import { getSplitPanelContext } from '@manacore/shared-splitscreen';
import { getSplitPanelContext } from '@mana/shared-splitscreen';
// In Child-Components
const splitPanel = getSplitPanelContext();
@ -201,7 +201,7 @@ https://calendar.app/?panel=todo&split=60
### localStorage
```typescript
// Key: manacore-splitscreen-{appId}
// Key: mana-splitscreen-{appId}
{
"version": 1,
"state": {
@ -225,7 +225,7 @@ https://calendar.app/?panel=todo&split=60
// package.json
{
"dependencies": {
"@manacore/shared-splitscreen": "workspace:*"
"@mana/shared-splitscreen": "workspace:*"
}
}
```
@ -236,12 +236,12 @@ https://calendar.app/?panel=todo&split=60
<!-- +layout.svelte -->
<script lang="ts">
import { onMount } from 'svelte';
import { PillNavigation } from '@manacore/shared-ui';
import { PillNavigation } from '@mana/shared-ui';
import {
SplitPaneContainer,
setSplitPanelContext,
DEFAULT_APPS,
} from '@manacore/shared-splitscreen';
} from '@mana/shared-splitscreen';
// Split-Panel Store initialisieren
const splitPanel = setSplitPanelContext('calendar', DEFAULT_APPS);
@ -369,7 +369,7 @@ http://localhost:5179/?panel=contacts&split=70
### localStorage löschen
```javascript
localStorage.removeItem('manacore-splitscreen-calendar');
localStorage.removeItem('manacore-splitscreen-todo');
localStorage.removeItem('manacore-splitscreen-contacts');
localStorage.removeItem('mana-splitscreen-calendar');
localStorage.removeItem('mana-splitscreen-todo');
localStorage.removeItem('mana-splitscreen-contacts');
```

View file

@ -1,12 +1,12 @@
# Central Tags API
Das zentrale Tags-System ermöglicht einheitliche Tags/Labels über alle Manacore-Apps hinweg. Ein Tag, der in Todo erstellt wird, ist automatisch auch in Calendar und Contacts verfügbar.
Das zentrale Tags-System ermöglicht einheitliche Tags/Labels über alle Mana-Apps hinweg. Ein Tag, der in Todo erstellt wird, ist automatisch auch in Calendar und Contacts verfügbar.
## Architektur
```
┌─────────────────────────────────────────────────────────────┐
│ mana-core-auth │
│ mana-auth │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ tags Tabelle (zentral) │ │
│ │ - id, userId, name, color, icon, createdAt │ │
@ -69,10 +69,10 @@ Beim Aufruf von `POST /tags/defaults` werden folgende Standard-Tags erstellt:
### Shared Package
Das `@manacore/shared-tags` Package stellt einen Client bereit:
Das `@mana/shared-tags` Package stellt einen Client bereit:
```typescript
import { createTagsClient } from '@manacore/shared-tags';
import { createTagsClient } from '@mana/shared-tags';
const tagsClient = createTagsClient({
authUrl: 'http://localhost:3001',
@ -107,7 +107,7 @@ Die Apps nutzen den Client in ihren Stores:
**Todo (labels.svelte.ts):**
```typescript
import { createTagsClient, type Tag } from '@manacore/shared-tags';
import { createTagsClient, type Tag } from '@mana/shared-tags';
// Label = Tag (Alias für Abwärtskompatibilität)
export type Label = Tag;
@ -141,7 +141,7 @@ Jede App behält ihre eigene Junction-Table für die Zuordnung:
```sql
CREATE TABLE task_to_tags (
task_id UUID REFERENCES tasks(id) ON DELETE CASCADE,
tag_id UUID NOT NULL, -- Soft reference zu mana-core-auth.tags
tag_id UUID NOT NULL, -- Soft reference zu mana-auth.tags
PRIMARY KEY (task_id, tag_id)
);
```
@ -150,7 +150,7 @@ CREATE TABLE task_to_tags (
```sql
CREATE TABLE event_to_tags (
event_id UUID REFERENCES events(id) ON DELETE CASCADE,
tag_id UUID NOT NULL, -- Soft reference zu mana-core-auth.tags
tag_id UUID NOT NULL, -- Soft reference zu mana-auth.tags
PRIMARY KEY (event_id, tag_id)
);
```
@ -159,7 +159,7 @@ CREATE TABLE event_to_tags (
```sql
CREATE TABLE contact_to_tags (
contact_id UUID REFERENCES contacts(id) ON DELETE CASCADE,
tag_id UUID NOT NULL, -- Soft reference zu mana-core-auth.tags
tag_id UUID NOT NULL, -- Soft reference zu mana-auth.tags
PRIMARY KEY (contact_id, tag_id)
);
```
@ -203,7 +203,7 @@ curl -X POST http://localhost:3001/api/v1/tags/defaults \
## Dateien
### Backend (mana-core-auth)
### Backend (mana-auth)
| Datei | Beschreibung |
|-------|--------------|
@ -235,7 +235,7 @@ curl -X POST http://localhost:3001/api/v1/tags/defaults \
Wenn eine App vorher eigene Tags hatte:
1. **Daten exportieren:** Bestehende Tags aus der lokalen Tabelle exportieren
2. **Tags erstellen:** Per API in mana-core-auth erstellen
2. **Tags erstellen:** Per API in mana-auth erstellen
3. **IDs mappen:** Alte Tag-IDs auf neue IDs mappen
4. **Junction Tables aktualisieren:** Tag-IDs in Junction-Tables ersetzen
5. **Lokale Tabelle löschen:** Alte Tags-Tabelle entfernen

View file

@ -1,12 +1,12 @@
# Central Theming System
Das zentrale Theming-System ermöglicht einheitliches Aussehen und Benutzereinstellungen über alle Manacore-Apps hinweg. Es besteht aus mehreren Schichten: Theme-Varianten, Light/Dark-Modus und Accessibility-Einstellungen.
Das zentrale Theming-System ermöglicht einheitliches Aussehen und Benutzereinstellungen über alle Mana-Apps hinweg. Es besteht aus mehreren Schichten: Theme-Varianten, Light/Dark-Modus und Accessibility-Einstellungen.
## Architektur
```
┌─────────────────────────────────────────────────────────────┐
│ mana-core-auth │
│ mana-auth │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ user_settings (JSON-Feld) │ │
│ │ - theme: { mode, colorScheme, pinnedThemes } │ │
@ -30,8 +30,8 @@ Das zentrale Theming-System ermöglicht einheitliches Aussehen und Benutzereinst
| Package | Beschreibung |
|---------|--------------|
| `@manacore/shared-theme` | Theme Store, Types, Utilities, Konstanten |
| `@manacore/shared-theme-ui` | Svelte UI-Komponenten (ThemeSelector, ThemePage, etc.) |
| `@mana/shared-theme` | Theme Store, Types, Utilities, Konstanten |
| `@mana/shared-theme-ui` | Svelte UI-Komponenten (ThemeSelector, ThemePage, etc.) |
## Theme-Varianten
@ -109,7 +109,7 @@ background-color: hsl(var(--color-primary));
### Theme Store
```typescript
import { createThemeStore } from '@manacore/shared-theme';
import { createThemeStore } from '@mana/shared-theme';
// Store erstellen
export const theme = createThemeStore({
@ -152,7 +152,7 @@ export const theme = createThemeStore({
### User Settings Store (Server-Sync)
```typescript
import { createUserSettingsStore } from '@manacore/shared-theme';
import { createUserSettingsStore } from '@mana/shared-theme';
export const userSettings = createUserSettingsStore({
appId: 'calendar',
@ -186,7 +186,7 @@ await userSettings.updateAppOverride({
### A11y Store
```typescript
import { createA11yStore } from '@manacore/shared-theme';
import { createA11yStore } from '@mana/shared-theme';
export const a11y = createA11yStore({ appId: 'calendar' });
@ -226,7 +226,7 @@ Vollständige Themes-Seite mit allen Optionen:
```svelte
<script>
import { ThemePage } from '@manacore/shared-theme-ui';
import { ThemePage } from '@mana/shared-theme-ui';
import { theme, a11y } from '$lib/stores';
</script>
@ -247,7 +247,7 @@ Dropdown zur Theme-Auswahl:
```svelte
<script>
import { ThemeSelector } from '@manacore/shared-theme-ui';
import { ThemeSelector } from '@mana/shared-theme-ui';
import { theme } from '$lib/stores';
</script>
@ -260,7 +260,7 @@ Umschalter für Light/Dark/System:
```svelte
<script>
import { ThemeModeSelector } from '@manacore/shared-theme-ui';
import { ThemeModeSelector } from '@mana/shared-theme-ui';
import { theme } from '$lib/stores';
</script>
@ -273,7 +273,7 @@ Einfacher Dark/Light Toggle:
```svelte
<script>
import { ThemeToggle } from '@manacore/shared-theme-ui';
import { ThemeToggle } from '@mana/shared-theme-ui';
import { theme } from '$lib/stores';
</script>
@ -286,7 +286,7 @@ Vollständige Accessibility-Einstellungen:
```svelte
<script>
import { A11ySettings } from '@manacore/shared-theme-ui';
import { A11ySettings } from '@mana/shared-theme-ui';
import { a11y } from '$lib/stores';
</script>
@ -344,7 +344,7 @@ theme: {
## Dateien
### @manacore/shared-theme
### @mana/shared-theme
| Datei | Beschreibung |
|-------|--------------|
@ -358,7 +358,7 @@ theme: {
| `src/utils.ts` | Theme Utilities |
| `src/app-routes.ts` | Start-Page Konfiguration |
### @manacore/shared-theme-ui
### @mana/shared-theme-ui
| Datei | Beschreibung |
|-------|--------------|
@ -377,8 +377,8 @@ theme: {
```json
{
"dependencies": {
"@manacore/shared-theme": "workspace:*",
"@manacore/shared-theme-ui": "workspace:*"
"@mana/shared-theme": "workspace:*",
"@mana/shared-theme-ui": "workspace:*"
}
}
```
@ -387,7 +387,7 @@ theme: {
```typescript
// src/lib/stores/theme.ts
import { createThemeStore, createA11yStore } from '@manacore/shared-theme';
import { createThemeStore, createA11yStore } from '@mana/shared-theme';
export const theme = createThemeStore({
appId: 'myapp',
@ -425,7 +425,7 @@ export const a11y = createA11yStore({
```svelte
<!-- src/routes/(app)/themes/+page.svelte -->
<script>
import { ThemePage } from '@manacore/shared-theme-ui';
import { ThemePage } from '@mana/shared-theme-ui';
import { theme, a11y } from '$lib/stores/theme';
</script>