devlog: 107 Tage backfilled (2025-11-22 → 2026-05-15)
Some checks are pending
CI / Build mana-api-gateway (push) Blocked by required conditions
CI / Build mana-crawler (push) Blocked by required conditions
CD Mac Mini / Detect Changes (push) Waiting to run
CD Mac Mini / Deploy (push) Blocked by required conditions
CI / Detect Changes (push) Waiting to run
CI / Validate (push) Waiting to run
CI / Build mana-search (push) Blocked by required conditions
CI / Build mana-sync (push) Blocked by required conditions
Mirror to Forgejo / Push to Forgejo (push) Waiting to run

Vollständige Bau-Geschichte des Monorepos in der Tages-Devlog-
Konvention (mana/docs/DEVLOG.md). Bodies sind heuristik-
generiert aus den Commit-Subjects pro Tag (Lead-Satz +
Highlights/Commit-Bullets, kein LLM-Pfad). Tage mit hand-
curate-Bedarf können nachträglich überarbeitet werden — der
Auto-Stub-Marker ist weg, die Bodies sind editierbar.

321 Files (data.json + spieler.md + macher.md pro Tag).

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-05-15 22:24:29 +02:00
parent 21e8bcaa5f
commit ad776c1a1c
321 changed files with 51164 additions and 0 deletions

127
devlog/2025-11-22/data.json Normal file
View file

@ -0,0 +1,127 @@
{
"date": "2025-11-22",
"day_number": 1,
"weekday": "Samstag",
"commits": 5,
"authors": [
{
"name": "Till-JS",
"count": 5
}
],
"additions": 516933,
"deletions": 124,
"net_lines": 516809,
"files_changed": 2475,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-11-22T22:38:24.000Z",
"last_commit_at": "2025-11-22T22:59:55.000Z",
"total_span_minutes": 22,
"active_minutes": 22,
"pauses": [],
"longest_focus_minutes": 22
},
"top_dirs": [
{
"path": "memoro/apps/landing",
"pct": 26
},
{
"path": "memoro/apps/mobile",
"pct": 23
},
{
"path": "maerchenzauber/apps/mobile",
"pct": 9
},
{
"path": "memoro/apps/web",
"pct": 7
},
{
"path": "maerchenzauber/apps/backend",
"pct": 7
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 504
},
{
"ext": ".tsx",
"count": 417
},
{
"ext": ".md",
"count": 368
},
{
"ext": ".mdx",
"count": 240
},
{
"ext": ".astro",
"count": 210
},
{
"ext": ".json",
"count": 177
}
],
"tags": [],
"commits_list": [
{
"hash": "e7f5f94",
"short": "chore: initial commit - consolidate 4 projects into monorepo",
"type": null,
"scope": null,
"additions": 487047,
"deletions": 0,
"timestamp": "2025-11-22T23:38:24+01:00"
},
{
"hash": "2c58d03",
"short": "feat: add monorepo configuration and shared packages structure",
"type": null,
"scope": null,
"additions": 738,
"deletions": 0,
"timestamp": "2025-11-22T23:41:52+01:00"
},
{
"hash": "6613f45",
"short": "docs: add dependency alignment guide",
"type": null,
"scope": null,
"additions": 174,
"deletions": 0,
"timestamp": "2025-11-22T23:42:39+01:00"
},
{
"hash": "f3b428e",
"short": "feat: align dependencies across all projects",
"type": null,
"scope": null,
"additions": 28669,
"deletions": 44,
"timestamp": "2025-11-22T23:53:07+01:00"
},
{
"hash": "725db63",
"short": "chore: cleanup turbo config and fix peer dependencies",
"type": null,
"scope": null,
"additions": 305,
"deletions": 80,
"timestamp": "2025-11-22T23:59:55+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,22 @@
---
date: 2025-11-22
day: 1
view: macher
weekday: Samstag
commits: 5
review: written
---
# Samstag, 2025-11-22 — Tag 1 (Macher-Sicht)
## Stats
5 Commits, +516933 / 124 LoC, 2475 Files. Top-Dirs: `memoro/apps/landing` (26%), `memoro/apps/mobile` (23%), `maerchenzauber/apps/mobile` (9%), `memoro/apps/web` (7%), `maerchenzauber/apps/backend` (7%). Tags: —. Session 22:38 → 22:59 (~22 aktive Min, längster Fokus 22 Min).
## Commits
- `e7f5f94` chore: initial commit - consolidate 4 projects into monorepo (+487047/-0)
- `2c58d03` feat: add monorepo configuration and shared packages structure (+738/-0)
- `6613f45` docs: add dependency alignment guide (+174/-0)
- `f3b428e` feat: align dependencies across all projects (+28669/-44)
- `725db63` chore: cleanup turbo config and fix peer dependencies (+305/-80)

View file

@ -0,0 +1,18 @@
---
date: 2025-11-22
day: 1
view: spieler
weekday: Samstag
commits: 5
review: written
---
# Samstag, 2025-11-22 — Tag 1
Kurzer Arbeitstag, Schwerpunkt **memoro**.
## Highlights
- add monorepo configuration and shared packages structure
- add dependency alignment guide
- align dependencies across all projects

328
devlog/2025-11-24/data.json Normal file
View file

@ -0,0 +1,328 @@
{
"date": "2025-11-24",
"day_number": 2,
"weekday": "Montag",
"commits": 25,
"authors": [
{
"name": "Till-JS",
"count": 25
}
],
"additions": 233767,
"deletions": 33690,
"net_lines": 200077,
"files_changed": 1557,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-11-24T20:09:20.000Z",
"last_commit_at": "2025-11-25T03:00:36.000Z",
"total_span_minutes": 411,
"active_minutes": 188,
"pauses": [
{
"from": "21:09",
"to": "21:51",
"minutes": 42
},
{
"from": "22:39",
"to": "23:54",
"minutes": 75
},
{
"from": "00:42",
"to": "01:31",
"minutes": 49
},
{
"from": "03:03",
"to": "04:00",
"minutes": 57
}
],
"longest_focus_minutes": 92
},
"top_dirs": [
{
"path": "uload/apps/web",
"pct": 15
},
{
"path": "picture/apps/mobile",
"pct": 9
},
{
"path": "picture/apps/landing",
"pct": 9
},
{
"path": "memoro/apps/web",
"pct": 7
},
{
"path": "picture/apps/web",
"pct": 6
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 474
},
{
"ext": ".svelte",
"count": 430
},
{
"ext": ".md",
"count": 291
},
{
"ext": ".json",
"count": 192
},
{
"ext": ".astro",
"count": 81
},
{
"ext": ".tsx",
"count": 77
}
],
"tags": ["manadeck", "shared-ui", "maerchenzauber/web", "landing"],
"commits_list": [
{
"hash": "ef70a1a",
"short": " Commit Message feat: implement comprehensive shared packages architecture for monorepo SUMMARY: Introduce 10 shared packages to unify common code across all 4 web apps, reducing ~3,000 lines of duplicated code and establishing consistent patterns for authentication, UI components, theming, and utilities. NEW SHARED PACKAGES: - @manacore/shared-auth: Unified auth logic (token management, JWT utils, fetch interceptor, storage/device/network adapters) - @manacore/shared-auth-ui: Reusable auth UI (LoginPage, RegisterPage, OAuth buttons for Google/Apple) - @manacore/shared-tailwind: Unified Tailwind config with 4 themes (lume, nature, stone, ocean) and light/dark mode support - @manacore/shared-icons: Phosphor-based icon library (40+ icons) - @manacore/shared-ui: Atomic design system (Text, Button, Badge, Toggle, Input, Modal) - @manacore/shared-i18n: Unified i18n setup with locale detection - @manacore/shared-config: Environment validation with Zod - @manacore/shared-subscriptio n-types: Subscription type definitions - @manacore/shared-subscriptio n-ui: Subscription UI components (planned) EXTENDED PACKAGES: - @manacore/shared-types: Added auth.ts, theme.ts, ui.ts, common.ts - @manacore/shared-utils: Added format.ts, validation.ts APP MIGRATIONS: - memoro/web: Migrated login (549→46 LOC), tailwind (165→12 LOC), removed 15+ duplicate components - manacore/web: Migrated to client-side auth with shared-auth, added new components (Icon, ThemeToggle, Logo) - manadeck/web: Replaced local authService/tokenManager with shared-auth, migrated auth pages - maerchenzauber/web: Added auth setup, stores, components, routes DELETED FILES (migrated to shared packages): - OAuth buttons (Google/Apple) from memoro, manacore, manadeck - Local authService, tokenManager, deviceManager, jwt utils - Duplicate Modal, Toggle, Text components - iconPaths and ManaIcon components - Subscription-related components (CostCard, PackageCard, etc.) BENEFITS: - 92% reduction in login page code - 93% reduction in tailwind config code - Consistent theming across all apps - Single source of truth for auth logic - Easier maintenance and updates BREAKING CHANGES: - Icon imports now from @manacore/shared-icons - Modal imports from @manacore/shared-ui - OAuth config via setGoogleCl ientId()/setAppleConfig()",
"type": null,
"scope": null,
"additions": 11114,
"deletions": 3657,
"timestamp": "2025-11-24T21:09:20+01:00"
},
{
"hash": "96e0ace",
"short": "feat: implement unified theme system across all web apps",
"type": null,
"scope": null,
"additions": 2980,
"deletions": 1076,
"timestamp": "2025-11-24T21:51:24+01:00"
},
{
"hash": "22cb7d2",
"short": "feat: unify UI components, AppSlider, and login screens across apps",
"type": null,
"scope": null,
"additions": 893,
"deletions": 22130,
"timestamp": "2025-11-24T21:53:44+01:00"
},
{
"hash": "afdc30b",
"short": "feat(shared-ui): add navigation components and form elements",
"type": "feat",
"scope": "shared-ui",
"additions": 1536,
"deletions": 22,
"timestamp": "2025-11-24T22:01:04+01:00"
},
{
"hash": "7d426d5",
"short": "feat: add shared-branding package and extend shared-utils",
"type": null,
"scope": null,
"additions": 493,
"deletions": 1,
"timestamp": "2025-11-24T22:12:24+01:00"
},
{
"hash": "74ccad3",
"short": "feat: unify utilities into shared packages (Tier 1)",
"type": null,
"scope": null,
"additions": 878,
"deletions": 648,
"timestamp": "2025-11-24T22:19:04+01:00"
},
{
"hash": "f93cb99",
"short": "fix: add missing @manacore/shared-branding dependency to web apps",
"type": null,
"scope": null,
"additions": 43,
"deletions": 12,
"timestamp": "2025-11-24T22:30:44+01:00"
},
{
"hash": "1032502",
"short": "feat: add Tier 2 shared components (stats, tags, media)",
"type": null,
"scope": null,
"additions": 513,
"deletions": 304,
"timestamp": "2025-11-24T22:39:15+01:00"
},
{
"hash": "9449fff",
"short": "feat: add Tier 3 shared auth store patterns",
"type": null,
"scope": null,
"additions": 717,
"deletions": 0,
"timestamp": "2025-11-24T23:54:27+01:00"
},
{
"hash": "294d1fc",
"short": "refactor: consolidate app logos into shared-branding package (Tier 4)",
"type": null,
"scope": null,
"additions": 112,
"deletions": 121,
"timestamp": "2025-11-25T00:06:21+01:00"
},
{
"hash": "c87641f",
"short": "feat: add shared credit service package (Tier 5)",
"type": null,
"scope": null,
"additions": 619,
"deletions": 12,
"timestamp": "2025-11-25T00:16:43+01:00"
},
{
"hash": "3c457f9",
"short": "feat: add layout components to shared-ui (Tier 6)",
"type": null,
"scope": null,
"additions": 413,
"deletions": 7,
"timestamp": "2025-11-25T00:28:52+01:00"
},
{
"hash": "5045d70",
"short": "feat: add form and layout components to shared-ui (Tier 6b)",
"type": null,
"scope": null,
"additions": 505,
"deletions": 1,
"timestamp": "2025-11-25T00:36:12+01:00"
},
{
"hash": "cacbd61",
"short": "feat: add sidebar enhancement components (Tier 7)",
"type": null,
"scope": null,
"additions": 306,
"deletions": 4,
"timestamp": "2025-11-25T00:42:46+01:00"
},
{
"hash": "bd869df",
"short": "feat: unify navigation with shared PillNavigation component",
"type": null,
"scope": null,
"additions": 984,
"deletions": 1520,
"timestamp": "2025-11-25T01:31:23+01:00"
},
{
"hash": "926ca23",
"short": "feat: add i18n localization with language switcher to all web apps",
"type": null,
"scope": null,
"additions": 7051,
"deletions": 2237,
"timestamp": "2025-11-25T01:41:25+01:00"
},
{
"hash": "39a9a61",
"short": "fix(manadeck): update Badge and Button variants to match shared-ui",
"type": "fix",
"scope": "manadeck",
"additions": 3,
"deletions": 3,
"timestamp": "2025-11-25T01:42:00+01:00"
},
{
"hash": "10cb295",
"short": "feat: add localized AppSlider translations for all web apps",
"type": null,
"scope": null,
"additions": 1084,
"deletions": 69,
"timestamp": "2025-11-25T02:09:39+01:00"
},
{
"hash": "9c584a2",
"short": "feat(maerchenzauber/web): add missing features for mobile app parity",
"type": "feat",
"scope": "maerchenzauber/web",
"additions": 3077,
"deletions": 10,
"timestamp": "2025-11-25T02:18:20+01:00"
},
{
"hash": "84f9343",
"short": "Feat: Login localization, design, märchenzauber feature complete webapp",
"type": null,
"scope": null,
"additions": 3229,
"deletions": 150,
"timestamp": "2025-11-25T02:19:40+01:00"
},
{
"hash": "1530efa",
"short": "feat(manadeck): migrate backend from Supabase to PostgreSQL with Drizzle ORM",
"type": "feat",
"scope": "manadeck",
"additions": 3428,
"deletions": 233,
"timestamp": "2025-11-25T02:39:39+01:00"
},
{
"hash": "be9df4a",
"short": "feat(manadeck): complete Supabase removal from frontend and backend",
"type": "feat",
"scope": "manadeck",
"additions": 91,
"deletions": 557,
"timestamp": "2025-11-25T02:49:34+01:00"
},
{
"hash": "4bdb5de",
"short": "feat(manadeck): implement AI deck generation with Google Gemini",
"type": "feat",
"scope": "manadeck",
"additions": 712,
"deletions": 79,
"timestamp": "2025-11-25T02:59:46+01:00"
},
{
"hash": "c6c4c5a",
"short": "feat(landing): add shared-landing-ui package and manadeck landing page",
"type": "feat",
"scope": "landing",
"additions": 3519,
"deletions": 381,
"timestamp": "2025-11-25T03:03:41+01:00"
},
{
"hash": "c712a25",
"short": "feat: integrate uload and picture, unify package naming",
"type": null,
"scope": null,
"additions": 189467,
"deletions": 456,
"timestamp": "2025-11-25T04:00:36+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-11-24
day: 2
view: macher
weekday: Montag
commits: 25
review: written
---
# Montag, 2025-11-24 — Tag 2 (Macher-Sicht)
## Stats
25 Commits, +233767 / 33690 LoC, 1557 Files. Top-Dirs: `uload/apps/web` (15%), `picture/apps/mobile` (9%), `picture/apps/landing` (9%), `memoro/apps/web` (7%), `picture/apps/web` (6%). Tags: manadeck, shared-ui, maerchenzauber/web, landing. Session 20:09 → 03:00 (~188 aktive Min, längster Fokus 92 Min).
## Commits
- `ef70a1a` Commit Message feat: implement comprehensive shared packages architecture for monorepo SUMMARY: Introduce 10 shared packages to unify common code across all 4 web apps, reducing ~3,000 lines of duplicated code and establishing consistent patterns for authentication, UI components, theming, and utilities. NEW SHARED PACKAGES: - @manacore/shared-auth: Unified auth logic (token management, JWT utils, fetch interceptor, storage/device/network adapters) - @manacore/shared-auth-ui: Reusable auth UI (LoginPage, RegisterPage, OAuth buttons for Google/Apple) - @manacore/shared-tailwind: Unified Tailwind config with 4 themes (lume, nature, stone, ocean) and light/dark mode support - @manacore/shared-icons: Phosphor-based icon library (40+ icons) - @manacore/shared-ui: Atomic design system (Text, Button, Badge, Toggle, Input, Modal) - @manacore/shared-i18n: Unified i18n setup with locale detection - @manacore/shared-config: Environment validation with Zod - @manacore/shared-subscriptio n-types: Subscription type definitions - @manacore/shared-subscriptio n-ui: Subscription UI components (planned) EXTENDED PACKAGES: - @manacore/shared-types: Added auth.ts, theme.ts, ui.ts, common.ts - @manacore/shared-utils: Added format.ts, validation.ts APP MIGRATIONS: - memoro/web: Migrated login (549→46 LOC), tailwind (165→12 LOC), removed 15+ duplicate components - manacore/web: Migrated to client-side auth with shared-auth, added new components (Icon, ThemeToggle, Logo) - manadeck/web: Replaced local authService/tokenManager with shared-auth, migrated auth pages - maerchenzauber/web: Added auth setup, stores, components, routes DELETED FILES (migrated to shared packages): - OAuth buttons (Google/Apple) from memoro, manacore, manadeck - Local authService, tokenManager, deviceManager, jwt utils - Duplicate Modal, Toggle, Text components - iconPaths and ManaIcon components - Subscription-related components (CostCard, PackageCard, etc.) BENEFITS: - 92% reduction in login page code - 93% reduction in tailwind config code - Consistent theming across all apps - Single source of truth for auth logic - Easier maintenance and updates BREAKING CHANGES: - Icon imports now from @manacore/shared-icons - Modal imports from @manacore/shared-ui - OAuth config via setGoogleCl ientId()/setAppleConfig() (+11114/-3657)
- `96e0ace` feat: implement unified theme system across all web apps (+2980/-1076)
- `22cb7d2` feat: unify UI components, AppSlider, and login screens across apps (+893/-22130)
- `afdc30b` feat(shared-ui): add navigation components and form elements (+1536/-22)
- `7d426d5` feat: add shared-branding package and extend shared-utils (+493/-1)
- `74ccad3` feat: unify utilities into shared packages (Tier 1) (+878/-648)
- `f93cb99` fix: add missing @manacore/shared-branding dependency to web apps (+43/-12)
- `1032502` feat: add Tier 2 shared components (stats, tags, media) (+513/-304)
- `9449fff` feat: add Tier 3 shared auth store patterns (+717/-0)
- `294d1fc` refactor: consolidate app logos into shared-branding package (Tier 4) (+112/-121)
- `c87641f` feat: add shared credit service package (Tier 5) (+619/-12)
- `3c457f9` feat: add layout components to shared-ui (Tier 6) (+413/-7)
- `5045d70` feat: add form and layout components to shared-ui (Tier 6b) (+505/-1)
- `cacbd61` feat: add sidebar enhancement components (Tier 7) (+306/-4)
- `bd869df` feat: unify navigation with shared PillNavigation component (+984/-1520)
- `926ca23` feat: add i18n localization with language switcher to all web apps (+7051/-2237)
- `39a9a61` fix(manadeck): update Badge and Button variants to match shared-ui (+3/-3)
- `10cb295` feat: add localized AppSlider translations for all web apps (+1084/-69)
- `9c584a2` feat(maerchenzauber/web): add missing features for mobile app parity (+3077/-10)
- `84f9343` Feat: Login localization, design, märchenzauber feature complete webapp (+3229/-150)
_… plus 5 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-11-24
day: 2
view: spieler
weekday: Montag
commits: 25
review: written
---
# Montag, 2025-11-24 — Tag 2
Dichter Tag in **uload** und Umgebung.
## Highlights
- Commit Message feat: implement comprehensive shared packages architecture for monorepo SUMMARY: Introduce 10 shared packages to unify common code across all 4 web apps, reducing ~3,000 lines of duplicated code and establishing consistent patterns for authentication, UI components, theming, and utilities. NEW SHARED PACKAGES: - @manacore/shared-auth: Unified auth logic (token management, JWT utils, fetch interceptor, storage/device/network adapters) - @manacore/shared-auth-ui: Reusable auth UI (LoginPage, RegisterPage, OAuth buttons for Google/Apple) - @manacore/shared-tailwind: Unified Tailwind config with 4 themes (lume, nature, stone, ocean) and light/dark mode support - @manacore/shared-icons: Phosphor-based icon library (40+ icons) - @manacore/shared-ui: Atomic design system (Text, Button, Badge, Toggle, Input, Modal) - @manacore/shared-i18n: Unified i18n setup with locale detection - @manacore/shared-config: Environment validation with Zod - @manacore/shared-subscriptio n-types: Subscription type definitions - @manacore/shared-subscriptio n-ui: Subscription UI components (planned) EXTENDED PACKAGES: - @manacore/shared-types: Added auth.ts, theme.ts, ui.ts, common.ts - @manacore/shared-utils: Added format.ts, validation.ts APP MIGRATIONS: - memoro/web: Migrated login (549→46 LOC), tailwind (165→12 LOC), removed 15+ duplicate components - manacore/web: Migrated to client-side auth with shared-auth, added new components (Icon, ThemeToggle, Logo) - manadeck/web: Replaced local authService/tokenManager with shared-auth, migrated auth pages - maerchenzauber/web: Added auth setup, stores, components, routes DELETED FILES (migrated to shared packages): - OAuth buttons (Google/Apple) from memoro, manacore, manadeck - Local authService, tokenManager, deviceManager, jwt utils - Duplicate Modal, Toggle, Text components - iconPaths and ManaIcon components - Subscription-related components (CostCard, PackageCard, etc.) BENEFITS: - 92% reduction in login page code - 93% reduction in tailwind config code - Consistent theming across all apps - Single source of truth for auth logic - Easier maintenance and updates BREAKING CHANGES: - Icon imports now from @manacore/shared-icons - Modal imports from @manacore/shared-ui - OAuth config via setGoogleCl ientId()/setAppleConfig()
- implement unified theme system across all web apps
- unify UI components, AppSlider, and login screens across apps
- add navigation components and form elements
- add shared-branding package and extend shared-utils

248
devlog/2025-11-25/data.json Normal file
View file

@ -0,0 +1,248 @@
{
"date": "2025-11-25",
"day_number": 3,
"weekday": "Dienstag",
"commits": 14,
"authors": [
{
"name": "Till-JS",
"count": 9
},
{
"name": "Wuesteon",
"count": 5
}
],
"additions": 109563,
"deletions": 11046,
"net_lines": 98517,
"files_changed": 4792,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-11-25T11:02:52.000Z",
"last_commit_at": "2025-11-26T02:03:24.000Z",
"total_span_minutes": 901,
"active_minutes": 33,
"pauses": [
{
"from": "12:02",
"to": "13:01",
"minutes": 59
},
{
"from": "13:01",
"to": "13:48",
"minutes": 47
},
{
"from": "13:49",
"to": "15:54",
"minutes": 126
},
{
"from": "15:57",
"to": "17:52",
"minutes": 115
},
{
"from": "18:20",
"to": "18:56",
"minutes": 36
},
{
"from": "18:57",
"to": "01:30",
"minutes": 393
},
{
"from": "01:31",
"to": "03:03",
"minutes": 92
}
],
"longest_focus_minutes": 28
},
"top_dirs": [
{
"path": "{memoro => apps/memoro}/apps",
"pct": 28
},
{
"path": "{maerchenzauber => apps/maerchenzauber}/apps",
"pct": 11
},
{
"path": "{picture => apps/picture}/apps",
"pct": 9
},
{
"path": "{uload => apps/uload}/apps",
"pct": 6
},
{
"path": "{manacore => apps/manacore}/apps",
"pct": 5
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 1267
},
{
"ext": ".md",
"count": 724
},
{
"ext": ".tsx",
"count": 645
},
{
"ext": ".svelte",
"count": 434
},
{
"ext": ".json",
"count": 352
},
{
"ext": ".astro",
"count": 343
}
],
"tags": ["chat", "uload", "nutriphi", "picture"],
"commits_list": [
{
"hash": "559eb08",
"short": "fix(uload): update Docker config and add env examples to apps/web",
"type": "fix",
"scope": "uload",
"additions": 605,
"deletions": 172,
"timestamp": "2025-11-25T12:02:52+01:00"
},
{
"hash": "fcf3a34",
"short": "Feat: New project chat, uload refactor (postgress), hosting plans, uload landingpage",
"type": null,
"scope": null,
"additions": 7100,
"deletions": 3709,
"timestamp": "2025-11-25T13:01:41+01:00"
},
{
"hash": "c638a7f",
"short": "feat(chat): integrate chat project into monorepo with full app structure",
"type": "feat",
"scope": "chat",
"additions": 22644,
"deletions": 370,
"timestamp": "2025-11-25T13:48:24+01:00"
},
{
"hash": "ba3e053",
"short": "Feat: Overview doc",
"type": null,
"scope": null,
"additions": 1326,
"deletions": 0,
"timestamp": "2025-11-25T13:49:00+01:00"
},
{
"hash": "9a84cc0",
"short": "feat(chat): add SvelteKit web app with full feature parity to mobile",
"type": "feat",
"scope": "chat",
"additions": 7187,
"deletions": 42,
"timestamp": "2025-11-25T15:54:44+01:00"
},
{
"hash": "ce71db2",
"short": "Feat: docs",
"type": null,
"scope": null,
"additions": 65,
"deletions": 0,
"timestamp": "2025-11-25T15:57:23+01:00"
},
{
"hash": "6537863",
"short": "feat(nutriphi): migrate from Supabase to PostgreSQL + Hetzner S3",
"type": "feat",
"scope": "nutriphi",
"additions": 15225,
"deletions": 159,
"timestamp": "2025-11-25T17:52:14+01:00"
},
{
"hash": "36b85fc",
"short": "fix(picture): migrate to Astro 5.x content collections and fix TypeScript errors",
"type": "fix",
"scope": "picture",
"additions": 248,
"deletions": 60,
"timestamp": "2025-11-25T18:13:57+01:00"
},
{
"hash": "865d74f",
"short": "Feat: Landingpages centralized, new app news integrated",
"type": null,
"scope": null,
"additions": 8242,
"deletions": 610,
"timestamp": "2025-11-25T18:20:17+01:00"
},
{
"hash": "754e87e",
"short": "add mana core",
"type": null,
"scope": null,
"additions": 34751,
"deletions": 534,
"timestamp": "2025-11-25T18:56:35+01:00"
},
{
"hash": "28d167a",
"short": "Merge branch 'feat/mana-core'",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-11-25T18:57:32+01:00"
},
{
"hash": "7a1f1e9",
"short": "make auth working",
"type": null,
"scope": null,
"additions": 301,
"deletions": 51,
"timestamp": "2025-11-26T01:30:51+01:00"
},
{
"hash": "25824ed",
"short": "make auth working",
"type": null,
"scope": null,
"additions": 9103,
"deletions": 3887,
"timestamp": "2025-11-26T01:31:12+01:00"
},
{
"hash": "ff80aee",
"short": "refactor: restructure monorepo with apps/ and services/ directories",
"type": null,
"scope": null,
"additions": 2766,
"deletions": 1452,
"timestamp": "2025-11-26T03:03:24+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,31 @@
---
date: 2025-11-25
day: 3
view: macher
weekday: Dienstag
commits: 14
review: written
---
# Dienstag, 2025-11-25 — Tag 3 (Macher-Sicht)
## Stats
14 Commits, +109563 / 11046 LoC, 4792 Files. Top-Dirs: `{memoro => apps/memoro}/apps` (28%), `{maerchenzauber => apps/maerchenzauber}/apps` (11%), `{picture => apps/picture}/apps` (9%), `{uload => apps/uload}/apps` (6%), `{manacore => apps/manacore}/apps` (5%). Tags: chat, uload, nutriphi, picture. Session 11:02 → 02:03 (~33 aktive Min, längster Fokus 28 Min).
## Commits
- `559eb08` fix(uload): update Docker config and add env examples to apps/web (+605/-172)
- `fcf3a34` Feat: New project chat, uload refactor (postgress), hosting plans, uload landingpage (+7100/-3709)
- `c638a7f` feat(chat): integrate chat project into monorepo with full app structure (+22644/-370)
- `ba3e053` Feat: Overview doc (+1326/-0)
- `9a84cc0` feat(chat): add SvelteKit web app with full feature parity to mobile (+7187/-42)
- `ce71db2` Feat: docs (+65/-0)
- `6537863` feat(nutriphi): migrate from Supabase to PostgreSQL + Hetzner S3 (+15225/-159)
- `36b85fc` fix(picture): migrate to Astro 5.x content collections and fix TypeScript errors (+248/-60)
- `865d74f` Feat: Landingpages centralized, new app news integrated (+8242/-610)
- `754e87e` add mana core (+34751/-534)
- `28d167a` Merge branch 'feat/mana-core' (+0/-0)
- `7a1f1e9` make auth working (+301/-51)
- `25824ed` make auth working (+9103/-3887)
- `ff80aee` refactor: restructure monorepo with apps/ and services/ directories (+2766/-1452)

View file

@ -0,0 +1,20 @@
---
date: 2025-11-25
day: 3
view: spieler
weekday: Dienstag
commits: 14
review: written
---
# Dienstag, 2025-11-25 — Tag 3
Dichter Tag in **{memoro => apps** und Umgebung.
## Highlights
- update Docker config and add env examples to apps/web
- New project chat, uload refactor (postgress), hosting plans, uload landingpage
- integrate chat project into monorepo with full app structure
- Overview doc
- add SvelteKit web app with full feature parity to mobile

147
devlog/2025-11-26/data.json Normal file
View file

@ -0,0 +1,147 @@
{
"date": "2025-11-26",
"day_number": 4,
"weekday": "Mittwoch",
"commits": 5,
"authors": [
{
"name": "Wuesteon",
"count": 3
},
{
"name": "Till-JS",
"count": 2
}
],
"additions": 10169,
"deletions": 1909,
"net_lines": 8260,
"files_changed": 139,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-11-26T12:08:50.000Z",
"last_commit_at": "2025-11-27T01:25:37.000Z",
"total_span_minutes": 797,
"active_minutes": 12,
"pauses": [
{
"from": "13:08",
"to": "13:50",
"minutes": 42
},
{
"from": "14:02",
"to": "17:26",
"minutes": 203
},
{
"from": "17:26",
"to": "02:25",
"minutes": 540
}
],
"longest_focus_minutes": 12
},
"top_dirs": [
{
"path": "apps/picture/apps/backend",
"pct": 37
},
{
"path": "apps/picture/apps/web",
"pct": 18
},
{
"path": "apps/chat/apps/mobile",
"pct": 10
},
{
"path": "apps/nutriphi/apps/backend",
"pct": 7
},
{
"path": "apps/nutriphi/apps/mobile",
"pct": 6
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 105
},
{
"ext": ".json",
"count": 16
},
{
"ext": ".tsx",
"count": 9
},
{
"ext": ".md",
"count": 3
},
{
"ext": ".mjs",
"count": 3
},
{
"ext": ".example",
"count": 3
}
],
"tags": [],
"commits_list": [
{
"hash": "2328b89",
"short": "🧑‍💻 chore: add centralized environment variable system",
"type": null,
"scope": null,
"additions": 675,
"deletions": 2,
"timestamp": "2025-11-26T13:08:50+01:00"
},
{
"hash": "5b7d6fa",
"short": "fix env",
"type": null,
"scope": null,
"additions": 10,
"deletions": 10,
"timestamp": "2025-11-26T13:50:52+01:00"
},
{
"hash": "c6b95ee",
"short": "🧑‍💻 chore: add build:packages script and auto-build on install",
"type": null,
"scope": null,
"additions": 2,
"deletions": 1,
"timestamp": "2025-11-26T14:02:48+01:00"
},
{
"hash": "046a0e3",
"short": "Fix: Picture App envs",
"type": null,
"scope": null,
"additions": 31,
"deletions": 0,
"timestamp": "2025-11-26T17:26:07+01:00"
},
{
"hash": "98efa6f",
"short": "Feat: Refactor postgress",
"type": null,
"scope": null,
"additions": 9451,
"deletions": 1896,
"timestamp": "2025-11-27T02:25:37+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,22 @@
---
date: 2025-11-26
day: 4
view: macher
weekday: Mittwoch
commits: 5
review: written
---
# Mittwoch, 2025-11-26 — Tag 4 (Macher-Sicht)
## Stats
5 Commits, +10169 / 1909 LoC, 139 Files. Top-Dirs: `apps/picture/apps/backend` (37%), `apps/picture/apps/web` (18%), `apps/chat/apps/mobile` (10%), `apps/nutriphi/apps/backend` (7%), `apps/nutriphi/apps/mobile` (6%). Tags: —. Session 12:08 → 01:25 (~12 aktive Min, längster Fokus 12 Min).
## Commits
- `2328b89` 🧑‍💻 chore: add centralized environment variable system (+675/-2)
- `5b7d6fa` fix env (+10/-10)
- `c6b95ee` 🧑‍💻 chore: add build:packages script and auto-build on install (+2/-1)
- `046a0e3` Fix: Picture App envs (+31/-0)
- `98efa6f` Feat: Refactor postgress (+9451/-1896)

View file

@ -0,0 +1,20 @@
---
date: 2025-11-26
day: 4
view: spieler
weekday: Mittwoch
commits: 5
review: written
---
# Mittwoch, 2025-11-26 — Tag 4
Kurzer Arbeitstag, Schwerpunkt **apps**.
## Highlights
- 🧑‍💻 chore: add centralized environment variable system
- fix env
- 🧑‍💻 chore: add build:packages script and auto-build on install
- Picture App envs
- Refactor postgress

326
devlog/2025-11-27/data.json Normal file
View file

@ -0,0 +1,326 @@
{
"date": "2025-11-27",
"day_number": 5,
"weekday": "Donnerstag",
"commits": 26,
"authors": [
{
"name": "Till-JS",
"count": 16
},
{
"name": "Wuesteon",
"count": 10
}
],
"additions": 1450995,
"deletions": 768187,
"net_lines": 682808,
"files_changed": 4526,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-11-27T13:21:49.000Z",
"last_commit_at": "2025-11-27T18:53:03.000Z",
"total_span_minutes": 331,
"active_minutes": 239,
"pauses": [
{
"from": "15:54",
"to": "17:26",
"minutes": 92
}
],
"longest_focus_minutes": 147
},
"top_dirs": [
{
"path": "apps/memoro/apps/mobile",
"pct": 10
},
{
"path": "apps/bauntown/apps/landing",
"pct": 8
},
{
"path": "apps/quote/apps/mobile",
"pct": 6
},
{
"path": "apps/memoro/apps/landing",
"pct": 5
},
{
"path": "apps/uload/apps/web",
"pct": 4
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 1705
},
{
"ext": ".tsx",
"count": 823
},
{
"ext": ".md",
"count": 812
},
{
"ext": ".svelte",
"count": 489
},
{
"ext": ".astro",
"count": 471
},
{
"ext": ".json",
"count": 461
}
],
"tags": ["picture", "presi", "ci", "transcriber", "quote"],
"commits_list": [
{
"hash": "4b08c41",
"short": "feat(transcriber): Add YouTube transcriber app to monorepo",
"type": "feat",
"scope": "transcriber",
"additions": 19436,
"deletions": 411,
"timestamp": "2025-11-27T14:21:49+01:00"
},
{
"hash": "3a8d6bc",
"short": "feat(picture): migrate batch generation from Supabase to NestJS API",
"type": "feat",
"scope": "picture",
"additions": 3934,
"deletions": 249,
"timestamp": "2025-11-27T14:44:01+01:00"
},
{
"hash": "ea3285d",
"short": "feat(quote): integrate Quote app into monorepo",
"type": "feat",
"scope": "quote",
"additions": 645599,
"deletions": 8,
"timestamp": "2025-11-27T14:44:33+01:00"
},
{
"hash": "cb56575",
"short": "feat(wisekeep): rename transcriber app to wisekeep",
"type": "feat",
"scope": "wisekeep",
"additions": 28,
"deletions": 24,
"timestamp": "2025-11-27T14:44:44+01:00"
},
{
"hash": "14aace0",
"short": "feat(manadeck): migrate stores to backend API and remove audio features",
"type": "feat",
"scope": "manadeck",
"additions": 2394,
"deletions": 1611,
"timestamp": "2025-11-27T14:47:14+01:00"
},
{
"hash": "c561c4c",
"short": "feat(picture): migrate from Supabase to NestJS backend API",
"type": "feat",
"scope": "picture",
"additions": 2622,
"deletions": 8531,
"timestamp": "2025-11-27T14:47:23+01:00"
},
{
"hash": "cc6ca02",
"short": "chore(nutriphi): update config and type definitions",
"type": "chore",
"scope": "nutriphi",
"additions": 3,
"deletions": 13,
"timestamp": "2025-11-27T14:47:28+01:00"
},
{
"hash": "7abfc4c",
"short": "docs: add Hetzner deployment guide and update lockfile",
"type": null,
"scope": null,
"additions": 1572,
"deletions": 261,
"timestamp": "2025-11-27T14:47:35+01:00"
},
{
"hash": "4f7052b",
"short": "chore: add games folder structure to monorepo",
"type": null,
"scope": null,
"additions": 12,
"deletions": 1,
"timestamp": "2025-11-27T15:06:59+01:00"
},
{
"hash": "d35ba76",
"short": "chore: add bauntown project to monorepo configuration",
"type": null,
"scope": null,
"additions": 4792,
"deletions": 1141,
"timestamp": "2025-11-27T15:10:15+01:00"
},
{
"hash": "5b1e12e",
"short": "feat: add new projects bauntown, presi, voxel-lava, whopixels",
"type": null,
"scope": null,
"additions": 46356,
"deletions": 0,
"timestamp": "2025-11-27T15:11:53+01:00"
},
{
"hash": "58a342b",
"short": "feat(reader): integrate reader app into monorepo structure",
"type": "feat",
"scope": "reader",
"additions": 9831,
"deletions": 7,
"timestamp": "2025-11-27T15:31:38+01:00"
},
{
"hash": "607ca19",
"short": "feat: integrate presi and voxel-lava into monorepo structure",
"type": null,
"scope": null,
"additions": 4188,
"deletions": 609,
"timestamp": "2025-11-27T15:33:28+01:00"
},
{
"hash": "1c64359",
"short": "feat(presi): add share deck feature for public presentation viewing",
"type": "feat",
"scope": "presi",
"additions": 736,
"deletions": 15,
"timestamp": "2025-11-27T15:38:25+01:00"
},
{
"hash": "658ebe0",
"short": "docs(voxel-lava): add project documentation and env config",
"type": "docs",
"scope": "voxel-lava",
"additions": 152,
"deletions": 0,
"timestamp": "2025-11-27T15:46:57+01:00"
},
{
"hash": "9e14119",
"short": "fix(presi): fix TypeScript errors and add missing theme module",
"type": "fix",
"scope": "presi",
"additions": 77,
"deletions": 26,
"timestamp": "2025-11-27T15:54:21+01:00"
},
{
"hash": "74dc689",
"short": "first implementation",
"type": null,
"scope": null,
"additions": 28993,
"deletions": 3028,
"timestamp": "2025-11-27T17:26:18+01:00"
},
{
"hash": "0ec0396",
"short": "Merge branch 'feature/cicd' into cicd/integration",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-11-27T17:34:13+01:00"
},
{
"hash": "f55962e",
"short": "docs: add comprehensive CI/CD documentation hub",
"type": null,
"scope": null,
"additions": 3152,
"deletions": 0,
"timestamp": "2025-11-27T18:04:07+01:00"
},
{
"hash": "0241f55",
"short": "fix(cicd): docker paths, formatting config, and documentation",
"type": "fix",
"scope": "cicd",
"additions": 2173,
"deletions": 187,
"timestamp": "2025-11-27T18:33:08+01:00"
},
{
"hash": "d36b321",
"short": "style: auto-format codebase with Prettier",
"type": null,
"scope": null,
"additions": 673657,
"deletions": 751910,
"timestamp": "2025-11-27T18:33:16+01:00"
},
{
"hash": "47a3bf9",
"short": "🩹 fix(memoro): remove orphaned patch file",
"type": null,
"scope": null,
"additions": 0,
"deletions": 30,
"timestamp": "2025-11-27T18:41:22+01:00"
},
{
"hash": "c012226",
"short": "🔥 fix(docker): remove deprecated mana-core-nestjs-package",
"type": null,
"scope": null,
"additions": 4,
"deletions": 72,
"timestamp": "2025-11-27T18:59:48+01:00"
},
{
"hash": "e6f7a4a",
"short": "🔧 ci: simplify to focus on chat and manacore only",
"type": null,
"scope": null,
"additions": 7,
"deletions": 48,
"timestamp": "2025-11-27T19:21:06+01:00"
},
{
"hash": "0cea08f",
"short": "fix(ci): resolve turbo recursive build loop and filter issues",
"type": "fix",
"scope": "ci",
"additions": 1276,
"deletions": 5,
"timestamp": "2025-11-27T19:26:28+01:00"
},
{
"hash": "8f7c639",
"short": "fix(ci): make format check non-blocking",
"type": "fix",
"scope": "ci",
"additions": 1,
"deletions": 0,
"timestamp": "2025-11-27T19:53:03+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-11-27
day: 5
view: macher
weekday: Donnerstag
commits: 26
review: written
---
# Donnerstag, 2025-11-27 — Tag 5 (Macher-Sicht)
## Stats
26 Commits, +1450995 / 768187 LoC, 4526 Files. Top-Dirs: `apps/memoro/apps/mobile` (10%), `apps/bauntown/apps/landing` (8%), `apps/quote/apps/mobile` (6%), `apps/memoro/apps/landing` (5%), `apps/uload/apps/web` (4%). Tags: picture, presi, ci, transcriber, quote. Session 13:21 → 18:53 (~239 aktive Min, längster Fokus 147 Min).
## Commits
- `4b08c41` feat(transcriber): Add YouTube transcriber app to monorepo (+19436/-411)
- `3a8d6bc` feat(picture): migrate batch generation from Supabase to NestJS API (+3934/-249)
- `ea3285d` feat(quote): integrate Quote app into monorepo (+645599/-8)
- `cb56575` feat(wisekeep): rename transcriber app to wisekeep (+28/-24)
- `14aace0` feat(manadeck): migrate stores to backend API and remove audio features (+2394/-1611)
- `c561c4c` feat(picture): migrate from Supabase to NestJS backend API (+2622/-8531)
- `cc6ca02` chore(nutriphi): update config and type definitions (+3/-13)
- `7abfc4c` docs: add Hetzner deployment guide and update lockfile (+1572/-261)
- `4f7052b` chore: add games folder structure to monorepo (+12/-1)
- `d35ba76` chore: add bauntown project to monorepo configuration (+4792/-1141)
- `5b1e12e` feat: add new projects bauntown, presi, voxel-lava, whopixels (+46356/-0)
- `58a342b` feat(reader): integrate reader app into monorepo structure (+9831/-7)
- `607ca19` feat: integrate presi and voxel-lava into monorepo structure (+4188/-609)
- `1c64359` feat(presi): add share deck feature for public presentation viewing (+736/-15)
- `658ebe0` docs(voxel-lava): add project documentation and env config (+152/-0)
- `9e14119` fix(presi): fix TypeScript errors and add missing theme module (+77/-26)
- `74dc689` first implementation (+28993/-3028)
- `0ec0396` Merge branch 'feature/cicd' into cicd/integration (+0/-0)
- `f55962e` docs: add comprehensive CI/CD documentation hub (+3152/-0)
- `0241f55` fix(cicd): docker paths, formatting config, and documentation (+2173/-187)
_… plus 6 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-11-27
day: 5
view: spieler
weekday: Donnerstag
commits: 26
review: written
---
# Donnerstag, 2025-11-27 — Tag 5
Dichter Tag in **apps** und Umgebung.
## Highlights
- Add YouTube transcriber app to monorepo
- migrate batch generation from Supabase to NestJS API
- integrate Quote app into monorepo
- rename transcriber app to wisekeep
- migrate stores to backend API and remove audio features

253
devlog/2025-11-28/data.json Normal file
View file

@ -0,0 +1,253 @@
{
"date": "2025-11-28",
"day_number": 6,
"weekday": "Freitag",
"commits": 19,
"authors": [
{
"name": "Till-JS",
"count": 19
}
],
"additions": 33366,
"deletions": 2495,
"net_lines": 30871,
"files_changed": 483,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-11-28T19:13:14.000Z",
"last_commit_at": "2025-11-28T20:31:46.000Z",
"total_span_minutes": 79,
"active_minutes": 79,
"pauses": [],
"longest_focus_minutes": 79
},
"top_dirs": [
{
"path": "apps/{quote => zitare}/apps/mobile",
"pct": 37
},
{
"path": "games/mana-games/apps",
"pct": 21
},
{
"path": "apps/{quote => zitare}/apps/web",
"pct": 5
},
{
"path": "apps/picture/apps/web",
"pct": 5
},
{
"path": "apps/{quote => zitare}/packages/web-ui",
"pct": 4
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 190
},
{
"ext": ".svelte",
"count": 80
},
{
"ext": ".tsx",
"count": 44
},
{
"ext": ".json",
"count": 33
},
{
"ext": ".astro",
"count": 25
},
{
"ext": ".html",
"count": 24
}
],
"tags": ["wisekeep", "manadeck", "zitare", "chat", "shared-branding"],
"commits_list": [
{
"hash": "23f8950",
"short": "feat(games): add mana-games - AI-powered browser games platform",
"type": "feat",
"scope": "games",
"additions": 29217,
"deletions": 0,
"timestamp": "2025-11-28T20:13:14+01:00"
},
{
"hash": "75a2527",
"short": "feat(zitare): rename quote project to zitare and add global search",
"type": "feat",
"scope": "zitare",
"additions": 841,
"deletions": 224,
"timestamp": "2025-11-28T20:14:19+01:00"
},
{
"hash": "468b7b7",
"short": "fix(zitare): resolve layout overlap with fixed navigation",
"type": "fix",
"scope": "zitare",
"additions": 49,
"deletions": 7,
"timestamp": "2025-11-28T20:21:20+01:00"
},
{
"hash": "5e15f57",
"short": "feat(picture): migrate to mana-core auth and update AI models",
"type": "feat",
"scope": "picture",
"additions": 176,
"deletions": 616,
"timestamp": "2025-11-28T20:27:39+01:00"
},
{
"hash": "79acf8b",
"short": "feat(presi): add PillNavigation and fix auth service JWT parsing",
"type": "feat",
"scope": "presi",
"additions": 540,
"deletions": 506,
"timestamp": "2025-11-28T20:49:45+01:00"
},
{
"hash": "1958cf2",
"short": "fix(chat): resolve CORS and build issues for local development",
"type": "fix",
"scope": "chat",
"additions": 5,
"deletions": 2,
"timestamp": "2025-11-28T20:51:14+01:00"
},
{
"hash": "0acd7c3",
"short": "feat(shared-branding): add global app icons and centralized app config",
"type": "feat",
"scope": "shared-branding",
"additions": 360,
"deletions": 26,
"timestamp": "2025-11-28T20:54:50+01:00"
},
{
"hash": "87abafd",
"short": "feat(chat): migrate auth pages to shared-auth-ui with AppSlider",
"type": "feat",
"scope": "chat",
"additions": 91,
"deletions": 275,
"timestamp": "2025-11-28T20:57:23+01:00"
},
{
"hash": "eae083a",
"short": "feat(shared-branding): add Presi app branding",
"type": "feat",
"scope": "shared-branding",
"additions": 28,
"deletions": 1,
"timestamp": "2025-11-28T20:58:45+01:00"
},
{
"hash": "f7c9612",
"short": "chore(wisekeep): add shared package dependencies",
"type": "chore",
"scope": "wisekeep",
"additions": 6,
"deletions": 0,
"timestamp": "2025-11-28T20:58:54+01:00"
},
{
"hash": "a34a341",
"short": "chore: update pnpm lockfile",
"type": null,
"scope": null,
"additions": 1241,
"deletions": 733,
"timestamp": "2025-11-28T20:58:59+01:00"
},
{
"hash": "c90c79d",
"short": "feat(mana-core-nestjs): add OptionalAuthGuard and Public decorator",
"type": "feat",
"scope": "mana-core-nestjs",
"additions": 100,
"deletions": 0,
"timestamp": "2025-11-28T21:02:20+01:00"
},
{
"hash": "bc21a25",
"short": "feat(manadeck): add mana-core auth integration",
"type": "feat",
"scope": "manadeck",
"additions": 3,
"deletions": 0,
"timestamp": "2025-11-28T21:03:17+01:00"
},
{
"hash": "6b8ab58",
"short": "feat(wisekeep): add auth routes and protected layout",
"type": "feat",
"scope": "wisekeep",
"additions": 554,
"deletions": 51,
"timestamp": "2025-11-28T21:03:29+01:00"
},
{
"hash": "48df2b8",
"short": "chore: update pnpm lockfile",
"type": null,
"scope": null,
"additions": 46,
"deletions": 1,
"timestamp": "2025-11-28T21:03:34+01:00"
},
{
"hash": "3339aa2",
"short": "fix(manadeck): align study session with schema",
"type": "fix",
"scope": "manadeck",
"additions": 3,
"deletions": 2,
"timestamp": "2025-11-28T21:03:48+01:00"
},
{
"hash": "47056ac",
"short": "fix(wisekeep): use dynamic env for API URL",
"type": "fix",
"scope": "wisekeep",
"additions": 2,
"deletions": 2,
"timestamp": "2025-11-28T21:04:01+01:00"
},
{
"hash": "e3eae2c",
"short": "feat(wisekeep): add mana-core authentication to web app",
"type": "feat",
"scope": "wisekeep",
"additions": 65,
"deletions": 22,
"timestamp": "2025-11-28T21:30:40+01:00"
},
{
"hash": "f1e27f3",
"short": "fix(manadeck): resolve backend startup and auth configuration issues",
"type": "fix",
"scope": "manadeck",
"additions": 39,
"deletions": 27,
"timestamp": "2025-11-28T21:31:46+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,36 @@
---
date: 2025-11-28
day: 6
view: macher
weekday: Freitag
commits: 19
review: written
---
# Freitag, 2025-11-28 — Tag 6 (Macher-Sicht)
## Stats
19 Commits, +33366 / 2495 LoC, 483 Files. Top-Dirs: `apps/{quote => zitare}/apps/mobile` (37%), `games/mana-games/apps` (21%), `apps/{quote => zitare}/apps/web` (5%), `apps/picture/apps/web` (5%), `apps/{quote => zitare}/packages/web-ui` (4%). Tags: wisekeep, manadeck, zitare, chat, shared-branding. Session 19:13 → 20:31 (~79 aktive Min, längster Fokus 79 Min).
## Commits
- `23f8950` feat(games): add mana-games - AI-powered browser games platform (+29217/-0)
- `75a2527` feat(zitare): rename quote project to zitare and add global search (+841/-224)
- `468b7b7` fix(zitare): resolve layout overlap with fixed navigation (+49/-7)
- `5e15f57` feat(picture): migrate to mana-core auth and update AI models (+176/-616)
- `79acf8b` feat(presi): add PillNavigation and fix auth service JWT parsing (+540/-506)
- `1958cf2` fix(chat): resolve CORS and build issues for local development (+5/-2)
- `0acd7c3` feat(shared-branding): add global app icons and centralized app config (+360/-26)
- `87abafd` feat(chat): migrate auth pages to shared-auth-ui with AppSlider (+91/-275)
- `eae083a` feat(shared-branding): add Presi app branding (+28/-1)
- `f7c9612` chore(wisekeep): add shared package dependencies (+6/-0)
- `a34a341` chore: update pnpm lockfile (+1241/-733)
- `c90c79d` feat(mana-core-nestjs): add OptionalAuthGuard and Public decorator (+100/-0)
- `bc21a25` feat(manadeck): add mana-core auth integration (+3/-0)
- `6b8ab58` feat(wisekeep): add auth routes and protected layout (+554/-51)
- `48df2b8` chore: update pnpm lockfile (+46/-1)
- `3339aa2` fix(manadeck): align study session with schema (+3/-2)
- `47056ac` fix(wisekeep): use dynamic env for API URL (+2/-2)
- `e3eae2c` feat(wisekeep): add mana-core authentication to web app (+65/-22)
- `f1e27f3` fix(manadeck): resolve backend startup and auth configuration issues (+39/-27)

View file

@ -0,0 +1,20 @@
---
date: 2025-11-28
day: 6
view: spieler
weekday: Freitag
commits: 19
review: written
---
# Freitag, 2025-11-28 — Tag 6
Dichter Tag in **apps** und Umgebung.
## Highlights
- add mana-games - AI-powered browser games platform
- rename quote project to zitare and add global search
- resolve layout overlap with fixed navigation
- migrate to mana-core auth and update AI models
- add PillNavigation and fix auth service JWT parsing

586
devlog/2025-11-29/data.json Normal file
View file

@ -0,0 +1,586 @@
{
"date": "2025-11-29",
"day_number": 7,
"weekday": "Samstag",
"commits": 52,
"authors": [
{
"name": "Till-JS",
"count": 52
}
],
"additions": 21935,
"deletions": 56265,
"net_lines": -34330,
"files_changed": 3484,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-11-29T05:04:35.000Z",
"last_commit_at": "2025-11-30T00:00:43.000Z",
"total_span_minutes": 1136,
"active_minutes": 194,
"pauses": [
{
"from": "06:06",
"to": "06:55",
"minutes": 48
},
{
"from": "07:03",
"to": "08:55",
"minutes": 112
},
{
"from": "09:24",
"to": "13:20",
"minutes": 236
},
{
"from": "13:24",
"to": "15:10",
"minutes": 106
},
{
"from": "16:04",
"to": "21:40",
"minutes": 336
},
{
"from": "21:40",
"to": "22:29",
"minutes": 48
},
{
"from": "23:10",
"to": "00:06",
"minutes": 56
}
],
"longest_focus_minutes": 54
},
"top_dirs": [
{
"path": "{apps => apps-archived}/memoro/apps",
"pct": 37
},
{
"path": "{apps => apps-archived}/maerchenzauber/apps",
"pct": 14
},
{
"path": "{apps => apps-archived}/uload/apps",
"pct": 8
},
{
"path": "{apps => apps-archived}/bauntown/apps",
"pct": 7
},
{
"path": "{apps => apps-archived}/nutriphi/apps",
"pct": 4
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 834
},
{
"ext": ".svelte",
"count": 582
},
{
"ext": ".md",
"count": 551
},
{
"ext": ".tsx",
"count": 391
},
{
"ext": ".astro",
"count": 265
},
{
"ext": ".mdx",
"count": 253
}
],
"tags": ["chat", "shared-ui", "theme", "manacore", "nutriphi"],
"commits_list": [
{
"hash": "8b61399",
"short": "feat(nutriphi): migrate to shared auth UI components",
"type": "feat",
"scope": "nutriphi",
"additions": 298,
"deletions": 266,
"timestamp": "2025-11-29T06:04:35+01:00"
},
{
"hash": "af8bb9b",
"short": "fix(wisekeep): improve auth flow and redirect handling",
"type": "fix",
"scope": "wisekeep",
"additions": 25,
"deletions": 29,
"timestamp": "2025-11-29T06:06:47+01:00"
},
{
"hash": "4eed414",
"short": "feat(shared-ui): extend PillNavigation with tab groups and migrate Picture app",
"type": "feat",
"scope": "shared-ui",
"additions": 660,
"deletions": 29,
"timestamp": "2025-11-29T06:55:14+01:00"
},
{
"hash": "655da23",
"short": "fix(presi): resolve CORS issues and add strictPort to all web apps",
"type": "fix",
"scope": "presi",
"additions": 27,
"deletions": 4,
"timestamp": "2025-11-29T06:58:00+01:00"
},
{
"hash": "b97149a",
"short": "feat(icons): migrate to phosphor-svelte for all icon usage",
"type": "feat",
"scope": "icons",
"additions": 256,
"deletions": 452,
"timestamp": "2025-11-29T07:02:59+01:00"
},
{
"hash": "61d181f",
"short": "chore: archive inactive projects to apps-archived/",
"type": null,
"scope": null,
"additions": 411,
"deletions": 46614,
"timestamp": "2025-11-29T07:03:59+01:00"
},
{
"hash": "1296928",
"short": "feat(shared-auth-ui): redesign login page with animations and theme support",
"type": "feat",
"scope": "shared-auth-ui",
"additions": 1076,
"deletions": 596,
"timestamp": "2025-11-29T08:55:56+01:00"
},
{
"hash": "54383bf",
"short": "feat(theme): add ThemePage components and distinct background colors",
"type": "feat",
"scope": "theme",
"additions": 1796,
"deletions": 1939,
"timestamp": "2025-11-29T09:03:20+01:00"
},
{
"hash": "8a4cc29",
"short": "feat(theme): add themes page to picture, manadeck, and presi apps",
"type": "feat",
"scope": "theme",
"additions": 150,
"deletions": 6,
"timestamp": "2025-11-29T09:14:12+01:00"
},
{
"hash": "b9608bd",
"short": "fix(picture): resolve all TypeScript type errors",
"type": "fix",
"scope": "picture",
"additions": 71,
"deletions": 82,
"timestamp": "2025-11-29T09:17:55+01:00"
},
{
"hash": "f436fbb",
"short": "feat(theme): migrate theme emojis to Phosphor icons and integrate theme system into Zitare",
"type": "feat",
"scope": "theme",
"additions": 299,
"deletions": 327,
"timestamp": "2025-11-29T09:24:32+01:00"
},
{
"hash": "3cfa6a7",
"short": "feat(shared-ui): add theme mode selector to PillNavigation dropdown",
"type": "feat",
"scope": "shared-ui",
"additions": 166,
"deletions": 10,
"timestamp": "2025-11-29T13:20:43+01:00"
},
{
"hash": "7deb5b9",
"short": "feat(shared-ui): add reusable settings components with glass styling",
"type": "feat",
"scope": "shared-ui",
"additions": 2402,
"deletions": 1233,
"timestamp": "2025-11-29T13:22:12+01:00"
},
{
"hash": "95bba8e",
"short": "feat(chat): add Google Gemini API support with Flash as default model",
"type": "feat",
"scope": "chat",
"additions": 426,
"deletions": 211,
"timestamp": "2025-11-29T13:22:58+01:00"
},
{
"hash": "c164403",
"short": "fix(shared-ui): improve toggle active state styling",
"type": "fix",
"scope": "shared-ui",
"additions": 21,
"deletions": 1,
"timestamp": "2025-11-29T13:23:22+01:00"
},
{
"hash": "b68e015",
"short": "feat(chat): add settings page and improve chat UI components",
"type": "feat",
"scope": "chat",
"additions": 1454,
"deletions": 436,
"timestamp": "2025-11-29T13:24:02+01:00"
},
{
"hash": "dde2d51",
"short": "feat(shared-ui): add app switcher dropdown to PillNavigation",
"type": "feat",
"scope": "shared-ui",
"additions": 546,
"deletions": 9,
"timestamp": "2025-11-29T15:10:17+01:00"
},
{
"hash": "9e90cea",
"short": "feat(chat): add app switcher to PillNavigation",
"type": "feat",
"scope": "chat",
"additions": 6,
"deletions": 0,
"timestamp": "2025-11-29T15:12:57+01:00"
},
{
"hash": "f8d8faa",
"short": "fix(chat): use correct Gemini model names",
"type": "fix",
"scope": "chat",
"additions": 4,
"deletions": 4,
"timestamp": "2025-11-29T15:13:34+01:00"
},
{
"hash": "0cd5ad7",
"short": "refactor(shared-ui): use PillDropdown for app switcher",
"type": "refactor",
"scope": "shared-ui",
"additions": 61,
"deletions": 461,
"timestamp": "2025-11-29T15:15:00+01:00"
},
{
"hash": "35a7b0b",
"short": "chore(chat): deactivate Azure models, only show Gemini in dropdown",
"type": "chore",
"scope": "chat",
"additions": 9,
"deletions": 9,
"timestamp": "2025-11-29T15:15:59+01:00"
},
{
"hash": "6150347",
"short": "fix(shared-branding): filter archived apps from app switcher",
"type": "fix",
"scope": "shared-branding",
"additions": 17,
"deletions": 1,
"timestamp": "2025-11-29T15:17:10+01:00"
},
{
"hash": "24eafc5",
"short": "fix(chat-web): select default model instead of first model",
"type": "fix",
"scope": "chat-web",
"additions": 26,
"deletions": 4,
"timestamp": "2025-11-29T15:18:53+01:00"
},
{
"hash": "90c696c",
"short": "fix(chat): add PATCH to CORS and use Gemini for title generation",
"type": "fix",
"scope": "chat",
"additions": 21,
"deletions": 4,
"timestamp": "2025-11-29T15:20:24+01:00"
},
{
"hash": "9b80d13",
"short": "fix(chat): update templates page to use Gemini 2.5 Flash as default model",
"type": "fix",
"scope": "chat",
"additions": 1,
"deletions": 1,
"timestamp": "2025-11-29T15:28:38+01:00"
},
{
"hash": "e28a1aa",
"short": "docs(chat): update CLAUDE.md with Gemini AI models and configuration",
"type": "docs",
"scope": "chat",
"additions": 9,
"deletions": 10,
"timestamp": "2025-11-29T15:29:10+01:00"
},
{
"hash": "606fd9a",
"short": "feat(shared-ui): add user dropdown and improve FAB styling",
"type": "feat",
"scope": "shared-ui",
"additions": 5,
"deletions": 6,
"timestamp": "2025-11-29T15:31:43+01:00"
},
{
"hash": "353cf6a",
"short": "feat: rename subscription routes to /mana across all apps",
"type": null,
"scope": null,
"additions": 73,
"deletions": 13,
"timestamp": "2025-11-29T15:42:32+01:00"
},
{
"hash": "8f58599",
"short": "refactor(shared-ui): move Mana button to standalone pill in navigation",
"type": "refactor",
"scope": "shared-ui",
"additions": 17,
"deletions": 13,
"timestamp": "2025-11-29T15:43:34+01:00"
},
{
"hash": "7819c9c",
"short": "feat(chat): redesign chat UI with glassmorphism styling",
"type": "feat",
"scope": "chat",
"additions": 141,
"deletions": 96,
"timestamp": "2025-11-29T15:45:42+01:00"
},
{
"hash": "f2c7950",
"short": "fix(chat): add shared-subscription-ui dependency for mana page",
"type": "fix",
"scope": "chat",
"additions": 183,
"deletions": 150,
"timestamp": "2025-11-29T15:47:08+01:00"
},
{
"hash": "a324708",
"short": "feat(subscription-ui): redesign with glass morphism and responsive layout",
"type": "feat",
"scope": "subscription-ui",
"additions": 848,
"deletions": 134,
"timestamp": "2025-11-29T16:04:04+01:00"
},
{
"hash": "0467ac3",
"short": "fix(chat): align frontend types with backend camelCase and redesign message bubbles",
"type": "fix",
"scope": "chat",
"additions": 532,
"deletions": 370,
"timestamp": "2025-11-29T16:04:19+01:00"
},
{
"hash": "2dc289c",
"short": "feat(chat): add shared profile UI package and integrate into navigation",
"type": "feat",
"scope": "chat",
"additions": 790,
"deletions": 363,
"timestamp": "2025-11-29T21:40:47+01:00"
},
{
"hash": "a32c4f0",
"short": "fix(shared-ui): fix theme mode selector styling in dropdown",
"type": "fix",
"scope": "shared-ui",
"additions": 19,
"deletions": 4,
"timestamp": "2025-11-29T22:29:04+01:00"
},
{
"hash": "05fe8ca",
"short": "feat(chat): add auto title generation, inline renaming, and styled delete modal",
"type": "feat",
"scope": "chat",
"additions": 447,
"deletions": 71,
"timestamp": "2025-11-29T22:43:41+01:00"
},
{
"hash": "819e4c9",
"short": "feat(feedback): add centralized feedback system with AI-generated titles",
"type": "feat",
"scope": "feedback",
"additions": 4197,
"deletions": 245,
"timestamp": "2025-11-29T22:46:37+01:00"
},
{
"hash": "4f06301",
"short": "feat(chat): add conversation pinning and date-based sections",
"type": "feat",
"scope": "chat",
"additions": 295,
"deletions": 227,
"timestamp": "2025-11-29T23:01:18+01:00"
},
{
"hash": "0893ed7",
"short": "feat(chat): add toast notification system and docker AI config",
"type": "feat",
"scope": "chat",
"additions": 175,
"deletions": 2,
"timestamp": "2025-11-29T23:02:52+01:00"
},
{
"hash": "c85cd45",
"short": "feat: improve chat UX and add optional auth for public feedback",
"type": null,
"scope": null,
"additions": 192,
"deletions": 53,
"timestamp": "2025-11-29T23:10:03+01:00"
},
{
"hash": "9432a73",
"short": "feat: integrate shared PageHeader and ProfilePage across all web apps",
"type": null,
"scope": null,
"additions": 1710,
"deletions": 1059,
"timestamp": "2025-11-30T00:06:29+01:00"
},
{
"hash": "e85ef8b",
"short": "chore: add dev:manacore:app script for consistency",
"type": null,
"scope": null,
"additions": 1,
"deletions": 0,
"timestamp": "2025-11-30T00:14:57+01:00"
},
{
"hash": "eab69c5",
"short": "feat(i18n): add language picker and 5-language support to all auth screens",
"type": "feat",
"scope": "i18n",
"additions": 626,
"deletions": 142,
"timestamp": "2025-11-30T00:28:14+01:00"
},
{
"hash": "8965328",
"short": "feat(manacore): add credits management and improve dashboard",
"type": "feat",
"scope": "manacore",
"additions": 917,
"deletions": 253,
"timestamp": "2025-11-30T00:29:25+01:00"
},
{
"hash": "52d43b2",
"short": "fix(manacore): use correct nav icons for Credits and Feedback",
"type": "fix",
"scope": "manacore",
"additions": 5,
"deletions": 5,
"timestamp": "2025-11-30T00:34:58+01:00"
},
{
"hash": "2d17b72",
"short": "feat(theme): add complete theme support to all web apps",
"type": "feat",
"scope": "theme",
"additions": 49,
"deletions": 6,
"timestamp": "2025-11-30T00:36:47+01:00"
},
{
"hash": "b970473",
"short": "feat(manacore): add Mana subscription page to navigation",
"type": "feat",
"scope": "manacore",
"additions": 30,
"deletions": 8,
"timestamp": "2025-11-30T00:37:16+01:00"
},
{
"hash": "74b824d",
"short": "fix(manacore): use manaHref for proper Mana icon in user dropdown",
"type": "fix",
"scope": "manacore",
"additions": 1,
"deletions": 1,
"timestamp": "2025-11-30T00:40:54+01:00"
},
{
"hash": "6bb8285",
"short": "refactor(apps): unify AppSlider to use centralized MANA_APPS config",
"type": "refactor",
"scope": "apps",
"additions": 60,
"deletions": 183,
"timestamp": "2025-11-30T00:46:13+01:00"
},
{
"hash": "9a29a8e",
"short": "feat: improve language switcher integration across all web apps",
"type": null,
"scope": null,
"additions": 198,
"deletions": 64,
"timestamp": "2025-11-30T00:46:13+01:00"
},
{
"hash": "2ce19fe",
"short": "feat(shared-ui): add submenu and divider support to PillDropdown",
"type": "feat",
"scope": "shared-ui",
"additions": 168,
"deletions": 46,
"timestamp": "2025-11-30T00:51:37+01:00"
},
{
"hash": "120bc93",
"short": "feat(shared-ui): add nested language submenu in PillNavigation",
"type": "feat",
"scope": "shared-ui",
"additions": 18,
"deletions": 13,
"timestamp": "2025-11-30T01:00:43+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-11-29
day: 7
view: macher
weekday: Samstag
commits: 52
review: written
---
# Samstag, 2025-11-29 — Tag 7 (Macher-Sicht)
## Stats
52 Commits, +21935 / 56265 LoC, 3484 Files. Top-Dirs: `{apps => apps-archived}/memoro/apps` (37%), `{apps => apps-archived}/maerchenzauber/apps` (14%), `{apps => apps-archived}/uload/apps` (8%), `{apps => apps-archived}/bauntown/apps` (7%), `{apps => apps-archived}/nutriphi/apps` (4%). Tags: chat, shared-ui, theme, manacore, nutriphi. Session 05:04 → 00:00 (~194 aktive Min, längster Fokus 54 Min).
## Commits
- `8b61399` feat(nutriphi): migrate to shared auth UI components (+298/-266)
- `af8bb9b` fix(wisekeep): improve auth flow and redirect handling (+25/-29)
- `4eed414` feat(shared-ui): extend PillNavigation with tab groups and migrate Picture app (+660/-29)
- `655da23` fix(presi): resolve CORS issues and add strictPort to all web apps (+27/-4)
- `b97149a` feat(icons): migrate to phosphor-svelte for all icon usage (+256/-452)
- `61d181f` chore: archive inactive projects to apps-archived/ (+411/-46614)
- `1296928` feat(shared-auth-ui): redesign login page with animations and theme support (+1076/-596)
- `54383bf` feat(theme): add ThemePage components and distinct background colors (+1796/-1939)
- `8a4cc29` feat(theme): add themes page to picture, manadeck, and presi apps (+150/-6)
- `b9608bd` fix(picture): resolve all TypeScript type errors (+71/-82)
- `f436fbb` feat(theme): migrate theme emojis to Phosphor icons and integrate theme system into Zitare (+299/-327)
- `3cfa6a7` feat(shared-ui): add theme mode selector to PillNavigation dropdown (+166/-10)
- `7deb5b9` feat(shared-ui): add reusable settings components with glass styling (+2402/-1233)
- `95bba8e` feat(chat): add Google Gemini API support with Flash as default model (+426/-211)
- `c164403` fix(shared-ui): improve toggle active state styling (+21/-1)
- `b68e015` feat(chat): add settings page and improve chat UI components (+1454/-436)
- `dde2d51` feat(shared-ui): add app switcher dropdown to PillNavigation (+546/-9)
- `9e90cea` feat(chat): add app switcher to PillNavigation (+6/-0)
- `f8d8faa` fix(chat): use correct Gemini model names (+4/-4)
- `0cd5ad7` refactor(shared-ui): use PillDropdown for app switcher (+61/-461)
_… plus 32 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-11-29
day: 7
view: spieler
weekday: Samstag
commits: 52
review: written
---
# Samstag, 2025-11-29 — Tag 7
Großer Sprint-Tag mit Schwerpunkt **{apps => apps-archived}** (52 Commits).
## Highlights
- migrate to shared auth UI components
- improve auth flow and redirect handling
- extend PillNavigation with tab groups and migrate Picture app
- resolve CORS issues and add strictPort to all web apps
- migrate to phosphor-svelte for all icon usage

360
devlog/2025-12-01/data.json Normal file
View file

@ -0,0 +1,360 @@
{
"date": "2025-12-01",
"day_number": 8,
"weekday": "Montag",
"commits": 27,
"authors": [
{
"name": "Wuesteon",
"count": 17
},
{
"name": "Till-JS",
"count": 10
}
],
"additions": 49204,
"deletions": 28026,
"net_lines": 21178,
"files_changed": 372,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-01T12:30:58.000Z",
"last_commit_at": "2025-12-02T01:43:47.000Z",
"total_span_minutes": 793,
"active_minutes": 142,
"pauses": [
{
"from": "13:30",
"to": "14:14",
"minutes": 43
},
{
"from": "15:41",
"to": "17:16",
"minutes": 95
},
{
"from": "17:16",
"to": "20:44",
"minutes": 208
},
{
"from": "20:50",
"to": "23:15",
"minutes": 145
},
{
"from": "00:03",
"to": "01:00",
"minutes": 57
},
{
"from": "01:00",
"to": "02:43",
"minutes": 103
}
],
"longest_focus_minutes": 87
},
"top_dirs": [
{
"path": "services/mana-core-auth/src",
"pct": 11
},
{
"path": "games/mana-games/apps",
"pct": 9
},
{
"path": "apps/picture/apps/backend",
"pct": 5
},
{
"path": "apps/chat/apps/web",
"pct": 5
},
{
"path": "services/mana-core-auth/test",
"pct": 4
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 178
},
{
"ext": ".svelte",
"count": 107
},
{
"ext": ".md",
"count": 61
},
{
"ext": ".json",
"count": 53
},
{
"ext": ".astro",
"count": 24
},
{
"ext": ".yml",
"count": 11
}
],
"tags": ["ci", "picture", "feedback", "apps", "zitare"],
"commits_list": [
{
"hash": "2a002bf",
"short": "first auth impl",
"type": null,
"scope": null,
"additions": 13348,
"deletions": 6069,
"timestamp": "2025-12-01T13:30:58+01:00"
},
{
"hash": "a09c389",
"short": "fix(picture): resolve hydration error and CORS issues",
"type": "fix",
"scope": "picture",
"additions": 85,
"deletions": 9,
"timestamp": "2025-12-01T14:14:08+01:00"
},
{
"hash": "51edd52",
"short": "refactor(picture): remove Supabase dependency, migrate to NestJS backend",
"type": "refactor",
"scope": "picture",
"additions": 1627,
"deletions": 986,
"timestamp": "2025-12-01T14:22:49+01:00"
},
{
"hash": "1f2d21e",
"short": "feat(feedback): add feedback pages to all archived web apps",
"type": "feat",
"scope": "feedback",
"additions": 241,
"deletions": 431,
"timestamp": "2025-12-01T14:42:26+01:00"
},
{
"hash": "4e4db46",
"short": "feat(apps): add unified Apps page and PillNavigation to all web apps",
"type": "feat",
"scope": "apps",
"additions": 1354,
"deletions": 538,
"timestamp": "2025-12-01T14:48:00+01:00"
},
{
"hash": "6cfab65",
"short": "feat(zitare): add vertical scroll-snap quote feed with infinite scroll",
"type": "feat",
"scope": "zitare",
"additions": 165,
"deletions": 40,
"timestamp": "2025-12-01T14:57:05+01:00"
},
{
"hash": "8dd1e43",
"short": "🐛 fix(auth): use Better Auth native JWT validation with EdDSA",
"type": null,
"scope": null,
"additions": 498,
"deletions": 480,
"timestamp": "2025-12-01T15:18:57+01:00"
},
{
"hash": "0805713",
"short": "🐛 fix(chat): use correct token storage key from shared-auth",
"type": null,
"scope": null,
"additions": 2,
"deletions": 1,
"timestamp": "2025-12-01T15:19:09+01:00"
},
{
"hash": "bc27484",
"short": "📝 docs(auth): add comprehensive auth architecture documentation",
"type": null,
"scope": null,
"additions": 530,
"deletions": 0,
"timestamp": "2025-12-01T15:19:20+01:00"
},
{
"hash": "746df03",
"short": "✅ test(auth): update tests for minimal JWT claims architecture",
"type": null,
"scope": null,
"additions": 209,
"deletions": 641,
"timestamp": "2025-12-01T15:21:19+01:00"
},
{
"hash": "8a43bbf",
"short": "🔀 merge: auth/complete branch with Better Auth implementation",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-01T15:25:38+01:00"
},
{
"hash": "64c82a1",
"short": "🐛 fix(presi): resolve auth token mismatch and add feedback navigation",
"type": null,
"scope": null,
"additions": 30,
"deletions": 20,
"timestamp": "2025-12-01T15:35:56+01:00"
},
{
"hash": "1e2cc03",
"short": "✨ feat(shared-auth-ui): add theme toggle to auth pages",
"type": null,
"scope": null,
"additions": 183,
"deletions": 85,
"timestamp": "2025-12-01T15:40:22+01:00"
},
{
"hash": "a51e065",
"short": "🚸 feat(shared-ui): improve PillNavigation mobile responsiveness",
"type": null,
"scope": null,
"additions": 123,
"deletions": 4,
"timestamp": "2025-12-01T15:40:33+01:00"
},
{
"hash": "f8258b8",
"short": "docs",
"type": null,
"scope": null,
"additions": 2,
"deletions": 5,
"timestamp": "2025-12-01T15:41:05+01:00"
},
{
"hash": "1d5f49a",
"short": "Merge branch 'main' of https://github.com/Memo-2023/manacore-monorepo",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-01T15:41:06+01:00"
},
{
"hash": "942c588",
"short": "🔒️ feat(auth): centralize JWT validation via mana-core-auth",
"type": null,
"scope": null,
"additions": 1125,
"deletions": 313,
"timestamp": "2025-12-01T17:16:21+01:00"
},
{
"hash": "5b0b309",
"short": "🔒️ feat(auth): centralize JWT validation and add deployment docs",
"type": null,
"scope": null,
"additions": 11916,
"deletions": 718,
"timestamp": "2025-12-01T20:44:45+01:00"
},
{
"hash": "5282f55",
"short": "fix(ci): handle missing coverage artifacts gracefully",
"type": "fix",
"scope": "ci",
"additions": 10,
"deletions": 1,
"timestamp": "2025-12-01T20:50:10+01:00"
},
{
"hash": "0ebfde0",
"short": "fix(ci): build shared packages before tests and fix formatting",
"type": "fix",
"scope": "ci",
"additions": 16214,
"deletions": 15644,
"timestamp": "2025-12-01T23:15:00+01:00"
},
{
"hash": "6748da8",
"short": "chore(ci): remove Codecov integration",
"type": "chore",
"scope": "ci",
"additions": 4,
"deletions": 58,
"timestamp": "2025-12-01T23:26:58+01:00"
},
{
"hash": "3f57b84",
"short": "fix(ci): fix test-config and upgrade vitest to v4",
"type": "fix",
"scope": "ci",
"additions": 263,
"deletions": 264,
"timestamp": "2025-12-01T23:37:47+01:00"
},
{
"hash": "d5af7eb",
"short": "fix(ci): fix YAML syntax error in ci-main.yml",
"type": "fix",
"scope": "ci",
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-01T23:50:39+01:00"
},
{
"hash": "d916845",
"short": "fix(ci): filter shared packages by directory not package name",
"type": "fix",
"scope": "ci",
"additions": 3,
"deletions": 2,
"timestamp": "2025-12-01T23:54:51+01:00"
},
{
"hash": "eb17321",
"short": "fix(ci): remove nested turbo.json from presi",
"type": "fix",
"scope": "ci",
"additions": 0,
"deletions": 19,
"timestamp": "2025-12-02T00:03:31+01:00"
},
{
"hash": "2cfa09c",
"short": "feat(storage): add MinIO local storage and @manacore/shared-storage package",
"type": "feat",
"scope": "storage",
"additions": 1191,
"deletions": 126,
"timestamp": "2025-12-02T01:00:42+01:00"
},
{
"hash": "4cc1ad2",
"short": "🔧 chore: fix turbo infinite recursion and update dependencies",
"type": null,
"scope": null,
"additions": 80,
"deletions": 1571,
"timestamp": "2025-12-02T02:43:47+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-01
day: 8
view: macher
weekday: Montag
commits: 27
review: written
---
# Montag, 2025-12-01 — Tag 8 (Macher-Sicht)
## Stats
27 Commits, +49204 / 28026 LoC, 372 Files. Top-Dirs: `services/mana-core-auth/src` (11%), `games/mana-games/apps` (9%), `apps/picture/apps/backend` (5%), `apps/chat/apps/web` (5%), `services/mana-core-auth/test` (4%). Tags: ci, picture, feedback, apps, zitare. Session 12:30 → 01:43 (~142 aktive Min, längster Fokus 87 Min).
## Commits
- `2a002bf` first auth impl (+13348/-6069)
- `a09c389` fix(picture): resolve hydration error and CORS issues (+85/-9)
- `51edd52` refactor(picture): remove Supabase dependency, migrate to NestJS backend (+1627/-986)
- `1f2d21e` feat(feedback): add feedback pages to all archived web apps (+241/-431)
- `4e4db46` feat(apps): add unified Apps page and PillNavigation to all web apps (+1354/-538)
- `6cfab65` feat(zitare): add vertical scroll-snap quote feed with infinite scroll (+165/-40)
- `8dd1e43` 🐛 fix(auth): use Better Auth native JWT validation with EdDSA (+498/-480)
- `0805713` 🐛 fix(chat): use correct token storage key from shared-auth (+2/-1)
- `bc27484` 📝 docs(auth): add comprehensive auth architecture documentation (+530/-0)
- `746df03` ✅ test(auth): update tests for minimal JWT claims architecture (+209/-641)
- `8a43bbf` 🔀 merge: auth/complete branch with Better Auth implementation (+0/-0)
- `64c82a1` 🐛 fix(presi): resolve auth token mismatch and add feedback navigation (+30/-20)
- `1e2cc03` ✨ feat(shared-auth-ui): add theme toggle to auth pages (+183/-85)
- `a51e065` 🚸 feat(shared-ui): improve PillNavigation mobile responsiveness (+123/-4)
- `f8258b8` docs (+2/-5)
- `1d5f49a` Merge branch 'main' of https://github.com/Memo-2023/manacore-monorepo (+0/-0)
- `942c588` 🔒️ feat(auth): centralize JWT validation via mana-core-auth (+1125/-313)
- `5b0b309` 🔒️ feat(auth): centralize JWT validation and add deployment docs (+11916/-718)
- `5282f55` fix(ci): handle missing coverage artifacts gracefully (+10/-1)
- `0ebfde0` fix(ci): build shared packages before tests and fix formatting (+16214/-15644)
_… plus 7 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-01
day: 8
view: spieler
weekday: Montag
commits: 27
review: written
---
# Montag, 2025-12-01 — Tag 8
Dichter Tag in **services** und Umgebung.
## Highlights
- first auth impl
- resolve hydration error and CORS issues
- add feedback pages to all archived web apps
- add unified Apps page and PillNavigation to all web apps
- add vertical scroll-snap quote feed with infinite scroll

350
devlog/2025-12-02/data.json Normal file
View file

@ -0,0 +1,350 @@
{
"date": "2025-12-02",
"day_number": 9,
"weekday": "Dienstag",
"commits": 27,
"authors": [
{
"name": "Till-JS",
"count": 19
},
{
"name": "Wuesteon",
"count": 8
}
],
"additions": 45938,
"deletions": 4929,
"net_lines": 41009,
"files_changed": 396,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-02T11:35:54.000Z",
"last_commit_at": "2025-12-03T01:38:38.000Z",
"total_span_minutes": 843,
"active_minutes": 206,
"pauses": [
{
"from": "13:17",
"to": "13:50",
"minutes": 33
},
{
"from": "13:50",
"to": "14:39",
"minutes": 49
},
{
"from": "14:42",
"to": "22:56",
"minutes": 494
},
{
"from": "00:44",
"to": "01:46",
"minutes": 61
}
],
"longest_focus_minutes": 109
},
"top_dirs": [
{
"path": "apps/calendar/apps/web",
"pct": 21
},
{
"path": "apps/calendar/apps/backend",
"pct": 9
},
{
"path": "apps/contacts/apps/web",
"pct": 9
},
{
"path": "apps/storage/apps/backend",
"pct": 9
},
{
"path": "apps/storage/apps/web",
"pct": 9
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 246
},
{
"ext": ".svelte",
"count": 165
},
{
"ext": ".json",
"count": 52
},
{
"ext": ".md",
"count": 30
},
{
"ext": ".astro",
"count": 26
},
{
"ext": ".css",
"count": 11
}
],
"tags": ["landing"],
"commits_list": [
{
"hash": "ef8fd6a",
"short": "feat(landing): add Cloudflare Pages deployment setup",
"type": "feat",
"scope": "landing",
"additions": 843,
"deletions": 235,
"timestamp": "2025-12-02T12:35:54+01:00"
},
{
"hash": "29aaaec",
"short": "♻️ refactor(storage): unify bucket names and add calendar/contacts",
"type": null,
"scope": null,
"additions": 70,
"deletions": 26,
"timestamp": "2025-12-02T12:59:22+01:00"
},
{
"hash": "623b1a2",
"short": "feat(landing): add Presi landing page and improve Zitare landing",
"type": "feat",
"scope": "landing",
"additions": 1575,
"deletions": 249,
"timestamp": "2025-12-02T13:06:38+01:00"
},
{
"hash": "00176a2",
"short": "✨ feat(calendar): add complete calendar app with backend, web, and landing",
"type": null,
"scope": null,
"additions": 9433,
"deletions": 0,
"timestamp": "2025-12-02T13:15:04+01:00"
},
{
"hash": "45d7015",
"short": "✨ feat(contacts): add complete contacts app with backend, web, and landing",
"type": null,
"scope": null,
"additions": 3812,
"deletions": 1,
"timestamp": "2025-12-02T13:17:42+01:00"
},
{
"hash": "a00a02a",
"short": "🎨 style(contacts): fix CSS variables and add modern contact pages",
"type": null,
"scope": null,
"additions": 1868,
"deletions": 3,
"timestamp": "2025-12-02T13:50:19+01:00"
},
{
"hash": "3799fe1",
"short": "🎨 style(calendar): improve UI components and integrate shared-auth-ui",
"type": null,
"scope": null,
"additions": 466,
"deletions": 329,
"timestamp": "2025-12-02T14:39:23+01:00"
},
{
"hash": "fb9945c",
"short": "🔧 fix(chat): update schema for Better Auth nanoid user IDs",
"type": null,
"scope": null,
"additions": 8,
"deletions": 8,
"timestamp": "2025-12-02T14:40:02+01:00"
},
{
"hash": "2a04010",
"short": "✨ feat(branding): add Calendar and Storage app branding",
"type": null,
"scope": null,
"additions": 87,
"deletions": 2,
"timestamp": "2025-12-02T14:40:30+01:00"
},
{
"hash": "1a88dec",
"short": "🔧 fix(shared-storage): update build configuration for CommonJS",
"type": null,
"scope": null,
"additions": 19,
"deletions": 13,
"timestamp": "2025-12-02T14:40:55+01:00"
},
{
"hash": "19500e8",
"short": "✨ feat(storage): add Storage app scaffolding and root config",
"type": null,
"scope": null,
"additions": 8293,
"deletions": 5,
"timestamp": "2025-12-02T14:41:15+01:00"
},
{
"hash": "fa13f98",
"short": "🔧 fix(auth): skip migrations in Docker entrypoint",
"type": null,
"scope": null,
"additions": 3,
"deletions": 6,
"timestamp": "2025-12-02T14:41:34+01:00"
},
{
"hash": "6cc9f70",
"short": "✨ feat(contacts): add archive, favorites, groups, and feedback pages",
"type": null,
"scope": null,
"additions": 3190,
"deletions": 0,
"timestamp": "2025-12-02T14:42:01+01:00"
},
{
"hash": "02c82c7",
"short": "✨ feat(a11y): add accessibility settings and theme improvements",
"type": null,
"scope": null,
"additions": 1474,
"deletions": 143,
"timestamp": "2025-12-02T22:56:09+01:00"
},
{
"hash": "9d8c184",
"short": "✨ feat(calendar): add comprehensive settings and profile pages",
"type": null,
"scope": null,
"additions": 1889,
"deletions": 392,
"timestamp": "2025-12-02T23:18:49+01:00"
},
{
"hash": "0f2aae6",
"short": "✨ feat(calendar): add drag & drop and page-level scrolling",
"type": null,
"scope": null,
"additions": 1013,
"deletions": 92,
"timestamp": "2025-12-02T23:42:03+01:00"
},
{
"hash": "2635281",
"short": "✨ feat(storage): add shared package types and configuration",
"type": null,
"scope": null,
"additions": 89,
"deletions": 0,
"timestamp": "2025-12-03T00:04:35+01:00"
},
{
"hash": "2154c3b",
"short": "🔧 chore: add Husky pre-commit hook for type-check",
"type": null,
"scope": null,
"additions": 118,
"deletions": 327,
"timestamp": "2025-12-03T00:08:06+01:00"
},
{
"hash": "0e5d923",
"short": "✨ feat(auth): add centralized user settings synced across all apps",
"type": null,
"scope": null,
"additions": 1624,
"deletions": 7,
"timestamp": "2025-12-03T00:09:47+01:00"
},
{
"hash": "b01153b",
"short": "🐛 fix(calendar): improve drag & drop and resize behavior",
"type": null,
"scope": null,
"additions": 430,
"deletions": 101,
"timestamp": "2025-12-03T00:14:47+01:00"
},
{
"hash": "482509a",
"short": "🐛 fix(theme): add ShadCN-style CSS variable aliases for shared components",
"type": null,
"scope": null,
"additions": 839,
"deletions": 188,
"timestamp": "2025-12-03T00:20:49+01:00"
},
{
"hash": "0b539bd",
"short": "📝 docs: add comprehensive Claude Code guidelines",
"type": null,
"scope": null,
"additions": 4971,
"deletions": 0,
"timestamp": "2025-12-03T00:44:49+01:00"
},
{
"hash": "6c9e897",
"short": "fix: update docker registry to ghcr.io/memo-2023",
"type": null,
"scope": null,
"additions": 12,
"deletions": 12,
"timestamp": "2025-12-03T01:46:16+01:00"
},
{
"hash": "ea3582d",
"short": "💄 style: apply prettier formatting across codebase",
"type": null,
"scope": null,
"additions": 3309,
"deletions": 2574,
"timestamp": "2025-12-03T02:02:09+01:00"
},
{
"hash": "86da45a",
"short": "🔧 chore: add lint-staged for pre-commit formatting",
"type": null,
"scope": null,
"additions": 163,
"deletions": 0,
"timestamp": "2025-12-03T02:04:41+01:00"
},
{
"hash": "8cdb950",
"short": "🐛 fix(mana-games): use openai package for Azure OpenAI client",
"type": null,
"scope": null,
"additions": 339,
"deletions": 215,
"timestamp": "2025-12-03T02:20:09+01:00"
},
{
"hash": "09477e0",
"short": "🐛 fix(mana-games): clean dist before Astro build",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-03T02:38:38+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-02
day: 9
view: macher
weekday: Dienstag
commits: 27
review: written
---
# Dienstag, 2025-12-02 — Tag 9 (Macher-Sicht)
## Stats
27 Commits, +45938 / 4929 LoC, 396 Files. Top-Dirs: `apps/calendar/apps/web` (21%), `apps/calendar/apps/backend` (9%), `apps/contacts/apps/web` (9%), `apps/storage/apps/backend` (9%), `apps/storage/apps/web` (9%). Tags: landing. Session 11:35 → 01:38 (~206 aktive Min, längster Fokus 109 Min).
## Commits
- `ef8fd6a` feat(landing): add Cloudflare Pages deployment setup (+843/-235)
- `29aaaec` ♻️ refactor(storage): unify bucket names and add calendar/contacts (+70/-26)
- `623b1a2` feat(landing): add Presi landing page and improve Zitare landing (+1575/-249)
- `00176a2` ✨ feat(calendar): add complete calendar app with backend, web, and landing (+9433/-0)
- `45d7015` ✨ feat(contacts): add complete contacts app with backend, web, and landing (+3812/-1)
- `a00a02a` 🎨 style(contacts): fix CSS variables and add modern contact pages (+1868/-3)
- `3799fe1` 🎨 style(calendar): improve UI components and integrate shared-auth-ui (+466/-329)
- `fb9945c` 🔧 fix(chat): update schema for Better Auth nanoid user IDs (+8/-8)
- `2a04010` ✨ feat(branding): add Calendar and Storage app branding (+87/-2)
- `1a88dec` 🔧 fix(shared-storage): update build configuration for CommonJS (+19/-13)
- `19500e8` ✨ feat(storage): add Storage app scaffolding and root config (+8293/-5)
- `fa13f98` 🔧 fix(auth): skip migrations in Docker entrypoint (+3/-6)
- `6cc9f70` ✨ feat(contacts): add archive, favorites, groups, and feedback pages (+3190/-0)
- `02c82c7` ✨ feat(a11y): add accessibility settings and theme improvements (+1474/-143)
- `9d8c184` ✨ feat(calendar): add comprehensive settings and profile pages (+1889/-392)
- `0f2aae6` ✨ feat(calendar): add drag & drop and page-level scrolling (+1013/-92)
- `2635281` ✨ feat(storage): add shared package types and configuration (+89/-0)
- `2154c3b` 🔧 chore: add Husky pre-commit hook for type-check (+118/-327)
- `0e5d923` ✨ feat(auth): add centralized user settings synced across all apps (+1624/-7)
- `b01153b` 🐛 fix(calendar): improve drag & drop and resize behavior (+430/-101)
_… plus 7 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-02
day: 9
view: spieler
weekday: Dienstag
commits: 27
review: written
---
# Dienstag, 2025-12-02 — Tag 9
Dichter Tag in **apps** und Umgebung.
## Highlights
- add Cloudflare Pages deployment setup
- ♻️ refactor(storage): unify bucket names and add calendar/contacts
- add Presi landing page and improve Zitare landing
- ✨ feat(calendar): add complete calendar app with backend, web, and landing
- ✨ feat(contacts): add complete contacts app with backend, web, and landing

414
devlog/2025-12-03/data.json Normal file
View file

@ -0,0 +1,414 @@
{
"date": "2025-12-03",
"day_number": 10,
"weekday": "Mittwoch",
"commits": 32,
"authors": [
{
"name": "Till-JS",
"count": 16
},
{
"name": "Wuesteon",
"count": 15
},
{
"name": "Nils Weiser",
"count": 1
}
],
"additions": 51262,
"deletions": 7445,
"net_lines": 43817,
"files_changed": 691,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-03T10:54:17.000Z",
"last_commit_at": "2025-12-04T03:21:15.000Z",
"total_span_minutes": 987,
"active_minutes": 200,
"pauses": [
{
"from": "11:57",
"to": "12:44",
"minutes": 47
},
{
"from": "12:46",
"to": "13:45",
"minutes": 59
},
{
"from": "13:58",
"to": "15:37",
"minutes": 99
},
{
"from": "16:27",
"to": "23:42",
"minutes": 435
},
{
"from": "23:42",
"to": "00:32",
"minutes": 50
},
{
"from": "02:43",
"to": "03:22",
"minutes": 38
},
{
"from": "03:22",
"to": "04:21",
"minutes": 59
}
],
"longest_focus_minutes": 132
},
"top_dirs": [
{
"path": "apps/clock/apps/web",
"pct": 7
},
{
"path": "apps/mail/apps/backend",
"pct": 7
},
{
"path": "apps/calendar/apps/web",
"pct": 5
},
{
"path": "apps/todo/apps/backend",
"pct": 5
},
{
"path": "apps/todo/apps/web",
"pct": 5
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 323
},
{
"ext": ".json",
"count": 130
},
{
"ext": ".svelte",
"count": 115
},
{
"ext": ".js",
"count": 63
},
{
"ext": ".tsx",
"count": 56
},
{
"ext": ".mjs",
"count": 39
}
],
"tags": [],
"commits_list": [
{
"hash": "e56485f",
"short": "✨ feat(calendar): improve header UI and add quick event overlay",
"type": null,
"scope": null,
"additions": 606,
"deletions": 31,
"timestamp": "2025-12-03T11:54:17+01:00"
},
{
"hash": "ba746fc",
"short": "Merge branch 'main' of https://github.com/Memo-2023/manacore-monorepo",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-03T11:57:30+01:00"
},
{
"hash": "80f8a03",
"short": "✨ feat(calendar): add event detail modal and structured location fields",
"type": null,
"scope": null,
"additions": 2580,
"deletions": 809,
"timestamp": "2025-12-03T12:44:39+01:00"
},
{
"hash": "110c677",
"short": "🐛 fix(calendar): shift FAB buttons when PillNav is in sidebar mode",
"type": null,
"scope": null,
"additions": 7,
"deletions": 1,
"timestamp": "2025-12-03T12:46:34+01:00"
},
{
"hash": "0086e33",
"short": "🔧 chore(voxel-lava): add ESLint v9 flat config for backend",
"type": null,
"scope": null,
"additions": 379,
"deletions": 105,
"timestamp": "2025-12-03T13:45:37+01:00"
},
{
"hash": "fd962c3",
"short": "🔧 chore: add root ESLint config and enable lint in pre-commit",
"type": null,
"scope": null,
"additions": 367,
"deletions": 327,
"timestamp": "2025-12-03T13:49:57+01:00"
},
{
"hash": "f720a25",
"short": "🔧 chore: enforce stricter ESLint rules",
"type": null,
"scope": null,
"additions": 4,
"deletions": 5,
"timestamp": "2025-12-03T13:52:30+01:00"
},
{
"hash": "ec23630",
"short": "🔧 chore: add lint:root and lint:fix scripts",
"type": null,
"scope": null,
"additions": 2,
"deletions": 0,
"timestamp": "2025-12-03T13:58:40+01:00"
},
{
"hash": "2ef457e",
"short": "✨ feat(clock): add complete Clock app with backend, web, and landing",
"type": null,
"scope": null,
"additions": 7517,
"deletions": 2,
"timestamp": "2025-12-03T15:37:51+01:00"
},
{
"hash": "eca8ca6",
"short": "🐛 fix(clock): rename theme.ts to theme.svelte.ts for Svelte 5 runes",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-03T15:46:48+01:00"
},
{
"hash": "32eef40",
"short": "🐛 fix(clock): update theme.svelte imports",
"type": null,
"scope": null,
"additions": 3,
"deletions": 3,
"timestamp": "2025-12-03T15:49:08+01:00"
},
{
"hash": "79b629b",
"short": "✨ feat(contacts): add import/export with Google Contacts integration",
"type": null,
"scope": null,
"additions": 5302,
"deletions": 6,
"timestamp": "2025-12-03T15:54:31+01:00"
},
{
"hash": "180eced",
"short": "✨ feat(contacts): add import/export with Google Contacts integration",
"type": null,
"scope": null,
"additions": 4182,
"deletions": 5,
"timestamp": "2025-12-03T15:55:04+01:00"
},
{
"hash": "79dd564",
"short": "🐛 fix(clock): use 'lume' as default theme variant instead of 'amber'",
"type": null,
"scope": null,
"additions": 40,
"deletions": 24,
"timestamp": "2025-12-03T15:58:34+01:00"
},
{
"hash": "604727c",
"short": "✨ feat(mail): add complete Mail app with backend, web, mobile, and landing",
"type": null,
"scope": null,
"additions": 15653,
"deletions": 0,
"timestamp": "2025-12-03T16:06:32+01:00"
},
{
"hash": "2126cd5",
"short": "✨ feat(clock): redesign timer page with better UX",
"type": null,
"scope": null,
"additions": 448,
"deletions": 138,
"timestamp": "2025-12-03T16:09:58+01:00"
},
{
"hash": "8dcf543",
"short": "🐛 fix(clock): fix i18n initialization and add missing nav icons",
"type": null,
"scope": null,
"additions": 37,
"deletions": 6,
"timestamp": "2025-12-03T16:11:01+01:00"
},
{
"hash": "043acf3",
"short": "🐛 fix(clock): fix Svelte class directive syntax errors",
"type": null,
"scope": null,
"additions": 3,
"deletions": 10,
"timestamp": "2025-12-03T16:12:17+01:00"
},
{
"hash": "cda3004",
"short": "🔧 chore: misc updates across contacts, mail, and shared-ui",
"type": null,
"scope": null,
"additions": 4615,
"deletions": 2027,
"timestamp": "2025-12-03T16:13:50+01:00"
},
{
"hash": "39b8a56",
"short": "🔧 chore: extend CORS origins and update todo theme",
"type": null,
"scope": null,
"additions": 2,
"deletions": 2,
"timestamp": "2025-12-03T16:27:18+01:00"
},
{
"hash": "16cb8e7",
"short": "improve code quality",
"type": null,
"scope": null,
"additions": 2355,
"deletions": 2590,
"timestamp": "2025-12-03T23:42:37+01:00"
},
{
"hash": "e9caa4a",
"short": "fix lint",
"type": null,
"scope": null,
"additions": 1784,
"deletions": 728,
"timestamp": "2025-12-04T00:32:13+01:00"
},
{
"hash": "843cf1e",
"short": "fixes",
"type": null,
"scope": null,
"additions": 400,
"deletions": 55,
"timestamp": "2025-12-04T00:51:40+01:00"
},
{
"hash": "4900106",
"short": "🎨 style: fix Prettier formatting issues",
"type": null,
"scope": null,
"additions": 776,
"deletions": 379,
"timestamp": "2025-12-04T01:05:10+01:00"
},
{
"hash": "5ea7767",
"short": "🐛 fix(chat-backend): add missing shared-nestjs-auth package to Dockerfile",
"type": null,
"scope": null,
"additions": 4,
"deletions": 0,
"timestamp": "2025-12-04T01:16:02+01:00"
},
{
"hash": "16a6050",
"short": "🐛 fix(ci): correct GitHub context property in test workflow",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-04T01:26:04+01:00"
},
{
"hash": "88c10e4",
"short": "Merge pull request #8 from Memo-2023/feat/code-quality",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-04T01:37:17+01:00"
},
{
"hash": "e32e4b1",
"short": "🐛 fix(build): remove recursive build scripts from parent packages",
"type": null,
"scope": null,
"additions": 1394,
"deletions": 15,
"timestamp": "2025-12-04T01:59:53+01:00"
},
{
"hash": "aca6cdb",
"short": "🐛 fix(build): fix build errors and add troubleshooting docs",
"type": null,
"scope": null,
"additions": 2604,
"deletions": 22,
"timestamp": "2025-12-04T02:19:11+01:00"
},
{
"hash": "a87e138",
"short": "🐛 fix(docker): fix manadeck backend Dockerfile to use pnpm",
"type": null,
"scope": null,
"additions": 43,
"deletions": 36,
"timestamp": "2025-12-04T02:43:58+01:00"
},
{
"hash": "f7986bc",
"short": "🐛 fix(cd): fix staging deployment registry authentication and missing images",
"type": null,
"scope": null,
"additions": 99,
"deletions": 88,
"timestamp": "2025-12-04T03:22:07+01:00"
},
{
"hash": "cf2b6aa",
"short": "🐛 fix(cd): fix postgres startup and health check issues in staging",
"type": null,
"scope": null,
"additions": 55,
"deletions": 30,
"timestamp": "2025-12-04T04:21:15+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-03
day: 10
view: macher
weekday: Mittwoch
commits: 32
review: written
---
# Mittwoch, 2025-12-03 — Tag 10 (Macher-Sicht)
## Stats
32 Commits, +51262 / 7445 LoC, 691 Files. Top-Dirs: `apps/clock/apps/web` (7%), `apps/mail/apps/backend` (7%), `apps/calendar/apps/web` (5%), `apps/todo/apps/backend` (5%), `apps/todo/apps/web` (5%). Tags: —. Session 10:54 → 03:21 (~200 aktive Min, längster Fokus 132 Min).
## Commits
- `e56485f` ✨ feat(calendar): improve header UI and add quick event overlay (+606/-31)
- `ba746fc` Merge branch 'main' of https://github.com/Memo-2023/manacore-monorepo (+0/-0)
- `80f8a03` ✨ feat(calendar): add event detail modal and structured location fields (+2580/-809)
- `110c677` 🐛 fix(calendar): shift FAB buttons when PillNav is in sidebar mode (+7/-1)
- `0086e33` 🔧 chore(voxel-lava): add ESLint v9 flat config for backend (+379/-105)
- `fd962c3` 🔧 chore: add root ESLint config and enable lint in pre-commit (+367/-327)
- `f720a25` 🔧 chore: enforce stricter ESLint rules (+4/-5)
- `ec23630` 🔧 chore: add lint:root and lint:fix scripts (+2/-0)
- `2ef457e` ✨ feat(clock): add complete Clock app with backend, web, and landing (+7517/-2)
- `eca8ca6` 🐛 fix(clock): rename theme.ts to theme.svelte.ts for Svelte 5 runes (+0/-0)
- `32eef40` 🐛 fix(clock): update theme.svelte imports (+3/-3)
- `79b629b` ✨ feat(contacts): add import/export with Google Contacts integration (+5302/-6)
- `180eced` ✨ feat(contacts): add import/export with Google Contacts integration (+4182/-5)
- `79dd564` 🐛 fix(clock): use 'lume' as default theme variant instead of 'amber' (+40/-24)
- `604727c` ✨ feat(mail): add complete Mail app with backend, web, mobile, and landing (+15653/-0)
- `2126cd5` ✨ feat(clock): redesign timer page with better UX (+448/-138)
- `8dcf543` 🐛 fix(clock): fix i18n initialization and add missing nav icons (+37/-6)
- `043acf3` 🐛 fix(clock): fix Svelte class directive syntax errors (+3/-10)
- `cda3004` 🔧 chore: misc updates across contacts, mail, and shared-ui (+4615/-2027)
- `39b8a56` 🔧 chore: extend CORS origins and update todo theme (+2/-2)
_… plus 12 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-03
day: 10
view: spieler
weekday: Mittwoch
commits: 32
review: written
---
# Mittwoch, 2025-12-03 — Tag 10
Großer Sprint-Tag mit Schwerpunkt **apps** (32 Commits).
## Highlights
- ✨ feat(calendar): improve header UI and add quick event overlay
- ✨ feat(calendar): add event detail modal and structured location fields
- 🐛 fix(calendar): shift FAB buttons when PillNav is in sidebar mode
- 🔧 chore(voxel-lava): add ESLint v9 flat config for backend
- 🔧 chore: add root ESLint config and enable lint in pre-commit

613
devlog/2025-12-04/data.json Normal file
View file

@ -0,0 +1,613 @@
{
"date": "2025-12-04",
"day_number": 11,
"weekday": "Donnerstag",
"commits": 54,
"authors": [
{
"name": "Till-JS",
"count": 28
},
{
"name": "Wuesteon",
"count": 26
}
],
"additions": 115646,
"deletions": 36556,
"net_lines": 79090,
"files_changed": 1050,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-04T14:37:34.000Z",
"last_commit_at": "2025-12-05T03:26:34.000Z",
"total_span_minutes": 769,
"active_minutes": 275,
"pauses": [
{
"from": "17:46",
"to": "19:08",
"minutes": 82
},
{
"from": "19:09",
"to": "21:53",
"minutes": 164
},
{
"from": "21:53",
"to": "22:58",
"minutes": 65
},
{
"from": "23:40",
"to": "00:15",
"minutes": 35
},
{
"from": "00:15",
"to": "00:50",
"minutes": 35
},
{
"from": "00:50",
"to": "01:33",
"minutes": 43
},
{
"from": "01:33",
"to": "02:10",
"minutes": 38
},
{
"from": "02:12",
"to": "02:45",
"minutes": 32
}
],
"longest_focus_minutes": 129
},
"top_dirs": [
{
"path": "games/figgos/{ => apps",
"pct": 6
},
{
"path": "apps/clock/apps/web",
"pct": 6
},
{
"path": "apps/finance/apps/backend",
"pct": 5
},
{
"path": "apps/finance/apps/web",
"pct": 5
},
{
"path": "apps/manacore/apps/web",
"pct": 5
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 482
},
{
"ext": ".svelte",
"count": 274
},
{
"ext": ".tsx",
"count": 125
},
{
"ext": ".json",
"count": 102
},
{
"ext": ".md",
"count": 26
},
{
"ext": ".yml",
"count": 20
}
],
"tags": ["ci", "staging", "chat-web", "manacore", "cd"],
"commits_list": [
{
"hash": "9eb0b51",
"short": "✨ feat(clock): add 10 new clock face designs",
"type": null,
"scope": null,
"additions": 5937,
"deletions": 10,
"timestamp": "2025-12-04T15:37:34+01:00"
},
{
"hash": "10f4da8",
"short": "✨ feat(manacore): add configurable cross-app dashboard with widgets",
"type": null,
"scope": null,
"additions": 2641,
"deletions": 176,
"timestamp": "2025-12-04T15:41:24+01:00"
},
{
"hash": "6080902",
"short": "✨ feat(clock): add multi-stopwatch support with improved UI",
"type": null,
"scope": null,
"additions": 851,
"deletions": 132,
"timestamp": "2025-12-04T15:42:12+01:00"
},
{
"hash": "03b77ee",
"short": "✨ feat(clock): add life clock page with minimal homepage redesign",
"type": null,
"scope": null,
"additions": 1864,
"deletions": 124,
"timestamp": "2025-12-04T16:00:54+01:00"
},
{
"hash": "949b9c8",
"short": "🎮 feat(games): add figgos game to monorepo",
"type": null,
"scope": null,
"additions": 7769,
"deletions": 0,
"timestamp": "2025-12-04T16:26:25+01:00"
},
{
"hash": "5b3c5ff",
"short": "🐛 fix: resolve type-check errors in finance and moodlit",
"type": null,
"scope": null,
"additions": 30,
"deletions": 0,
"timestamp": "2025-12-04T16:30:01+01:00"
},
{
"hash": "bbe540c",
"short": "✨ feat: add global start page setting across all apps",
"type": null,
"scope": null,
"additions": 602,
"deletions": 22,
"timestamp": "2025-12-04T16:31:04+01:00"
},
{
"hash": "ad0051a",
"short": "✨ feat(finance): add complete finance app with budget tracking",
"type": null,
"scope": null,
"additions": 10502,
"deletions": 0,
"timestamp": "2025-12-04T16:41:43+01:00"
},
{
"hash": "b7eeae9",
"short": "✨ feat(moodlit): add complete web app with fullscreen moods and sequences",
"type": null,
"scope": null,
"additions": 8104,
"deletions": 2,
"timestamp": "2025-12-04T16:53:56+01:00"
},
{
"hash": "234703a",
"short": "♻️ refactor(cd): hardcode non-sensitive config in staging workflow",
"type": null,
"scope": null,
"additions": 188,
"deletions": 20,
"timestamp": "2025-12-04T17:11:36+01:00"
},
{
"hash": "f80b864",
"short": "✨ feat(clock): add interactive world map to world clock page",
"type": null,
"scope": null,
"additions": 558,
"deletions": 26,
"timestamp": "2025-12-04T17:25:58+01:00"
},
{
"hash": "9dee75e",
"short": "✨ feat(clock): improve UI across alarms, timers, pomodoro, and world clock pages",
"type": null,
"scope": null,
"additions": 752,
"deletions": 624,
"timestamp": "2025-12-04T17:26:50+01:00"
},
{
"hash": "05d074c",
"short": "🔧 refactor(figgos): restructure to standard monorepo pattern",
"type": null,
"scope": null,
"additions": 2207,
"deletions": 63,
"timestamp": "2025-12-04T17:27:15+01:00"
},
{
"hash": "ed985d9",
"short": "✨ feat(shared-ui): add centered mode to PageHeader component",
"type": null,
"scope": null,
"additions": 76,
"deletions": 21,
"timestamp": "2025-12-04T17:27:43+01:00"
},
{
"hash": "1b11ebc",
"short": "🐛 fix(shared-feedback-ui): use CreateFeedbackInput type in handleSubmit",
"type": null,
"scope": null,
"additions": 6,
"deletions": 2,
"timestamp": "2025-12-04T17:27:58+01:00"
},
{
"hash": "c93aca0",
"short": "📝 docs: update COMMANDS.md and add APP-IDEAS.md",
"type": null,
"scope": null,
"additions": 170,
"deletions": 0,
"timestamp": "2025-12-04T17:28:16+01:00"
},
{
"hash": "040d044",
"short": "🐛 fix(mana-core-auth): add ConfigModule import to AiModule",
"type": null,
"scope": null,
"additions": 2,
"deletions": 0,
"timestamp": "2025-12-04T17:46:39+01:00"
},
{
"hash": "d69cc60",
"short": "🐛 fix(auth): remove type-only import of ConfigService in AiService",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-04T19:08:37+01:00"
},
{
"hash": "a865da9",
"short": "📝 docs: add NestJS dependency injection troubleshooting",
"type": null,
"scope": null,
"additions": 136,
"deletions": 0,
"timestamp": "2025-12-04T19:09:38+01:00"
},
{
"hash": "60ecc24",
"short": "🐛 fix(auth): remove all type-only ConfigService imports",
"type": null,
"scope": null,
"additions": 6,
"deletions": 6,
"timestamp": "2025-12-04T21:53:28+01:00"
},
{
"hash": "9b26caf",
"short": "🐛 fix(mana-core-auth): remove type-only imports from services and controllers",
"type": null,
"scope": null,
"additions": 5,
"deletions": 5,
"timestamp": "2025-12-04T22:58:45+01:00"
},
{
"hash": "b8f9bc1",
"short": "🐛 fix(chat-backend): remove type-only ConfigService import",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-04T23:02:26+01:00"
},
{
"hash": "9c47119",
"short": "Fix wrong type import, make auth and chat work",
"type": null,
"scope": null,
"additions": 24453,
"deletions": 443,
"timestamp": "2025-12-04T23:25:25+01:00"
},
{
"hash": "952f246",
"short": "fix styleing",
"type": null,
"scope": null,
"additions": 371,
"deletions": 147,
"timestamp": "2025-12-04T23:40:25+01:00"
},
{
"hash": "b6115a6",
"short": "add health route",
"type": null,
"scope": null,
"additions": 15719,
"deletions": 15698,
"timestamp": "2025-12-05T00:15:44+01:00"
},
{
"hash": "6c3b297",
"short": "fix route",
"type": null,
"scope": null,
"additions": 15859,
"deletions": 15859,
"timestamp": "2025-12-05T00:50:23+01:00"
},
{
"hash": "80f8005",
"short": "refactor(staging): simplify CI/CD to mana-core-auth + chat-backend only",
"type": "refactor",
"scope": "staging",
"additions": 600,
"deletions": 158,
"timestamp": "2025-12-05T01:33:01+01:00"
},
{
"hash": "714298f",
"short": "feat(chat-web): add Docker deployment for chat frontend",
"type": "feat",
"scope": "chat-web",
"additions": 424,
"deletions": 332,
"timestamp": "2025-12-05T02:10:32+01:00"
},
{
"hash": "1ecdee4",
"short": "chore(ci): simplify pipelines for rapid testing",
"type": "chore",
"scope": "ci",
"additions": 756,
"deletions": 56,
"timestamp": "2025-12-05T02:12:59+01:00"
},
{
"hash": "eaf82b4",
"short": "fix(ci): remove validate job - Docker builds are self-contained",
"type": "fix",
"scope": "ci",
"additions": 10,
"deletions": 56,
"timestamp": "2025-12-05T02:45:06+01:00"
},
{
"hash": "8253fbb",
"short": "chore(ci): disable test workflows for rapid iteration",
"type": "chore",
"scope": "ci",
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-05T02:47:20+01:00"
},
{
"hash": "be37808",
"short": "fix(chat-web): use runtime env vars instead of static imports",
"type": "fix",
"scope": "chat-web",
"additions": 17,
"deletions": 6,
"timestamp": "2025-12-05T02:49:32+01:00"
},
{
"hash": "c1d14a4",
"short": "chore(ci): rename backup files to .bak to prevent GitHub detection",
"type": "chore",
"scope": "ci",
"additions": 0,
"deletions": 562,
"timestamp": "2025-12-05T03:04:01+01:00"
},
{
"hash": "0aa9ba0",
"short": "chore(ci): disable PR and dependency workflows for minimal setup",
"type": "chore",
"scope": "ci",
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-05T03:06:24+01:00"
},
{
"hash": "4a56c88",
"short": "fix(staging): correct chat-backend health check path to /api/v1/health",
"type": "fix",
"scope": "staging",
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-05T03:32:22+01:00"
},
{
"hash": "0c05097",
"short": "docs: add staging deployment troubleshooting guide",
"type": null,
"scope": null,
"additions": 296,
"deletions": 1,
"timestamp": "2025-12-05T03:35:10+01:00"
},
{
"hash": "cfbc8a2",
"short": "♻️ refactor: unify web app patterns across monorepo",
"type": null,
"scope": null,
"additions": 2215,
"deletions": 175,
"timestamp": "2025-12-05T03:35:26+01:00"
},
{
"hash": "acb5d74",
"short": "📝 docs: add release plan and manacore roadmap",
"type": null,
"scope": null,
"additions": 1405,
"deletions": 113,
"timestamp": "2025-12-05T03:38:27+01:00"
},
{
"hash": "4460807",
"short": "fix(chat-web): inject runtime env vars for client-side auth",
"type": "fix",
"scope": "chat-web",
"additions": 29,
"deletions": 10,
"timestamp": "2025-12-05T03:38:53+01:00"
},
{
"hash": "5fd5423",
"short": "feat(manacore): add Picture, ManaDeck, and Clock dashboard widgets",
"type": "feat",
"scope": "manacore",
"additions": 961,
"deletions": 2,
"timestamp": "2025-12-05T03:45:07+01:00"
},
{
"hash": "00281a8",
"short": "fix(staging): add CORS_ORIGINS to mana-core-auth",
"type": "fix",
"scope": "staging",
"additions": 2,
"deletions": 0,
"timestamp": "2025-12-05T03:56:30+01:00"
},
{
"hash": "113495a",
"short": "docs: add client-side env injection and CORS troubleshooting",
"type": null,
"scope": null,
"additions": 158,
"deletions": 0,
"timestamp": "2025-12-05T04:09:11+01:00"
},
{
"hash": "0fe3975",
"short": "fix(cd): use drizzle-kit push for schema migration",
"type": "fix",
"scope": "cd",
"additions": 68,
"deletions": 2,
"timestamp": "2025-12-05T04:16:32+01:00"
},
{
"hash": "f1ed3e3",
"short": "feat(inventory): add new Inventory app scaffolding",
"type": "feat",
"scope": "inventory",
"additions": 7270,
"deletions": 2,
"timestamp": "2025-12-05T04:19:36+01:00"
},
{
"hash": "a514879",
"short": "refactor(calendar): reorganize routes into (app) layout group",
"type": "refactor",
"scope": "calendar",
"additions": 269,
"deletions": 261,
"timestamp": "2025-12-05T04:19:51+01:00"
},
{
"hash": "4a41b45",
"short": "refactor(clock): reorganize routes into (app) layout group",
"type": "refactor",
"scope": "clock",
"additions": 257,
"deletions": 256,
"timestamp": "2025-12-05T04:19:56+01:00"
},
{
"hash": "ebec369",
"short": "refactor(finance): reorganize routes into (app) layout group",
"type": "refactor",
"scope": "finance",
"additions": 346,
"deletions": 173,
"timestamp": "2025-12-05T04:20:02+01:00"
},
{
"hash": "2f7450b",
"short": "refactor(mail): reorganize routes into (app) layout group",
"type": "refactor",
"scope": "mail",
"additions": 318,
"deletions": 221,
"timestamp": "2025-12-05T04:20:06+01:00"
},
{
"hash": "4a6d946",
"short": "refactor(presi): reorganize routes into (app) and (auth) layout groups",
"type": "refactor",
"scope": "presi",
"additions": 258,
"deletions": 251,
"timestamp": "2025-12-05T04:20:11+01:00"
},
{
"hash": "862560f",
"short": "refactor(todo): reorganize routes into (app) layout group",
"type": "refactor",
"scope": "todo",
"additions": 263,
"deletions": 243,
"timestamp": "2025-12-05T04:20:16+01:00"
},
{
"hash": "fd3341f",
"short": "refactor(zitare): reorganize routes into (app) layout group",
"type": "refactor",
"scope": "zitare",
"additions": 283,
"deletions": 267,
"timestamp": "2025-12-05T04:20:21+01:00"
},
{
"hash": "fca93a9",
"short": "fix(manacore): update app layout",
"type": "fix",
"scope": "manacore",
"additions": 8,
"deletions": 2,
"timestamp": "2025-12-05T04:20:27+01:00"
},
{
"hash": "c3c272a",
"short": "chore: update config files and dependencies",
"type": null,
"scope": null,
"additions": 585,
"deletions": 23,
"timestamp": "2025-12-05T04:20:35+01:00"
},
{
"hash": "da4f05a",
"short": "fix(shared-auth): add UUID fallback for HTTP contexts",
"type": "fix",
"scope": "shared-auth",
"additions": 37,
"deletions": 1,
"timestamp": "2025-12-05T04:26:34+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-04
day: 11
view: macher
weekday: Donnerstag
commits: 54
review: written
---
# Donnerstag, 2025-12-04 — Tag 11 (Macher-Sicht)
## Stats
54 Commits, +115646 / 36556 LoC, 1050 Files. Top-Dirs: `games/figgos/{ => apps` (6%), `apps/clock/apps/web` (6%), `apps/finance/apps/backend` (5%), `apps/finance/apps/web` (5%), `apps/manacore/apps/web` (5%). Tags: ci, staging, chat-web, manacore, cd. Session 14:37 → 03:26 (~275 aktive Min, längster Fokus 129 Min).
## Commits
- `9eb0b51` ✨ feat(clock): add 10 new clock face designs (+5937/-10)
- `10f4da8` ✨ feat(manacore): add configurable cross-app dashboard with widgets (+2641/-176)
- `6080902` ✨ feat(clock): add multi-stopwatch support with improved UI (+851/-132)
- `03b77ee` ✨ feat(clock): add life clock page with minimal homepage redesign (+1864/-124)
- `949b9c8` 🎮 feat(games): add figgos game to monorepo (+7769/-0)
- `5b3c5ff` 🐛 fix: resolve type-check errors in finance and moodlit (+30/-0)
- `bbe540c` ✨ feat: add global start page setting across all apps (+602/-22)
- `ad0051a` ✨ feat(finance): add complete finance app with budget tracking (+10502/-0)
- `b7eeae9` ✨ feat(moodlit): add complete web app with fullscreen moods and sequences (+8104/-2)
- `234703a` ♻️ refactor(cd): hardcode non-sensitive config in staging workflow (+188/-20)
- `f80b864` ✨ feat(clock): add interactive world map to world clock page (+558/-26)
- `9dee75e` ✨ feat(clock): improve UI across alarms, timers, pomodoro, and world clock pages (+752/-624)
- `05d074c` 🔧 refactor(figgos): restructure to standard monorepo pattern (+2207/-63)
- `ed985d9` ✨ feat(shared-ui): add centered mode to PageHeader component (+76/-21)
- `1b11ebc` 🐛 fix(shared-feedback-ui): use CreateFeedbackInput type in handleSubmit (+6/-2)
- `c93aca0` 📝 docs: update COMMANDS.md and add APP-IDEAS.md (+170/-0)
- `040d044` 🐛 fix(mana-core-auth): add ConfigModule import to AiModule (+2/-0)
- `d69cc60` 🐛 fix(auth): remove type-only import of ConfigService in AiService (+1/-1)
- `a865da9` 📝 docs: add NestJS dependency injection troubleshooting (+136/-0)
- `60ecc24` 🐛 fix(auth): remove all type-only ConfigService imports (+6/-6)
_… plus 34 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-04
day: 11
view: spieler
weekday: Donnerstag
commits: 54
review: written
---
# Donnerstag, 2025-12-04 — Tag 11
Großer Sprint-Tag mit Schwerpunkt **games** (54 Commits).
## Highlights
- ✨ feat(clock): add 10 new clock face designs
- ✨ feat(manacore): add configurable cross-app dashboard with widgets
- ✨ feat(clock): add multi-stopwatch support with improved UI
- ✨ feat(clock): add life clock page with minimal homepage redesign
- 🎮 feat(games): add figgos game to monorepo

201
devlog/2025-12-05/data.json Normal file
View file

@ -0,0 +1,201 @@
{
"date": "2025-12-05",
"day_number": 12,
"weekday": "Freitag",
"commits": 11,
"authors": [
{
"name": "Till-JS",
"count": 9
},
{
"name": "Wuesteon",
"count": 2
}
],
"additions": 79293,
"deletions": 5883,
"net_lines": 73410,
"files_changed": 1376,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-05T12:13:15.000Z",
"last_commit_at": "2025-12-05T16:57:26.000Z",
"total_span_minutes": 284,
"active_minutes": 56,
"pauses": [
{
"from": "13:47",
"to": "15:09",
"minutes": 81
},
{
"from": "15:30",
"to": "17:18",
"minutes": 108
},
{
"from": "17:18",
"to": "17:57",
"minutes": 39
}
],
"longest_focus_minutes": 34
},
"top_dirs": [
{
"path": "apps/context/apps/mobile",
"pct": 13
},
{
"path": "apps-archived/techbase/apps",
"pct": 11
},
{
"path": "{apps => apps-archived}/presi/apps",
"pct": 10
},
{
"path": "{apps => apps-archived}/mail/apps",
"pct": 9
},
{
"path": "games/worldream/{ => apps",
"pct": 8
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 541
},
{
"ext": ".svelte",
"count": 238
},
{
"ext": ".tsx",
"count": 166
},
{
"ext": ".json",
"count": 123
},
{
"ext": ".md",
"count": 115
},
{
"ext": ".astro",
"count": 49
}
],
"tags": ["mana-core-auth", "games", "context"],
"commits_list": [
{
"hash": "ace7fa8",
"short": "chore: archive finance, mail, moodlit apps and rename voxel-lava",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-05T13:13:15+01:00"
},
{
"hash": "8e414c1",
"short": "feat(games): add worldream game to monorepo",
"type": "feat",
"scope": "games",
"additions": 26745,
"deletions": 0,
"timestamp": "2025-12-05T13:24:06+01:00"
},
{
"hash": "1731347",
"short": "fix(mana-core-auth): use JWKS with jose for JWT verification",
"type": "fix",
"scope": "mana-core-auth",
"additions": 43,
"deletions": 28,
"timestamp": "2025-12-05T13:26:19+01:00"
},
{
"hash": "34c8799",
"short": "chore: add techbase to apps-archived",
"type": null,
"scope": null,
"additions": 12613,
"deletions": 0,
"timestamp": "2025-12-05T13:47:39+01:00"
},
{
"hash": "bb0e0cf",
"short": "🚚 feat(context): integrate context app into monorepo",
"type": null,
"scope": null,
"additions": 31903,
"deletions": 474,
"timestamp": "2025-12-05T15:09:04+01:00"
},
{
"hash": "44897ae",
"short": "chore: archive inventory, presi, storage apps",
"type": null,
"scope": null,
"additions": 24,
"deletions": 70,
"timestamp": "2025-12-05T15:22:38+01:00"
},
{
"hash": "12f5917",
"short": "docs: update CLAUDE.md for archived apps",
"type": null,
"scope": null,
"additions": 3,
"deletions": 2,
"timestamp": "2025-12-05T15:29:58+01:00"
},
{
"hash": "dbf5745",
"short": "fix(mana-core-auth): configure helmet for cross-origin requests",
"type": "fix",
"scope": "mana-core-auth",
"additions": 8,
"deletions": 2,
"timestamp": "2025-12-05T15:30:12+01:00"
},
{
"hash": "86a6ff2",
"short": "fix(context): add expo-font dependency and fix TypeScript issues",
"type": "fix",
"scope": "context",
"additions": 7941,
"deletions": 5307,
"timestamp": "2025-12-05T15:30:31+01:00"
},
{
"hash": "9be1125",
"short": "update docs",
"type": null,
"scope": null,
"additions": 13,
"deletions": 0,
"timestamp": "2025-12-05T17:18:40+01:00"
},
{
"hash": "d41d060",
"short": "Merge branch 'dev-1' into dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-05T17:57:26+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,28 @@
---
date: 2025-12-05
day: 12
view: macher
weekday: Freitag
commits: 11
review: written
---
# Freitag, 2025-12-05 — Tag 12 (Macher-Sicht)
## Stats
11 Commits, +79293 / 5883 LoC, 1376 Files. Top-Dirs: `apps/context/apps/mobile` (13%), `apps-archived/techbase/apps` (11%), `{apps => apps-archived}/presi/apps` (10%), `{apps => apps-archived}/mail/apps` (9%), `games/worldream/{ => apps` (8%). Tags: mana-core-auth, games, context. Session 12:13 → 16:57 (~56 aktive Min, längster Fokus 34 Min).
## Commits
- `ace7fa8` chore: archive finance, mail, moodlit apps and rename voxel-lava (+0/-0)
- `8e414c1` feat(games): add worldream game to monorepo (+26745/-0)
- `1731347` fix(mana-core-auth): use JWKS with jose for JWT verification (+43/-28)
- `34c8799` chore: add techbase to apps-archived (+12613/-0)
- `bb0e0cf` 🚚 feat(context): integrate context app into monorepo (+31903/-474)
- `44897ae` chore: archive inventory, presi, storage apps (+24/-70)
- `12f5917` docs: update CLAUDE.md for archived apps (+3/-2)
- `dbf5745` fix(mana-core-auth): configure helmet for cross-origin requests (+8/-2)
- `86a6ff2` fix(context): add expo-font dependency and fix TypeScript issues (+7941/-5307)
- `9be1125` update docs (+13/-0)
- `d41d060` Merge branch 'dev-1' into dev (+0/-0)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-05
day: 12
view: spieler
weekday: Freitag
commits: 11
review: written
---
# Freitag, 2025-12-05 — Tag 12
Dichter Tag in **apps** und Umgebung.
## Highlights
- add worldream game to monorepo
- use JWKS with jose for JWT verification
- 🚚 feat(context): integrate context app into monorepo
- update CLAUDE.md for archived apps
- configure helmet for cross-origin requests

174
devlog/2025-12-07/data.json Normal file
View file

@ -0,0 +1,174 @@
{
"date": "2025-12-07",
"day_number": 13,
"weekday": "Sonntag",
"commits": 9,
"authors": [
{
"name": "Till-JS",
"count": 9
}
],
"additions": 8093,
"deletions": 1471,
"net_lines": 6622,
"files_changed": 96,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-07T12:23:45.000Z",
"last_commit_at": "2025-12-07T15:36:17.000Z",
"total_span_minutes": 193,
"active_minutes": 31,
"pauses": [
{
"from": "13:23",
"to": "14:44",
"minutes": 81
},
{
"from": "14:44",
"to": "16:06",
"minutes": 81
}
],
"longest_focus_minutes": 30
},
"top_dirs": [
{
"path": "apps/manacore/apps/web",
"pct": 28
},
{
"path": "apps/todo/apps/web",
"pct": 20
},
{
"path": "services/mana-core-auth/src",
"pct": 18
},
{
"path": "apps/todo/apps/backend",
"pct": 11
},
{
"path": "apps/picture/apps/web",
"pct": 4
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 56
},
{
"ext": ".svelte",
"count": 38
},
{
"ext": ".mjs",
"count": 8
},
{
"ext": ".md",
"count": 2
},
{
"ext": ".json",
"count": 2
},
{
"ext": ".yaml",
"count": 1
}
],
"tags": ["manacore", "todo", "auth", "picture", "settings"],
"commits_list": [
{
"hash": "ee52f6c",
"short": "chore: remove empty archived app stubs from apps/",
"type": null,
"scope": null,
"additions": 0,
"deletions": 111,
"timestamp": "2025-12-07T13:23:45+01:00"
},
{
"hash": "a6cc0b8",
"short": "fix(manacore): auth flow and dashboard widget API fixes",
"type": "fix",
"scope": "manacore",
"additions": 2634,
"deletions": 68,
"timestamp": "2025-12-07T14:44:58+01:00"
},
{
"hash": "e3ba35b",
"short": "refactor(todo): unify task views into single page with collapsible sections",
"type": "refactor",
"scope": "todo",
"additions": 492,
"deletions": 330,
"timestamp": "2025-12-07T16:06:08+01:00"
},
{
"hash": "6d91831",
"short": "feat(auth): add fraud detection, cron jobs, and admin endpoints to referral system",
"type": "feat",
"scope": "auth",
"additions": 1522,
"deletions": 415,
"timestamp": "2025-12-07T16:09:39+01:00"
},
{
"hash": "6f8585e",
"short": "fix(manacore): improve API response handling and auth flow",
"type": "fix",
"scope": "manacore",
"additions": 110,
"deletions": 80,
"timestamp": "2025-12-07T16:10:51+01:00"
},
{
"hash": "833a828",
"short": "fix(picture): update API client to v1 endpoint and rename steps param",
"type": "fix",
"scope": "picture",
"additions": 6,
"deletions": 6,
"timestamp": "2025-12-07T16:11:04+01:00"
},
{
"hash": "9ece591",
"short": "docs: add referral system implementation plan",
"type": null,
"scope": null,
"additions": 1247,
"deletions": 0,
"timestamp": "2025-12-07T16:11:23+01:00"
},
{
"hash": "7b8335a",
"short": "fix(settings): unify global settings across web apps",
"type": "fix",
"scope": "settings",
"additions": 25,
"deletions": 461,
"timestamp": "2025-12-07T16:28:00+01:00"
},
{
"hash": "bb59227",
"short": "feat(todo): add Kanban board with drag & drop and filters",
"type": "feat",
"scope": "todo",
"additions": 2057,
"deletions": 0,
"timestamp": "2025-12-07T16:36:17+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,26 @@
---
date: 2025-12-07
day: 13
view: macher
weekday: Sonntag
commits: 9
review: written
---
# Sonntag, 2025-12-07 — Tag 13 (Macher-Sicht)
## Stats
9 Commits, +8093 / 1471 LoC, 96 Files. Top-Dirs: `apps/manacore/apps/web` (28%), `apps/todo/apps/web` (20%), `services/mana-core-auth/src` (18%), `apps/todo/apps/backend` (11%), `apps/picture/apps/web` (4%). Tags: manacore, todo, auth, picture, settings. Session 12:23 → 15:36 (~31 aktive Min, längster Fokus 30 Min).
## Commits
- `ee52f6c` chore: remove empty archived app stubs from apps/ (+0/-111)
- `a6cc0b8` fix(manacore): auth flow and dashboard widget API fixes (+2634/-68)
- `e3ba35b` refactor(todo): unify task views into single page with collapsible sections (+492/-330)
- `6d91831` feat(auth): add fraud detection, cron jobs, and admin endpoints to referral system (+1522/-415)
- `6f8585e` fix(manacore): improve API response handling and auth flow (+110/-80)
- `833a828` fix(picture): update API client to v1 endpoint and rename steps param (+6/-6)
- `9ece591` docs: add referral system implementation plan (+1247/-0)
- `7b8335a` fix(settings): unify global settings across web apps (+25/-461)
- `bb59227` feat(todo): add Kanban board with drag & drop and filters (+2057/-0)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-07
day: 13
view: spieler
weekday: Sonntag
commits: 9
review: written
---
# Sonntag, 2025-12-07 — Tag 13
Dichter Tag in **apps** und Umgebung.
## Highlights
- auth flow and dashboard widget API fixes
- add fraud detection, cron jobs, and admin endpoints to referral system
- improve API response handling and auth flow
- update API client to v1 endpoint and rename steps param
- add referral system implementation plan

419
devlog/2025-12-08/data.json Normal file
View file

@ -0,0 +1,419 @@
{
"date": "2025-12-08",
"day_number": 14,
"weekday": "Montag",
"commits": 34,
"authors": [
{
"name": "Wuesteon",
"count": 34
}
],
"additions": 5273,
"deletions": 3519,
"net_lines": 1754,
"files_changed": 90,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-08T11:53:42.000Z",
"last_commit_at": "2025-12-09T01:13:11.000Z",
"total_span_minutes": 799,
"active_minutes": 358,
"pauses": [
{
"from": "12:56",
"to": "14:38",
"minutes": 102
},
{
"from": "14:44",
"to": "15:51",
"minutes": 68
},
{
"from": "17:04",
"to": "17:35",
"minutes": 31
},
{
"from": "19:51",
"to": "20:49",
"minutes": 58
},
{
"from": "23:11",
"to": "01:00",
"minutes": 109
},
{
"from": "01:00",
"to": "02:13",
"minutes": 73
}
],
"longest_focus_minutes": 141
},
"top_dirs": [
{
"path": "apps/manacore/apps/web",
"pct": 23
},
{
"path": "apps/calendar/apps/web",
"pct": 9
},
{
"path": "apps/clock/apps/web",
"pct": 9
},
{
"path": "apps/todo/apps/web",
"pct": 8
},
{
"path": "services/mana-core-auth/src",
"pct": 7
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 40
},
{
"ext": "<no-ext>",
"count": 29
},
{
"ext": ".yml",
"count": 17
},
{
"ext": ".md",
"count": 13
},
{
"ext": ".json",
"count": 9
},
{
"ext": ".svelte",
"count": 7
}
],
"tags": ["ci", "web", "staging", "todo-web", "docker"],
"commits_list": [
{
"hash": "8de629d",
"short": "🚀 ci: add dev branch workflow with PR validation",
"type": null,
"scope": null,
"additions": 80,
"deletions": 13,
"timestamp": "2025-12-08T12:53:42+01:00"
},
{
"hash": "e423785",
"short": "🔧 ci: remove auto-deploy, keep manual/tag-based only",
"type": null,
"scope": null,
"additions": 6,
"deletions": 21,
"timestamp": "2025-12-08T12:56:06+01:00"
},
{
"hash": "67a15cc",
"short": "🧑‍💻 dx: add automatic database setup and dev:*:full commands",
"type": null,
"scope": null,
"additions": 515,
"deletions": 18,
"timestamp": "2025-12-08T14:38:18+01:00"
},
{
"hash": "541e227",
"short": "🙈 chore: ignore claude-flow metrics from git tracking",
"type": null,
"scope": null,
"additions": 1,
"deletions": 662,
"timestamp": "2025-12-08T14:38:41+01:00"
},
{
"hash": "60756f7",
"short": "small linting fixes",
"type": null,
"scope": null,
"additions": 5,
"deletions": 7,
"timestamp": "2025-12-08T14:44:17+01:00"
},
{
"hash": "bb4e12c",
"short": "🐛 fix: resolve auth issues in Manacore, Calendar, and Clock apps",
"type": null,
"scope": null,
"additions": 35,
"deletions": 69,
"timestamp": "2025-12-08T15:51:57+01:00"
},
{
"hash": "5e0b5a8",
"short": "🚀 ci: add Docker deployment for Manacore, Todo, Calendar, and Clock apps",
"type": null,
"scope": null,
"additions": 898,
"deletions": 0,
"timestamp": "2025-12-08T16:04:50+01:00"
},
{
"hash": "63a5674",
"short": "🐛 fix: add build args for SvelteKit env vars in web Dockerfiles",
"type": null,
"scope": null,
"additions": 38,
"deletions": 0,
"timestamp": "2025-12-08T16:15:42+01:00"
},
{
"hash": "f0d57c1",
"short": "🐛 fix: switch web apps to adapter-node for Docker builds",
"type": null,
"scope": null,
"additions": 482,
"deletions": 287,
"timestamp": "2025-12-08T16:30:04+01:00"
},
{
"hash": "48c5cb4",
"short": "🐛 fix: add MIDDLEWARE_URL to manacore-web Dockerfile",
"type": null,
"scope": null,
"additions": 2,
"deletions": 0,
"timestamp": "2025-12-08T16:37:18+01:00"
},
{
"hash": "ee091c4",
"short": "♻️ refactor: migrate manacore-web from Supabase to mana-core-auth",
"type": null,
"scope": null,
"additions": 350,
"deletions": 632,
"timestamp": "2025-12-08T17:04:35+01:00"
},
{
"hash": "9746db1",
"short": "🚀 ci: add manacore, todo, calendar, clock to tagged deployment workflow",
"type": null,
"scope": null,
"additions": 35,
"deletions": 4,
"timestamp": "2025-12-08T17:35:11+01:00"
},
{
"hash": "59ce92a",
"short": "🔧 fix: deployment workflow - lowercase image prefix, service names, and port fixes",
"type": null,
"scope": null,
"additions": 15,
"deletions": 7,
"timestamp": "2025-12-08T17:54:40+01:00"
},
{
"hash": "73dfe57",
"short": "🔧 fix: add GHCR authentication for staging server",
"type": null,
"scope": null,
"additions": 6,
"deletions": 0,
"timestamp": "2025-12-08T18:13:17+01:00"
},
{
"hash": "3485bf0",
"short": "fix(ci): use GITHUB_TOKEN for GHCR auth on staging server",
"type": "fix",
"scope": "ci",
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-08T18:16:11+01:00"
},
{
"hash": "aa8cbb1",
"short": "fix(ci): correct health check path for backend deployments",
"type": "fix",
"scope": "ci",
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-08T18:41:45+01:00"
},
{
"hash": "17c4932",
"short": "fix(todo-web): remove silent npm install failure in Dockerfile",
"type": "fix",
"scope": "todo-web",
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-08T18:58:31+01:00"
},
{
"hash": "ef44c06",
"short": "fix(web): remove silent npm install failures in all web Dockerfiles",
"type": "fix",
"scope": "web",
"additions": 4,
"deletions": 4,
"timestamp": "2025-12-08T18:59:08+01:00"
},
{
"hash": "75d9d18",
"short": "fix(web): copy node_modules from builder instead of npm install",
"type": "fix",
"scope": "web",
"additions": 10,
"deletions": 20,
"timestamp": "2025-12-08T19:24:52+01:00"
},
{
"hash": "fd1c0ee",
"short": "fix(docker): preserve pnpm symlink structure in web Dockerfiles",
"type": "fix",
"scope": "docker",
"additions": 45,
"deletions": 15,
"timestamp": "2025-12-08T19:38:49+01:00"
},
{
"hash": "828b6d7",
"short": "docs: add pnpm Docker symlinks troubleshooting guide",
"type": null,
"scope": null,
"additions": 129,
"deletions": 0,
"timestamp": "2025-12-08T19:51:14+01:00"
},
{
"hash": "3d717eb",
"short": "fix(web): add runtime env injection for auth URLs in todo, calendar, clock",
"type": "fix",
"scope": "web",
"additions": 176,
"deletions": 19,
"timestamp": "2025-12-08T20:49:39+01:00"
},
{
"hash": "7f7b8b6",
"short": "docs: add SvelteKit runtime env injection guidelines and troubleshooting",
"type": null,
"scope": null,
"additions": 222,
"deletions": 3,
"timestamp": "2025-12-08T20:54:13+01:00"
},
{
"hash": "c96820d",
"short": "fix(ci): pass version tags to docker-compose via .env file",
"type": "fix",
"scope": "ci",
"additions": 39,
"deletions": 2,
"timestamp": "2025-12-08T21:23:36+01:00"
},
{
"hash": "e02e2b3",
"short": "fix(staging): add all web app origins to mana-core-auth CORS",
"type": "fix",
"scope": "staging",
"additions": 2,
"deletions": 2,
"timestamp": "2025-12-08T21:28:06+01:00"
},
{
"hash": "7caeea4",
"short": "fix(manacore-web): add runtime env injection for auth URLs",
"type": "fix",
"scope": "manacore-web",
"additions": 39,
"deletions": 10,
"timestamp": "2025-12-08T21:47:02+01:00"
},
{
"hash": "4398fbc",
"short": "fix(manacore-web,todo-web): use runtime URLs for backend API services",
"type": "fix",
"scope": "manacore-web,todo-web",
"additions": 123,
"deletions": 24,
"timestamp": "2025-12-08T22:03:12+01:00"
},
{
"hash": "a50e4e5",
"short": "fix(staging): add manacore-web origin to backend CORS configs",
"type": "fix",
"scope": "staging",
"additions": 3,
"deletions": 3,
"timestamp": "2025-12-08T22:27:34+01:00"
},
{
"hash": "66bc3e9",
"short": "docs: add staging deployment issues troubleshooting guide",
"type": null,
"scope": null,
"additions": 267,
"deletions": 0,
"timestamp": "2025-12-08T22:43:53+01:00"
},
{
"hash": "6db8753",
"short": "debug(auth): add detailed logging to JwtAuthGuard",
"type": "debug",
"scope": "auth",
"additions": 10,
"deletions": 2,
"timestamp": "2025-12-08T22:52:59+01:00"
},
{
"hash": "81a2970",
"short": "docs: add tag naming convention for mana-core-auth",
"type": null,
"scope": null,
"additions": 12,
"deletions": 0,
"timestamp": "2025-12-08T23:02:40+01:00"
},
{
"hash": "d074e6d",
"short": "docs: comprehensive staging deployment troubleshooting guide",
"type": null,
"scope": null,
"additions": 132,
"deletions": 3,
"timestamp": "2025-12-08T23:11:01+01:00"
},
{
"hash": "18a7b2d",
"short": "docs: add setup templates and checklists for recurring tasks",
"type": null,
"scope": null,
"additions": 450,
"deletions": 0,
"timestamp": "2025-12-09T01:00:02+01:00"
},
{
"hash": "8af0172",
"short": "✨ feat(db): add production-safe migration system with advisory locks",
"type": null,
"scope": null,
"additions": 1139,
"deletions": 1689,
"timestamp": "2025-12-09T02:13:11+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-08
day: 14
view: macher
weekday: Montag
commits: 34
review: written
---
# Montag, 2025-12-08 — Tag 14 (Macher-Sicht)
## Stats
34 Commits, +5273 / 3519 LoC, 90 Files. Top-Dirs: `apps/manacore/apps/web` (23%), `apps/calendar/apps/web` (9%), `apps/clock/apps/web` (9%), `apps/todo/apps/web` (8%), `services/mana-core-auth/src` (7%). Tags: ci, web, staging, todo-web, docker. Session 11:53 → 01:13 (~358 aktive Min, längster Fokus 141 Min).
## Commits
- `8de629d` 🚀 ci: add dev branch workflow with PR validation (+80/-13)
- `e423785` 🔧 ci: remove auto-deploy, keep manual/tag-based only (+6/-21)
- `67a15cc` 🧑‍💻 dx: add automatic database setup and dev:\*:full commands (+515/-18)
- `541e227` 🙈 chore: ignore claude-flow metrics from git tracking (+1/-662)
- `60756f7` small linting fixes (+5/-7)
- `bb4e12c` 🐛 fix: resolve auth issues in Manacore, Calendar, and Clock apps (+35/-69)
- `5e0b5a8` 🚀 ci: add Docker deployment for Manacore, Todo, Calendar, and Clock apps (+898/-0)
- `63a5674` 🐛 fix: add build args for SvelteKit env vars in web Dockerfiles (+38/-0)
- `f0d57c1` 🐛 fix: switch web apps to adapter-node for Docker builds (+482/-287)
- `48c5cb4` 🐛 fix: add MIDDLEWARE_URL to manacore-web Dockerfile (+2/-0)
- `ee091c4` ♻️ refactor: migrate manacore-web from Supabase to mana-core-auth (+350/-632)
- `9746db1` 🚀 ci: add manacore, todo, calendar, clock to tagged deployment workflow (+35/-4)
- `59ce92a` 🔧 fix: deployment workflow - lowercase image prefix, service names, and port fixes (+15/-7)
- `73dfe57` 🔧 fix: add GHCR authentication for staging server (+6/-0)
- `3485bf0` fix(ci): use GITHUB_TOKEN for GHCR auth on staging server (+1/-1)
- `aa8cbb1` fix(ci): correct health check path for backend deployments (+1/-1)
- `17c4932` fix(todo-web): remove silent npm install failure in Dockerfile (+1/-1)
- `ef44c06` fix(web): remove silent npm install failures in all web Dockerfiles (+4/-4)
- `75d9d18` fix(web): copy node_modules from builder instead of npm install (+10/-20)
- `fd1c0ee` fix(docker): preserve pnpm symlink structure in web Dockerfiles (+45/-15)
_… plus 14 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-08
day: 14
view: spieler
weekday: Montag
commits: 34
review: written
---
# Montag, 2025-12-08 — Tag 14
Großer Sprint-Tag mit Schwerpunkt **apps** (34 Commits).
## Highlights
- 🚀 ci: add dev branch workflow with PR validation
- 🔧 ci: remove auto-deploy, keep manual/tag-based only
- 🧑‍💻 dx: add automatic database setup and dev:\*:full commands
- 🙈 chore: ignore claude-flow metrics from git tracking
- small linting fixes

580
devlog/2025-12-09/data.json Normal file
View file

@ -0,0 +1,580 @@
{
"date": "2025-12-09",
"day_number": 15,
"weekday": "Dienstag",
"commits": 51,
"authors": [
{
"name": "Till-JS",
"count": 34
},
{
"name": "Wuesteon",
"count": 15
},
{
"name": "Nils Weiser",
"count": 2
}
],
"additions": 98123,
"deletions": 18954,
"net_lines": 79169,
"files_changed": 505,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-09T11:27:57.000Z",
"last_commit_at": "2025-12-10T02:35:28.000Z",
"total_span_minutes": 908,
"active_minutes": 323,
"pauses": [
{
"from": "13:30",
"to": "14:04",
"minutes": 34
},
{
"from": "15:02",
"to": "15:52",
"minutes": 50
},
{
"from": "16:40",
"to": "17:45",
"minutes": 65
},
{
"from": "18:15",
"to": "19:41",
"minutes": 86
},
{
"from": "19:41",
"to": "20:24",
"minutes": 43
},
{
"from": "20:49",
"to": "01:56",
"minutes": 307
}
],
"longest_focus_minutes": 99
},
"top_dirs": [
{
"path": "apps/contacts/apps/web",
"pct": 20
},
{
"path": "apps/todo/apps/web",
"pct": 9
},
{
"path": "packages/shared-ui/src",
"pct": 7
},
{
"path": "apps/contacts/apps/backend",
"pct": 7
},
{
"path": "apps/calendar/apps/web",
"pct": 5
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 312
},
{
"ext": ".ts",
"count": 302
},
{
"ext": ".md",
"count": 123
},
{
"ext": ".json",
"count": 51
},
{
"ext": ".tsx",
"count": 16
},
{
"ext": ".yml",
"count": 10
}
],
"tags": ["todo", "contacts", "shared-ui", "ui", "settings"],
"commits_list": [
{
"hash": "241dc61",
"short": "Merge branch 'dev' of https://github.com/Memo-2023/manacore-monorepo into dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-09T12:27:57+01:00"
},
{
"hash": "fb76cdc",
"short": "fix(settings): unify global settings across all web apps",
"type": "fix",
"scope": "settings",
"additions": 7,
"deletions": 357,
"timestamp": "2025-12-09T12:37:49+01:00"
},
{
"hash": "eb98f89",
"short": "fix(settings): complete global settings unification for remaining apps",
"type": "fix",
"scope": "settings",
"additions": 9,
"deletions": 114,
"timestamp": "2025-12-09T12:45:10+01:00"
},
{
"hash": "3703904",
"short": "feat(todo): redesign task input and items with glass-pill style",
"type": "feat",
"scope": "todo",
"additions": 812,
"deletions": 129,
"timestamp": "2025-12-09T13:00:29+01:00"
},
{
"hash": "b148a72",
"short": "feat(referral): integrate referral system frontend",
"type": "feat",
"scope": "referral",
"additions": 492,
"deletions": 10,
"timestamp": "2025-12-09T13:01:43+01:00"
},
{
"hash": "00dadc9",
"short": "docs(todo): add task metadata reference documentation",
"type": "docs",
"scope": "todo",
"additions": 250,
"deletions": 0,
"timestamp": "2025-12-09T13:04:39+01:00"
},
{
"hash": "863dd62",
"short": "feat(todo): add comprehensive settings page with 20+ preferences",
"type": "feat",
"scope": "todo",
"additions": 1570,
"deletions": 2,
"timestamp": "2025-12-09T13:30:02+01:00"
},
{
"hash": "3e35e6a",
"short": "feat(todo): add task edit modal and fix task loading",
"type": "feat",
"scope": "todo",
"additions": 1718,
"deletions": 25,
"timestamp": "2025-12-09T14:04:11+01:00"
},
{
"hash": "0c2434b",
"short": "feat(todo): add task metadata fields and mana page",
"type": "feat",
"scope": "todo",
"additions": 131,
"deletions": 2,
"timestamp": "2025-12-09T14:29:56+01:00"
},
{
"hash": "d45a9db",
"short": "feat(todo): add statistics page with visualizations",
"type": "feat",
"scope": "todo",
"additions": 2032,
"deletions": 329,
"timestamp": "2025-12-09T14:37:44+01:00"
},
{
"hash": "1ac74c9",
"short": "feat(todo): add PWA support with offline capabilities",
"type": "feat",
"scope": "todo",
"additions": 1292,
"deletions": 2,
"timestamp": "2025-12-09T14:40:42+01:00"
},
{
"hash": "c88626d",
"short": "feat(todo): add multiple kanban boards with task editing features",
"type": "feat",
"scope": "todo",
"additions": 2665,
"deletions": 397,
"timestamp": "2025-12-09T14:41:50+01:00"
},
{
"hash": "a52e518",
"short": "Docs",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-09T14:48:53+01:00"
},
{
"hash": "23c2d85",
"short": "📝 docs(cicd): add comprehensive deployment guide with CI/CD architecture",
"type": null,
"scope": null,
"additions": 619,
"deletions": 0,
"timestamp": "2025-12-09T15:02:44+01:00"
},
{
"hash": "3808f29",
"short": "📝 docs: add audit documentation and metrics",
"type": null,
"scope": null,
"additions": 21899,
"deletions": 386,
"timestamp": "2025-12-09T15:52:29+01:00"
},
{
"hash": "3cf0a43",
"short": "🚀 ci: add todo-backend and todo-web to CI/CD pipeline",
"type": null,
"scope": null,
"additions": 148,
"deletions": 1,
"timestamp": "2025-12-09T15:52:48+01:00"
},
{
"hash": "582c6f5",
"short": "🐛 fix(ci): prevent container name conflict in staging deployment",
"type": null,
"scope": null,
"additions": 23,
"deletions": 6,
"timestamp": "2025-12-09T15:59:06+01:00"
},
{
"hash": "4e63f3f",
"short": "fix(todo): use TEXT for user_id columns (Better Auth compatibility)",
"type": "fix",
"scope": "todo",
"additions": 87,
"deletions": 16,
"timestamp": "2025-12-09T16:24:22+01:00"
},
{
"hash": "f440ca2",
"short": "fix(db): use TEXT for user_id columns across entire codebase",
"type": "fix",
"scope": "db",
"additions": 73,
"deletions": 53,
"timestamp": "2025-12-09T16:30:51+01:00"
},
{
"hash": "79b4bb0",
"short": "feat(ci): add database migrations step to tagged staging deployments",
"type": "feat",
"scope": "ci",
"additions": 112,
"deletions": 3,
"timestamp": "2025-12-09T16:40:46+01:00"
},
{
"hash": "dd40bb4",
"short": "feat(contacts): add duplicate detection, photo upload, and batch operations",
"type": "feat",
"scope": "contacts",
"additions": 5172,
"deletions": 617,
"timestamp": "2025-12-09T17:45:29+01:00"
},
{
"hash": "09599c2",
"short": "refactor(shared-ui): convert SettingsSelect from CSS to Tailwind classes",
"type": "refactor",
"scope": "shared-ui",
"additions": 29,
"deletions": 150,
"timestamp": "2025-12-09T17:46:08+01:00"
},
{
"hash": "76f573f",
"short": "refactor(shared-ui): convert settings components from scoped CSS to Tailwind",
"type": "refactor",
"scope": "shared-ui",
"additions": 119,
"deletions": 573,
"timestamp": "2025-12-09T17:49:07+01:00"
},
{
"hash": "4e5d12a",
"short": "feat(contacts): add enhanced favorites page with multiple view modes",
"type": "feat",
"scope": "contacts",
"additions": 4125,
"deletions": 640,
"timestamp": "2025-12-09T18:00:55+01:00"
},
{
"hash": "05dd9a0",
"short": "fix(contacts): remove groups store dependency from data page",
"type": "fix",
"scope": "contacts",
"additions": 6,
"deletions": 30,
"timestamp": "2025-12-09T18:07:56+01:00"
},
{
"hash": "99c2824",
"short": "refactor(contacts): consolidate groups into tags feature",
"type": "refactor",
"scope": "contacts",
"additions": 116,
"deletions": 3024,
"timestamp": "2025-12-09T18:15:32+01:00"
},
{
"hash": "b6158a8",
"short": "feat(ui): add comprehensive skeleton loaders for contacts and todo apps",
"type": "feat",
"scope": "ui",
"additions": 2303,
"deletions": 111,
"timestamp": "2025-12-09T19:41:19+01:00"
},
{
"hash": "1dda437",
"short": "feat(help): add centralized help system with shared packages",
"type": "feat",
"scope": "help",
"additions": 5482,
"deletions": 0,
"timestamp": "2025-12-09T20:24:22+01:00"
},
{
"hash": "2b3f92f",
"short": "feat(contacts): add interactive network graph visualization",
"type": "feat",
"scope": "contacts",
"additions": 2142,
"deletions": 4,
"timestamp": "2025-12-09T20:29:38+01:00"
},
{
"hash": "a4846ae",
"short": "feat(shared-ui): add global CommandBar component with search across apps",
"type": "feat",
"scope": "shared-ui",
"additions": 899,
"deletions": 17,
"timestamp": "2025-12-09T20:35:58+01:00"
},
{
"hash": "7987fe0",
"short": "feat(ui): add skeleton loaders for calendar and clock apps",
"type": "feat",
"scope": "ui",
"additions": 558,
"deletions": 102,
"timestamp": "2025-12-09T20:36:37+01:00"
},
{
"hash": "fb7c788",
"short": "feat(ui): add Phosphor Icons to PillNavigation",
"type": "feat",
"scope": "ui",
"additions": 275,
"deletions": 148,
"timestamp": "2025-12-09T20:40:44+01:00"
},
{
"hash": "5cf9f81",
"short": "feat(contacts): improve network page with contact detail sidebar",
"type": "feat",
"scope": "contacts",
"additions": 80,
"deletions": 384,
"timestamp": "2025-12-09T20:46:16+01:00"
},
{
"hash": "25fd0c2",
"short": "feat(contacts): add archive link to settings page",
"type": "feat",
"scope": "contacts",
"additions": 18,
"deletions": 1,
"timestamp": "2025-12-09T20:47:56+01:00"
},
{
"hash": "2e6f151",
"short": "feat(contacts): add SearchModal component and help content",
"type": "feat",
"scope": "contacts",
"additions": 689,
"deletions": 0,
"timestamp": "2025-12-09T20:49:56+01:00"
},
{
"hash": "c61dcb8",
"short": "docs: remove all Coolify references from codebase",
"type": null,
"scope": null,
"additions": 175,
"deletions": 4740,
"timestamp": "2025-12-10T01:56:38+01:00"
},
{
"hash": "6239cc7",
"short": "fix: use $env/dynamic/private for runtime env vars in SvelteKit hooks",
"type": null,
"scope": null,
"additions": 67,
"deletions": 71,
"timestamp": "2025-12-10T02:20:49+01:00"
},
{
"hash": "3fa7b02",
"short": "feat: add email service and storage module + fix runtime env vars",
"type": null,
"scope": null,
"additions": 1222,
"deletions": 75,
"timestamp": "2025-12-10T02:22:34+01:00"
},
{
"hash": "e84371a",
"short": "Merge pull request #13 from Memo-2023/n-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-10T02:31:03+01:00"
},
{
"hash": "ee42b6c",
"short": "feat: major update with network graphs, themes, todo extensions, and more",
"type": null,
"scope": null,
"additions": 39260,
"deletions": 6251,
"timestamp": "2025-12-10T02:37:46+01:00"
},
{
"hash": "d06df86",
"short": "docs: add Git workflow guide",
"type": null,
"scope": null,
"additions": 254,
"deletions": 0,
"timestamp": "2025-12-10T02:45:04+01:00"
},
{
"hash": "9955939",
"short": "fix(docker): add shared-storage package to chat-backend Dockerfile",
"type": "fix",
"scope": "docker",
"additions": 4,
"deletions": 0,
"timestamp": "2025-12-10T02:46:57+01:00"
},
{
"hash": "dae8c9d",
"short": "Merge pull request #14 from Memo-2023/till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-10T02:47:58+01:00"
},
{
"hash": "a1524b4",
"short": "🐛 fix(docker): add shared-tags package to todo-web and calendar-web Dockerfiles",
"type": null,
"scope": null,
"additions": 2,
"deletions": 0,
"timestamp": "2025-12-10T02:57:44+01:00"
},
{
"hash": "c97a0d7",
"short": "🔥 fix(todo-web): remove dead i18n import from network page",
"type": null,
"scope": null,
"additions": 0,
"deletions": 1,
"timestamp": "2025-12-10T03:06:37+01:00"
},
{
"hash": "a5fab21",
"short": "fix(staging): use HTTPS staging domains for all client URLs",
"type": "fix",
"scope": "staging",
"additions": 63,
"deletions": 18,
"timestamp": "2025-12-10T03:27:46+01:00"
},
{
"hash": "dd0199c",
"short": "docs: add comprehensive staging environment setup guide",
"type": null,
"scope": null,
"additions": 441,
"deletions": 0,
"timestamp": "2025-12-10T03:35:28+01:00"
},
{
"hash": "1169ef3",
"short": "docs: update git workflow - keep individual commits",
"type": null,
"scope": null,
"additions": 69,
"deletions": 82,
"timestamp": "2025-12-10T02:51:30+01:00"
},
{
"hash": "40d2ea9",
"short": "docs(pr-reviews): add code review for PR #14",
"type": "docs",
"scope": "pr-reviews",
"additions": 272,
"deletions": 0,
"timestamp": "2025-12-10T02:52:55+01:00"
},
{
"hash": "8f9e14c",
"short": "docs: update git workflow - keep individual commits",
"type": null,
"scope": null,
"additions": 69,
"deletions": 82,
"timestamp": "2025-12-10T02:51:30+01:00"
},
{
"hash": "59324ca",
"short": "docs(pr-reviews): add code review for PR #14",
"type": "docs",
"scope": "pr-reviews",
"additions": 272,
"deletions": 0,
"timestamp": "2025-12-10T02:52:55+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-09
day: 15
view: macher
weekday: Dienstag
commits: 51
review: written
---
# Dienstag, 2025-12-09 — Tag 15 (Macher-Sicht)
## Stats
51 Commits, +98123 / 18954 LoC, 505 Files. Top-Dirs: `apps/contacts/apps/web` (20%), `apps/todo/apps/web` (9%), `packages/shared-ui/src` (7%), `apps/contacts/apps/backend` (7%), `apps/calendar/apps/web` (5%). Tags: todo, contacts, shared-ui, ui, settings. Session 11:27 → 02:35 (~323 aktive Min, längster Fokus 99 Min).
## Commits
- `241dc61` Merge branch 'dev' of https://github.com/Memo-2023/manacore-monorepo into dev (+0/-0)
- `fb76cdc` fix(settings): unify global settings across all web apps (+7/-357)
- `eb98f89` fix(settings): complete global settings unification for remaining apps (+9/-114)
- `3703904` feat(todo): redesign task input and items with glass-pill style (+812/-129)
- `b148a72` feat(referral): integrate referral system frontend (+492/-10)
- `00dadc9` docs(todo): add task metadata reference documentation (+250/-0)
- `863dd62` feat(todo): add comprehensive settings page with 20+ preferences (+1570/-2)
- `3e35e6a` feat(todo): add task edit modal and fix task loading (+1718/-25)
- `0c2434b` feat(todo): add task metadata fields and mana page (+131/-2)
- `d45a9db` feat(todo): add statistics page with visualizations (+2032/-329)
- `1ac74c9` feat(todo): add PWA support with offline capabilities (+1292/-2)
- `c88626d` feat(todo): add multiple kanban boards with task editing features (+2665/-397)
- `a52e518` Docs (+1/-1)
- `23c2d85` 📝 docs(cicd): add comprehensive deployment guide with CI/CD architecture (+619/-0)
- `3808f29` 📝 docs: add audit documentation and metrics (+21899/-386)
- `3cf0a43` 🚀 ci: add todo-backend and todo-web to CI/CD pipeline (+148/-1)
- `582c6f5` 🐛 fix(ci): prevent container name conflict in staging deployment (+23/-6)
- `4e63f3f` fix(todo): use TEXT for user_id columns (Better Auth compatibility) (+87/-16)
- `f440ca2` fix(db): use TEXT for user_id columns across entire codebase (+73/-53)
- `79b4bb0` feat(ci): add database migrations step to tagged staging deployments (+112/-3)
_… plus 31 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-09
day: 15
view: spieler
weekday: Dienstag
commits: 51
review: written
---
# Dienstag, 2025-12-09 — Tag 15
Großer Sprint-Tag mit Schwerpunkt **apps** (51 Commits).
## Highlights
- unify global settings across all web apps
- complete global settings unification for remaining apps
- redesign task input and items with glass-pill style
- integrate referral system frontend
- add task metadata reference documentation

637
devlog/2025-12-10/data.json Normal file
View file

@ -0,0 +1,637 @@
{
"date": "2025-12-10",
"day_number": 16,
"weekday": "Mittwoch",
"commits": 59,
"authors": [
{
"name": "Till-JS",
"count": 51
},
{
"name": "Wuesteon",
"count": 7
},
{
"name": "Nils Weiser",
"count": 1
}
],
"additions": 28423,
"deletions": 7033,
"net_lines": 21390,
"files_changed": 168,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-10T12:48:45.000Z",
"last_commit_at": "2025-12-10T21:00:53.000Z",
"total_span_minutes": 492,
"active_minutes": 235,
"pauses": [
{
"from": "15:21",
"to": "15:53",
"minutes": 32
},
{
"from": "16:02",
"to": "18:56",
"minutes": 174
},
{
"from": "19:11",
"to": "20:02",
"minutes": 51
}
],
"longest_focus_minutes": 118
},
"top_dirs": [
{
"path": "apps/calendar/apps/web",
"pct": 26
},
{
"path": "apps/todo/apps/web",
"pct": 26
},
{
"path": "packages/shared-ui/src",
"pct": 16
},
{
"path": "apps/todo/apps/backend",
"pct": 8
},
{
"path": "apps/contacts/apps/web",
"pct": 3
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 200
},
{
"ext": ".ts",
"count": 136
},
{
"ext": ".json",
"count": 15
},
{
"ext": ".yaml",
"count": 10
},
{
"ext": ".md",
"count": 4
},
{
"ext": ".js",
"count": 4
}
],
"tags": ["todo", "calendar", "shared-ui", "todo-backend", "todo-web"],
"commits_list": [
{
"hash": "422fcd6",
"short": "chore(ci): add staging config protection and validation",
"type": "chore",
"scope": "ci",
"additions": 193,
"deletions": 0,
"timestamp": "2025-12-10T13:48:45+01:00"
},
{
"hash": "937e3c0",
"short": "fix(todo-backend): implement recurrence handling and fix N+1 query",
"type": "fix",
"scope": "todo-backend",
"additions": 1285,
"deletions": 397,
"timestamp": "2025-12-10T14:11:17+01:00"
},
{
"hash": "306c74e",
"short": "feat(todo): add quick task creation via CommandBar",
"type": "feat",
"scope": "todo",
"additions": 460,
"deletions": 25,
"timestamp": "2025-12-10T14:15:12+01:00"
},
{
"hash": "8b9337a",
"short": "refactor(todo-web): extract reusable form components from TaskEditModal",
"type": "refactor",
"scope": "todo-web",
"additions": 794,
"deletions": 636,
"timestamp": "2025-12-10T14:18:26+01:00"
},
{
"hash": "4197b61",
"short": "fix(todo): add input validation, N+1 fix, and RRULE bounds checking",
"type": "fix",
"scope": "todo",
"additions": 130,
"deletions": 16,
"timestamp": "2025-12-10T14:25:24+01:00"
},
{
"hash": "68c7bfb",
"short": "feat: add unified CommandBar Quick-Create for Calendar and Contacts",
"type": null,
"scope": null,
"additions": 1415,
"deletions": 660,
"timestamp": "2025-12-10T14:37:01+01:00"
},
{
"hash": "56269a5",
"short": "feat(todo): add deep validation for DTOs and completed task pagination",
"type": "feat",
"scope": "todo",
"additions": 219,
"deletions": 35,
"timestamp": "2025-12-10T14:38:11+01:00"
},
{
"hash": "7591fc0",
"short": "style(shared-ui): refactor CommandBar to use theme CSS variables",
"type": "style",
"scope": "shared-ui",
"additions": 45,
"deletions": 45,
"timestamp": "2025-12-10T14:40:20+01:00"
},
{
"hash": "a0306ba",
"short": "refactor(todo): rename priority labels for better natural language input",
"type": "refactor",
"scope": "todo",
"additions": 346,
"deletions": 190,
"timestamp": "2025-12-10T14:52:11+01:00"
},
{
"hash": "04b255c",
"short": "feat(shared-ui): add unified statistics components with theme support",
"type": "feat",
"scope": "shared-ui",
"additions": 2611,
"deletions": 0,
"timestamp": "2025-12-10T14:52:29+01:00"
},
{
"hash": "9691659",
"short": "fix(todo): allow priority keywords without ! prefix",
"type": "fix",
"scope": "todo",
"additions": 5,
"deletions": 5,
"timestamp": "2025-12-10T14:57:37+01:00"
},
{
"hash": "d9626a9",
"short": "feat(shared-ui): add syntax highlighting to CommandBar input",
"type": "feat",
"scope": "shared-ui",
"additions": 113,
"deletions": 11,
"timestamp": "2025-12-10T15:01:57+01:00"
},
{
"hash": "aa117c5",
"short": "feat(command-bar): match priority highlight colors to UI",
"type": "feat",
"scope": "command-bar",
"additions": 551,
"deletions": 92,
"timestamp": "2025-12-10T15:06:22+01:00"
},
{
"hash": "6b30a91",
"short": "fix(todo): improve drag-and-drop reliability with ID-based sync",
"type": "fix",
"scope": "todo",
"additions": 16,
"deletions": 7,
"timestamp": "2025-12-10T15:09:10+01:00"
},
{
"hash": "9f13bba",
"short": "refactor(todo): rename Labels to Tags for consistency across apps",
"type": "refactor",
"scope": "todo",
"additions": 1963,
"deletions": 382,
"timestamp": "2025-12-10T15:21:33+01:00"
},
{
"hash": "aa778bc",
"short": "feat(calendar): integrate todo tasks into calendar views",
"type": "feat",
"scope": "calendar",
"additions": 640,
"deletions": 0,
"timestamp": "2025-12-10T15:53:56+01:00"
},
{
"hash": "3fc89f5",
"short": "feat(calendar): add tasks page for todo management",
"type": "feat",
"scope": "calendar",
"additions": 1113,
"deletions": 0,
"timestamp": "2025-12-10T15:55:18+01:00"
},
{
"hash": "c6b5c2e",
"short": "feat(calendar): add agenda view components",
"type": "feat",
"scope": "calendar",
"additions": 368,
"deletions": 0,
"timestamp": "2025-12-10T15:55:48+01:00"
},
{
"hash": "a4c986f",
"short": "feat(shared-ui): improve nav visibility settings with icons",
"type": "feat",
"scope": "shared-ui",
"additions": 130,
"deletions": 17,
"timestamp": "2025-12-10T15:59:08+01:00"
},
{
"hash": "adb6d06",
"short": "feat(todo): add inline tag creation with color palette",
"type": "feat",
"scope": "todo",
"additions": 216,
"deletions": 53,
"timestamp": "2025-12-10T15:59:34+01:00"
},
{
"hash": "108e69d",
"short": "feat(todo): configure nav items for visibility settings",
"type": "feat",
"scope": "todo",
"additions": 14,
"deletions": 1,
"timestamp": "2025-12-10T16:00:04+01:00"
},
{
"hash": "2123145",
"short": "chore(calendar): add lucide-svelte and update dependencies",
"type": "chore",
"scope": "calendar",
"additions": 222,
"deletions": 329,
"timestamp": "2025-12-10T16:00:31+01:00"
},
{
"hash": "f04300d",
"short": "Merge branch 'till-dev' into till-dev-backup",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-10T16:02:35+01:00"
},
{
"hash": "114c2e9",
"short": "feat(calendar): auto-create default calendar for new users",
"type": "feat",
"scope": "calendar",
"additions": 304,
"deletions": 101,
"timestamp": "2025-12-10T18:56:26+01:00"
},
{
"hash": "4dc4a4e",
"short": "refactor(calendar): improve code quality with quick wins",
"type": "refactor",
"scope": "calendar",
"additions": 903,
"deletions": 223,
"timestamp": "2025-12-10T19:05:56+01:00"
},
{
"hash": "ebb7559",
"short": "fix(calendar): ensure i18n locale is loaded before rendering",
"type": "fix",
"scope": "calendar",
"additions": 12,
"deletions": 1,
"timestamp": "2025-12-10T19:11:14+01:00"
},
{
"hash": "b92dc29",
"short": "refactor(calendar): improve type safety and add optimistic delete",
"type": "refactor",
"scope": "calendar",
"additions": 117,
"deletions": 32,
"timestamp": "2025-12-10T20:02:40+01:00"
},
{
"hash": "0b28eba",
"short": "chore: various UI improvements and fixes",
"type": null,
"scope": null,
"additions": 167,
"deletions": 198,
"timestamp": "2025-12-10T20:05:02+01:00"
},
{
"hash": "812a6f5",
"short": "fix(todo): resolve type errors and update component props",
"type": "fix",
"scope": "todo",
"additions": 69,
"deletions": 40,
"timestamp": "2025-12-10T20:16:17+01:00"
},
{
"hash": "1040b54",
"short": "fix(calendar): fix Todo integration and show all tasks in sidebar",
"type": "fix",
"scope": "calendar",
"additions": 90,
"deletions": 81,
"timestamp": "2025-12-10T20:34:25+01:00"
},
{
"hash": "a86b907",
"short": "fix(shared-ui): fix reactivity in NavVisibilitySettings",
"type": "fix",
"scope": "shared-ui",
"additions": 3,
"deletions": 5,
"timestamp": "2025-12-10T20:43:14+01:00"
},
{
"hash": "6f74e1d",
"short": "✨ feat(chat,picture): add OpenRouter integration and credit system",
"type": null,
"scope": null,
"additions": 877,
"deletions": 467,
"timestamp": "2025-12-10T20:46:33+01:00"
},
{
"hash": "39b04e4",
"short": "🐛 fix(auth): enable automatic token refresh across all web apps",
"type": null,
"scope": null,
"additions": 209,
"deletions": 33,
"timestamp": "2025-12-10T20:52:29+01:00"
},
{
"hash": "d8f1bbb",
"short": "fix(todo-backend): implement recurrence handling and fix N+1 query",
"type": "fix",
"scope": "todo-backend",
"additions": 1078,
"deletions": 203,
"timestamp": "2025-12-10T14:11:17+01:00"
},
{
"hash": "89a2b3d",
"short": "feat(todo): add quick task creation via CommandBar",
"type": "feat",
"scope": "todo",
"additions": 460,
"deletions": 25,
"timestamp": "2025-12-10T14:15:12+01:00"
},
{
"hash": "828dbcc",
"short": "refactor(todo-web): extract reusable form components from TaskEditModal",
"type": "refactor",
"scope": "todo-web",
"additions": 794,
"deletions": 636,
"timestamp": "2025-12-10T14:18:26+01:00"
},
{
"hash": "c6b48d8",
"short": "fix(todo): add input validation, N+1 fix, and RRULE bounds checking",
"type": "fix",
"scope": "todo",
"additions": 130,
"deletions": 16,
"timestamp": "2025-12-10T14:25:24+01:00"
},
{
"hash": "b1877c4",
"short": "feat: add unified CommandBar Quick-Create for Calendar and Contacts",
"type": null,
"scope": null,
"additions": 1415,
"deletions": 660,
"timestamp": "2025-12-10T14:37:01+01:00"
},
{
"hash": "74604b0",
"short": "feat(todo): add deep validation for DTOs and completed task pagination",
"type": "feat",
"scope": "todo",
"additions": 219,
"deletions": 35,
"timestamp": "2025-12-10T14:38:11+01:00"
},
{
"hash": "6aa8554",
"short": "style(shared-ui): refactor CommandBar to use theme CSS variables",
"type": "style",
"scope": "shared-ui",
"additions": 45,
"deletions": 45,
"timestamp": "2025-12-10T14:40:20+01:00"
},
{
"hash": "330b990",
"short": "refactor(todo): rename priority labels for better natural language input",
"type": "refactor",
"scope": "todo",
"additions": 346,
"deletions": 190,
"timestamp": "2025-12-10T14:52:11+01:00"
},
{
"hash": "09e44a2",
"short": "feat(shared-ui): add unified statistics components with theme support",
"type": "feat",
"scope": "shared-ui",
"additions": 2611,
"deletions": 0,
"timestamp": "2025-12-10T14:52:29+01:00"
},
{
"hash": "993b8c1",
"short": "fix(todo): allow priority keywords without ! prefix",
"type": "fix",
"scope": "todo",
"additions": 5,
"deletions": 5,
"timestamp": "2025-12-10T14:57:37+01:00"
},
{
"hash": "d98efc4",
"short": "feat(shared-ui): add syntax highlighting to CommandBar input",
"type": "feat",
"scope": "shared-ui",
"additions": 113,
"deletions": 11,
"timestamp": "2025-12-10T15:01:57+01:00"
},
{
"hash": "aeb6a15",
"short": "feat(command-bar): match priority highlight colors to UI",
"type": "feat",
"scope": "command-bar",
"additions": 551,
"deletions": 92,
"timestamp": "2025-12-10T15:06:22+01:00"
},
{
"hash": "75bf7ec",
"short": "fix(todo): improve drag-and-drop reliability with ID-based sync",
"type": "fix",
"scope": "todo",
"additions": 16,
"deletions": 7,
"timestamp": "2025-12-10T15:09:10+01:00"
},
{
"hash": "a898160",
"short": "refactor(todo): rename Labels to Tags for consistency across apps",
"type": "refactor",
"scope": "todo",
"additions": 1963,
"deletions": 382,
"timestamp": "2025-12-10T15:21:33+01:00"
},
{
"hash": "f3c567f",
"short": "feat(calendar): integrate todo tasks into calendar views",
"type": "feat",
"scope": "calendar",
"additions": 640,
"deletions": 0,
"timestamp": "2025-12-10T15:53:56+01:00"
},
{
"hash": "cd569ef",
"short": "feat(calendar): add tasks page for todo management",
"type": "feat",
"scope": "calendar",
"additions": 1113,
"deletions": 0,
"timestamp": "2025-12-10T15:55:18+01:00"
},
{
"hash": "931ee6b",
"short": "feat(calendar): add agenda view components",
"type": "feat",
"scope": "calendar",
"additions": 368,
"deletions": 0,
"timestamp": "2025-12-10T15:55:48+01:00"
},
{
"hash": "064ab3d",
"short": "feat(shared-ui): improve nav visibility settings with icons",
"type": "feat",
"scope": "shared-ui",
"additions": 130,
"deletions": 17,
"timestamp": "2025-12-10T15:59:08+01:00"
},
{
"hash": "6c2d603",
"short": "feat(todo): add inline tag creation with color palette",
"type": "feat",
"scope": "todo",
"additions": 216,
"deletions": 53,
"timestamp": "2025-12-10T15:59:34+01:00"
},
{
"hash": "6bc3c09",
"short": "feat(todo): configure nav items for visibility settings",
"type": "feat",
"scope": "todo",
"additions": 14,
"deletions": 1,
"timestamp": "2025-12-10T16:00:04+01:00"
},
{
"hash": "e586820",
"short": "chore(calendar): add lucide-svelte and update dependencies",
"type": "chore",
"scope": "calendar",
"additions": 222,
"deletions": 329,
"timestamp": "2025-12-10T16:00:31+01:00"
},
{
"hash": "78b5e6d",
"short": "chore: update pnpm-lock.yaml after rebase",
"type": null,
"scope": null,
"additions": 329,
"deletions": 209,
"timestamp": "2025-12-10T21:13:15+01:00"
},
{
"hash": "2effac4",
"short": "fix: add type-check script to @mana-core/nestjs-integration",
"type": null,
"scope": null,
"additions": 2,
"deletions": 1,
"timestamp": "2025-12-10T21:25:10+01:00"
},
{
"hash": "307f1ae",
"short": "fix: add ^build dependency to type-check task",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-10T21:34:07+01:00"
},
{
"hash": "15a29aa",
"short": "Merge pull request #15 from Memo-2023/till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-10T21:42:38+01:00"
},
{
"hash": "a069670",
"short": "fix(calendar): resolve a11y errors in calendar views",
"type": "fix",
"scope": "calendar",
"additions": 42,
"deletions": 33,
"timestamp": "2025-12-10T22:00:53+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-10
day: 16
view: macher
weekday: Mittwoch
commits: 59
review: written
---
# Mittwoch, 2025-12-10 — Tag 16 (Macher-Sicht)
## Stats
59 Commits, +28423 / 7033 LoC, 168 Files. Top-Dirs: `apps/calendar/apps/web` (26%), `apps/todo/apps/web` (26%), `packages/shared-ui/src` (16%), `apps/todo/apps/backend` (8%), `apps/contacts/apps/web` (3%). Tags: todo, calendar, shared-ui, todo-backend, todo-web. Session 12:48 → 21:00 (~235 aktive Min, längster Fokus 118 Min).
## Commits
- `422fcd6` chore(ci): add staging config protection and validation (+193/-0)
- `937e3c0` fix(todo-backend): implement recurrence handling and fix N+1 query (+1285/-397)
- `306c74e` feat(todo): add quick task creation via CommandBar (+460/-25)
- `8b9337a` refactor(todo-web): extract reusable form components from TaskEditModal (+794/-636)
- `4197b61` fix(todo): add input validation, N+1 fix, and RRULE bounds checking (+130/-16)
- `68c7bfb` feat: add unified CommandBar Quick-Create for Calendar and Contacts (+1415/-660)
- `56269a5` feat(todo): add deep validation for DTOs and completed task pagination (+219/-35)
- `7591fc0` style(shared-ui): refactor CommandBar to use theme CSS variables (+45/-45)
- `a0306ba` refactor(todo): rename priority labels for better natural language input (+346/-190)
- `04b255c` feat(shared-ui): add unified statistics components with theme support (+2611/-0)
- `9691659` fix(todo): allow priority keywords without ! prefix (+5/-5)
- `d9626a9` feat(shared-ui): add syntax highlighting to CommandBar input (+113/-11)
- `aa117c5` feat(command-bar): match priority highlight colors to UI (+551/-92)
- `6b30a91` fix(todo): improve drag-and-drop reliability with ID-based sync (+16/-7)
- `9f13bba` refactor(todo): rename Labels to Tags for consistency across apps (+1963/-382)
- `aa778bc` feat(calendar): integrate todo tasks into calendar views (+640/-0)
- `3fc89f5` feat(calendar): add tasks page for todo management (+1113/-0)
- `c6b5c2e` feat(calendar): add agenda view components (+368/-0)
- `a4c986f` feat(shared-ui): improve nav visibility settings with icons (+130/-17)
- `adb6d06` feat(todo): add inline tag creation with color palette (+216/-53)
_… plus 39 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-10
day: 16
view: spieler
weekday: Mittwoch
commits: 59
review: written
---
# Mittwoch, 2025-12-10 — Tag 16
Großer Sprint-Tag mit Schwerpunkt **apps** (59 Commits).
## Highlights
- implement recurrence handling and fix N+1 query
- add quick task creation via CommandBar
- add input validation, N+1 fix, and RRULE bounds checking
- add unified CommandBar Quick-Create for Calendar and Contacts
- add deep validation for DTOs and completed task pagination

251
devlog/2025-12-11/data.json Normal file
View file

@ -0,0 +1,251 @@
{
"date": "2025-12-11",
"day_number": 17,
"weekday": "Donnerstag",
"commits": 16,
"authors": [
{
"name": "Till-JS",
"count": 15
},
{
"name": "Wuesteon",
"count": 1
}
],
"additions": 18555,
"deletions": 6771,
"net_lines": 11784,
"files_changed": 111,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-11T15:00:08.000Z",
"last_commit_at": "2025-12-12T02:51:53.000Z",
"total_span_minutes": 712,
"active_minutes": 65,
"pauses": [
{
"from": "16:12",
"to": "18:48",
"minutes": 156
},
{
"from": "18:48",
"to": "23:49",
"minutes": 301
},
{
"from": "23:49",
"to": "02:17",
"minutes": 148
},
{
"from": "03:05",
"to": "03:48",
"minutes": 42
}
],
"longest_focus_minutes": 49
},
"top_dirs": [
{
"path": "apps/calendar/apps/web",
"pct": 30
},
{
"path": "packages/shared-ui/src",
"pct": 15
},
{
"path": "apps/contacts/apps/web",
"pct": 12
},
{
"path": "apps/todo/apps/web",
"pct": 9
},
{
"path": "services/mana-core-auth/src",
"pct": 6
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 81
},
{
"ext": ".ts",
"count": 66
},
{
"ext": ".json",
"count": 19
},
{
"ext": ".md",
"count": 4
},
{
"ext": ".css",
"count": 3
},
{
"ext": ".yaml",
"count": 2
}
],
"tags": ["calendar", "contacts", "shared-ui", "settings", "theme"],
"commits_list": [
{
"hash": "309faba",
"short": "feat(contacts): integrate contacts into Todo and Calendar apps",
"type": "feat",
"scope": "contacts",
"additions": 6014,
"deletions": 252,
"timestamp": "2025-12-11T16:00:08+01:00"
},
{
"hash": "876d81f",
"short": "Merge branch 'till-dev' into till-dev-backup",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-11T16:12:26+01:00"
},
{
"hash": "0ecbf69",
"short": "feat(contacts): integrate contacts into Todo and Calendar apps",
"type": "feat",
"scope": "contacts",
"additions": 5791,
"deletions": 53,
"timestamp": "2025-12-11T16:00:08+01:00"
},
{
"hash": "5921cfd",
"short": "Merge branch 'till-dev-backup' into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-11T18:48:28+01:00"
},
{
"hash": "c6f8b9f",
"short": "feat(settings): add device-specific settings storage",
"type": "feat",
"scope": "settings",
"additions": 857,
"deletions": 410,
"timestamp": "2025-12-11T23:49:18+01:00"
},
{
"hash": "0f10a38",
"short": "feat(shared-ui): add QuickInputBar and PillToolbar components",
"type": "feat",
"scope": "shared-ui",
"additions": 3697,
"deletions": 121,
"timestamp": "2025-12-12T02:17:17+01:00"
},
{
"hash": "db701fd",
"short": "fix(calendar): improve DateStrip today and range highlighting",
"type": "fix",
"scope": "calendar",
"additions": 51,
"deletions": 108,
"timestamp": "2025-12-12T02:26:54+01:00"
},
{
"hash": "12ba2cf",
"short": "refactor(theme): remove custom theme editor and community themes",
"type": "refactor",
"scope": "theme",
"additions": 44,
"deletions": 3395,
"timestamp": "2025-12-12T02:34:43+01:00"
},
{
"hash": "e473a02",
"short": "refactor(auth): remove themes module from mana-core-auth",
"type": "refactor",
"scope": "auth",
"additions": 0,
"deletions": 1188,
"timestamp": "2025-12-12T02:35:18+01:00"
},
{
"hash": "21f2b28",
"short": "fix(shared-ui): improve PillNavigation and PillDropdown components",
"type": "fix",
"scope": "shared-ui",
"additions": 44,
"deletions": 10,
"timestamp": "2025-12-12T02:37:18+01:00"
},
{
"hash": "b42db50",
"short": "feat(calendar): improve calendar UI with new components",
"type": "feat",
"scope": "calendar",
"additions": 495,
"deletions": 510,
"timestamp": "2025-12-12T02:37:43+01:00"
},
{
"hash": "5cd550c",
"short": "fix(contacts): improve ContactList and FilterBar styling",
"type": "fix",
"scope": "contacts",
"additions": 391,
"deletions": 310,
"timestamp": "2025-12-12T02:40:44+01:00"
},
{
"hash": "7d03a52",
"short": "fix: misc UI improvements across todo and shared-tailwind",
"type": null,
"scope": null,
"additions": 494,
"deletions": 346,
"timestamp": "2025-12-12T02:42:25+01:00"
},
{
"hash": "74e2dab",
"short": "feat(calendar): add moon phases to DateStrip component",
"type": "feat",
"scope": "calendar",
"additions": 90,
"deletions": 62,
"timestamp": "2025-12-12T03:05:53+01:00"
},
{
"hash": "c6677a8",
"short": "docs(architecture): add Workspace Orchestrator architecture decision",
"type": "docs",
"scope": "architecture",
"additions": 507,
"deletions": 0,
"timestamp": "2025-12-12T03:48:11+01:00"
},
{
"hash": "7ff8213",
"short": "feat(calendar): add default calendars and event indicators",
"type": "feat",
"scope": "calendar",
"additions": 80,
"deletions": 6,
"timestamp": "2025-12-12T03:51:53+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,33 @@
---
date: 2025-12-11
day: 17
view: macher
weekday: Donnerstag
commits: 16
review: written
---
# Donnerstag, 2025-12-11 — Tag 17 (Macher-Sicht)
## Stats
16 Commits, +18555 / 6771 LoC, 111 Files. Top-Dirs: `apps/calendar/apps/web` (30%), `packages/shared-ui/src` (15%), `apps/contacts/apps/web` (12%), `apps/todo/apps/web` (9%), `services/mana-core-auth/src` (6%). Tags: calendar, contacts, shared-ui, settings, theme. Session 15:00 → 02:51 (~65 aktive Min, längster Fokus 49 Min).
## Commits
- `309faba` feat(contacts): integrate contacts into Todo and Calendar apps (+6014/-252)
- `876d81f` Merge branch 'till-dev' into till-dev-backup (+0/-0)
- `0ecbf69` feat(contacts): integrate contacts into Todo and Calendar apps (+5791/-53)
- `5921cfd` Merge branch 'till-dev-backup' into till-dev (+0/-0)
- `c6f8b9f` feat(settings): add device-specific settings storage (+857/-410)
- `0f10a38` feat(shared-ui): add QuickInputBar and PillToolbar components (+3697/-121)
- `db701fd` fix(calendar): improve DateStrip today and range highlighting (+51/-108)
- `12ba2cf` refactor(theme): remove custom theme editor and community themes (+44/-3395)
- `e473a02` refactor(auth): remove themes module from mana-core-auth (+0/-1188)
- `21f2b28` fix(shared-ui): improve PillNavigation and PillDropdown components (+44/-10)
- `b42db50` feat(calendar): improve calendar UI with new components (+495/-510)
- `5cd550c` fix(contacts): improve ContactList and FilterBar styling (+391/-310)
- `7d03a52` fix: misc UI improvements across todo and shared-tailwind (+494/-346)
- `74e2dab` feat(calendar): add moon phases to DateStrip component (+90/-62)
- `c6677a8` docs(architecture): add Workspace Orchestrator architecture decision (+507/-0)
- `7ff8213` feat(calendar): add default calendars and event indicators (+80/-6)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-11
day: 17
view: spieler
weekday: Donnerstag
commits: 16
review: written
---
# Donnerstag, 2025-12-11 — Tag 17
Dichter Tag in **apps** und Umgebung.
## Highlights
- integrate contacts into Todo and Calendar apps
- integrate contacts into Todo and Calendar apps
- add device-specific settings storage
- add QuickInputBar and PillToolbar components
- improve DateStrip today and range highlighting

287
devlog/2025-12-12/data.json Normal file
View file

@ -0,0 +1,287 @@
{
"date": "2025-12-12",
"day_number": 18,
"weekday": "Freitag",
"commits": 19,
"authors": [
{
"name": "Till-JS",
"count": 12
},
{
"name": "Wuesteon",
"count": 5
},
{
"name": "Nils Weiser",
"count": 2
}
],
"additions": 5204,
"deletions": 3478,
"net_lines": 1726,
"files_changed": 70,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-12T10:57:55.000Z",
"last_commit_at": "2025-12-12T20:58:26.000Z",
"total_span_minutes": 601,
"active_minutes": 74,
"pauses": [
{
"from": "12:15",
"to": "13:00",
"minutes": 45
},
{
"from": "13:25",
"to": "14:12",
"minutes": 47
},
{
"from": "14:12",
"to": "14:54",
"minutes": 42
},
{
"from": "14:54",
"to": "20:47",
"minutes": 354
},
{
"from": "20:56",
"to": "21:36",
"minutes": 39
}
],
"longest_focus_minutes": 25
},
"top_dirs": [
{
"path": "apps/calendar/apps/web",
"pct": 42
},
{
"path": "packages/shared-splitscreen/src",
"pct": 15
},
{
"path": "packages/shared-ui/src",
"pct": 11
},
{
"path": "apps/chat/apps/backend",
"pct": 4
},
{
"path": "pnpm-lock.yaml",
"pct": 3
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 56
},
{
"ext": ".ts",
"count": 28
},
{
"ext": ".json",
"count": 6
},
{
"ext": ".md",
"count": 4
},
{
"ext": ".yaml",
"count": 3
},
{
"ext": ".svelte}",
"count": 1
}
],
"tags": ["calendar", "splitscreen", "shared-ui"],
"commits_list": [
{
"hash": "51912a2",
"short": "feat(calendar): add search highlighting to calendar views",
"type": "feat",
"scope": "calendar",
"additions": 221,
"deletions": 18,
"timestamp": "2025-12-12T11:57:55+01:00"
},
{
"hash": "8a75b34",
"short": "refactor(shared-ui): rename QuickInputBar to InputBar",
"type": "refactor",
"scope": "shared-ui",
"additions": 271,
"deletions": 560,
"timestamp": "2025-12-12T11:58:13+01:00"
},
{
"hash": "f51708d",
"short": "fix(calendar): fix QuickEventOverlay z-index stacking issue",
"type": "fix",
"scope": "calendar",
"additions": 44,
"deletions": 20,
"timestamp": "2025-12-12T12:15:01+01:00"
},
{
"hash": "f2ac3e2",
"short": "feat(splitscreen): add split-screen feature for multi-app side-by-side view",
"type": "feat",
"scope": "splitscreen",
"additions": 2773,
"deletions": 534,
"timestamp": "2025-12-12T13:00:26+01:00"
},
{
"hash": "448cfb9",
"short": "fix(calendar): improve toolbar UX and fix build warnings",
"type": "fix",
"scope": "calendar",
"additions": 457,
"deletions": 157,
"timestamp": "2025-12-12T13:03:31+01:00"
},
{
"hash": "287a62a",
"short": "fix(splitscreen): fix resize handle not working after first drag",
"type": "fix",
"scope": "splitscreen",
"additions": 42,
"deletions": 14,
"timestamp": "2025-12-12T13:12:41+01:00"
},
{
"hash": "81f77c4",
"short": "feat(calendar): improve navigation layout controls and sidebar integration",
"type": "feat",
"scope": "calendar",
"additions": 261,
"deletions": 10,
"timestamp": "2025-12-12T13:13:45+01:00"
},
{
"hash": "b349083",
"short": "fix(calendar): add shared-splitscreen to Dockerfile",
"type": "fix",
"scope": "calendar",
"additions": 1,
"deletions": 0,
"timestamp": "2025-12-12T13:25:42+01:00"
},
{
"hash": "4357902",
"short": "Merge remote-tracking branch 'origin/dev' into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-12T14:12:14+01:00"
},
{
"hash": "b44e515",
"short": "Merge pull request #16 from Memo-2023/till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-12T14:54:12+01:00"
},
{
"hash": "0fa154c",
"short": "🐛 fix(shared-auth): add automatic token refresh on 401 responses",
"type": null,
"scope": null,
"additions": 106,
"deletions": 18,
"timestamp": "2025-12-12T20:47:43+01:00"
},
{
"hash": "3f9bc57",
"short": "♻️ refactor(chat): simplify chat service and update seed data",
"type": null,
"scope": null,
"additions": 76,
"deletions": 394,
"timestamp": "2025-12-12T20:48:10+01:00"
},
{
"hash": "a9aeffa",
"short": "♻️ refactor(picture): simplify credit system to production-only",
"type": null,
"scope": null,
"additions": 36,
"deletions": 67,
"timestamp": "2025-12-12T20:49:38+01:00"
},
{
"hash": "612f6a1",
"short": "🔧 chore: switch chat backend to OpenRouter API",
"type": null,
"scope": null,
"additions": 260,
"deletions": 1234,
"timestamp": "2025-12-12T20:50:03+01:00"
},
{
"hash": "35ce678",
"short": "Merge pull request #17 from Memo-2023/chat-picture",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-12T20:56:59+01:00"
},
{
"hash": "b7057ed",
"short": "feat(calendar): improve DateStrip today button and fix initial date display",
"type": "feat",
"scope": "calendar",
"additions": 56,
"deletions": 22,
"timestamp": "2025-12-12T21:36:19+01:00"
},
{
"hash": "502ba0c",
"short": "♻️ refactor(calendar): integrate agenda as view type and improve DayView layout",
"type": null,
"scope": null,
"additions": 496,
"deletions": 343,
"timestamp": "2025-12-12T21:51:05+01:00"
},
{
"hash": "4d1db20",
"short": "feat(calendar): convert toolbar to collapsed FAB next to InputBar",
"type": "feat",
"scope": "calendar",
"additions": 16,
"deletions": 30,
"timestamp": "2025-12-12T21:55:07+01:00"
},
{
"hash": "11da7d2",
"short": "fix(calendar): toolbar opens below InputBar and pushes content up",
"type": "fix",
"scope": "calendar",
"additions": 88,
"deletions": 57,
"timestamp": "2025-12-12T21:58:26+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,36 @@
---
date: 2025-12-12
day: 18
view: macher
weekday: Freitag
commits: 19
review: written
---
# Freitag, 2025-12-12 — Tag 18 (Macher-Sicht)
## Stats
19 Commits, +5204 / 3478 LoC, 70 Files. Top-Dirs: `apps/calendar/apps/web` (42%), `packages/shared-splitscreen/src` (15%), `packages/shared-ui/src` (11%), `apps/chat/apps/backend` (4%), `pnpm-lock.yaml` (3%). Tags: calendar, splitscreen, shared-ui. Session 10:57 → 20:58 (~74 aktive Min, längster Fokus 25 Min).
## Commits
- `51912a2` feat(calendar): add search highlighting to calendar views (+221/-18)
- `8a75b34` refactor(shared-ui): rename QuickInputBar to InputBar (+271/-560)
- `f51708d` fix(calendar): fix QuickEventOverlay z-index stacking issue (+44/-20)
- `f2ac3e2` feat(splitscreen): add split-screen feature for multi-app side-by-side view (+2773/-534)
- `448cfb9` fix(calendar): improve toolbar UX and fix build warnings (+457/-157)
- `287a62a` fix(splitscreen): fix resize handle not working after first drag (+42/-14)
- `81f77c4` feat(calendar): improve navigation layout controls and sidebar integration (+261/-10)
- `b349083` fix(calendar): add shared-splitscreen to Dockerfile (+1/-0)
- `4357902` Merge remote-tracking branch 'origin/dev' into till-dev (+0/-0)
- `b44e515` Merge pull request #16 from Memo-2023/till-dev (+0/-0)
- `0fa154c` 🐛 fix(shared-auth): add automatic token refresh on 401 responses (+106/-18)
- `3f9bc57` ♻️ refactor(chat): simplify chat service and update seed data (+76/-394)
- `a9aeffa` ♻️ refactor(picture): simplify credit system to production-only (+36/-67)
- `612f6a1` 🔧 chore: switch chat backend to OpenRouter API (+260/-1234)
- `35ce678` Merge pull request #17 from Memo-2023/chat-picture (+0/-0)
- `b7057ed` feat(calendar): improve DateStrip today button and fix initial date display (+56/-22)
- `502ba0c` ♻️ refactor(calendar): integrate agenda as view type and improve DayView layout (+496/-343)
- `4d1db20` feat(calendar): convert toolbar to collapsed FAB next to InputBar (+16/-30)
- `11da7d2` fix(calendar): toolbar opens below InputBar and pushes content up (+88/-57)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-12
day: 18
view: spieler
weekday: Freitag
commits: 19
review: written
---
# Freitag, 2025-12-12 — Tag 18
Dichter Tag in **apps** und Umgebung.
## Highlights
- add search highlighting to calendar views
- fix QuickEventOverlay z-index stacking issue
- add split-screen feature for multi-app side-by-side view
- improve toolbar UX and fix build warnings
- fix resize handle not working after first drag

201
devlog/2025-12-13/data.json Normal file
View file

@ -0,0 +1,201 @@
{
"date": "2025-12-13",
"day_number": 19,
"weekday": "Samstag",
"commits": 15,
"authors": [
{
"name": "Till-JS",
"count": 15
}
],
"additions": 1827,
"deletions": 421,
"net_lines": 1406,
"files_changed": 32,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-13T12:50:42.000Z",
"last_commit_at": "2025-12-13T14:06:41.000Z",
"total_span_minutes": 76,
"active_minutes": 76,
"pauses": [],
"longest_focus_minutes": 76
},
"top_dirs": [
{
"path": "apps/calendar/apps/web",
"pct": 68
},
{
"path": "packages/shared-ui/src",
"pct": 28
},
{
"path": "apps/calendar/packages/shared",
"pct": 2
},
{
"path": "packages/shared-tailwind/src",
"pct": 2
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 48
},
{
"ext": ".ts",
"count": 11
},
{
"ext": ".css",
"count": 1
}
],
"tags": ["calendar", "ui"],
"commits_list": [
{
"hash": "7d16664",
"short": "style(calendar): align FAB with InputBar height and position",
"type": "style",
"scope": "calendar",
"additions": 16,
"deletions": 14,
"timestamp": "2025-12-13T13:50:42+01:00"
},
{
"hash": "4444e89",
"short": "style(calendar): add more spacing between InputBar and toolbar",
"type": "style",
"scope": "calendar",
"additions": 1,
"deletions": 0,
"timestamp": "2025-12-13T13:51:21+01:00"
},
{
"hash": "15b2d5d",
"short": "style(calendar): increase spacing between InputBar and toolbar to 8rem",
"type": "style",
"scope": "calendar",
"additions": 1,
"deletions": 1,
"timestamp": "2025-12-13T13:52:34+01:00"
},
{
"hash": "ef69274",
"short": "fix(calendar): increase spacing between InputBar and toolbar correctly",
"type": "fix",
"scope": "calendar",
"additions": 19,
"deletions": 15,
"timestamp": "2025-12-13T13:55:13+01:00"
},
{
"hash": "5ebdc35",
"short": "style(calendar): reduce toolbar spacing slightly (150px → 140px)",
"type": "style",
"scope": "calendar",
"additions": 4,
"deletions": 4,
"timestamp": "2025-12-13T13:56:18+01:00"
},
{
"hash": "e8ec273",
"short": "feat(calendar): make toolbar content horizontally scrollable on mobile",
"type": "feat",
"scope": "calendar",
"additions": 314,
"deletions": 4,
"timestamp": "2025-12-13T13:57:28+01:00"
},
{
"hash": "faa9412",
"short": "style(calendar): add fade effect to DateStrip edges",
"type": "style",
"scope": "calendar",
"additions": 8,
"deletions": 0,
"timestamp": "2025-12-13T14:02:30+01:00"
},
{
"hash": "cc37db8",
"short": "feat(calendar): improve FAB positioning on mobile and subtle close styling",
"type": "feat",
"scope": "calendar",
"additions": 18,
"deletions": 3,
"timestamp": "2025-12-13T14:04:51+01:00"
},
{
"hash": "10d4170",
"short": "feat(calendar): add event context menu and fix event persistence",
"type": "feat",
"scope": "calendar",
"additions": 287,
"deletions": 14,
"timestamp": "2025-12-13T14:24:08+01:00"
},
{
"hash": "a1c3eaf",
"short": "feat(calendar): add context menu support to MonthView and MultiDayView",
"type": "feat",
"scope": "calendar",
"additions": 32,
"deletions": 3,
"timestamp": "2025-12-13T14:34:22+01:00"
},
{
"hash": "88c91e2",
"short": "fix(ui): replace hardcoded colors with theme variables",
"type": "fix",
"scope": "ui",
"additions": 140,
"deletions": 247,
"timestamp": "2025-12-13T14:40:16+01:00"
},
{
"hash": "8eb295d",
"short": "feat(calendar): add responsible person and attendees to events",
"type": "feat",
"scope": "calendar",
"additions": 576,
"deletions": 5,
"timestamp": "2025-12-13T14:53:53+01:00"
},
{
"hash": "bd89871",
"short": "feat(ui): add elevation system for overlays and modals",
"type": "feat",
"scope": "ui",
"additions": 104,
"deletions": 27,
"timestamp": "2025-12-13T15:00:33+01:00"
},
{
"hash": "2777447",
"short": "fix(calendar): improve all-day events row positioning and styling",
"type": "fix",
"scope": "calendar",
"additions": 81,
"deletions": 66,
"timestamp": "2025-12-13T15:05:11+01:00"
},
{
"hash": "c710f43",
"short": "feat(calendar): add DateStrip context menu with display settings",
"type": "feat",
"scope": "calendar",
"additions": 226,
"deletions": 18,
"timestamp": "2025-12-13T15:06:41+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,32 @@
---
date: 2025-12-13
day: 19
view: macher
weekday: Samstag
commits: 15
review: written
---
# Samstag, 2025-12-13 — Tag 19 (Macher-Sicht)
## Stats
15 Commits, +1827 / 421 LoC, 32 Files. Top-Dirs: `apps/calendar/apps/web` (68%), `packages/shared-ui/src` (28%), `apps/calendar/packages/shared` (2%), `packages/shared-tailwind/src` (2%). Tags: calendar, ui. Session 12:50 → 14:06 (~76 aktive Min, längster Fokus 76 Min).
## Commits
- `7d16664` style(calendar): align FAB with InputBar height and position (+16/-14)
- `4444e89` style(calendar): add more spacing between InputBar and toolbar (+1/-0)
- `15b2d5d` style(calendar): increase spacing between InputBar and toolbar to 8rem (+1/-1)
- `ef69274` fix(calendar): increase spacing between InputBar and toolbar correctly (+19/-15)
- `5ebdc35` style(calendar): reduce toolbar spacing slightly (150px → 140px) (+4/-4)
- `e8ec273` feat(calendar): make toolbar content horizontally scrollable on mobile (+314/-4)
- `faa9412` style(calendar): add fade effect to DateStrip edges (+8/-0)
- `cc37db8` feat(calendar): improve FAB positioning on mobile and subtle close styling (+18/-3)
- `10d4170` feat(calendar): add event context menu and fix event persistence (+287/-14)
- `a1c3eaf` feat(calendar): add context menu support to MonthView and MultiDayView (+32/-3)
- `88c91e2` fix(ui): replace hardcoded colors with theme variables (+140/-247)
- `8eb295d` feat(calendar): add responsible person and attendees to events (+576/-5)
- `bd89871` feat(ui): add elevation system for overlays and modals (+104/-27)
- `2777447` fix(calendar): improve all-day events row positioning and styling (+81/-66)
- `c710f43` feat(calendar): add DateStrip context menu with display settings (+226/-18)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-13
day: 19
view: spieler
weekday: Samstag
commits: 15
review: written
---
# Samstag, 2025-12-13 — Tag 19
Dichter Tag in **apps** und Umgebung.
## Highlights
- align FAB with InputBar height and position
- add more spacing between InputBar and toolbar
- increase spacing between InputBar and toolbar to 8rem
- increase spacing between InputBar and toolbar correctly
- reduce toolbar spacing slightly (150px → 140px)

536
devlog/2025-12-14/data.json Normal file
View file

@ -0,0 +1,536 @@
{
"date": "2025-12-14",
"day_number": 20,
"weekday": "Sonntag",
"commits": 48,
"authors": [
{
"name": "Till-JS",
"count": 48
}
],
"additions": 20781,
"deletions": 9666,
"net_lines": 11115,
"files_changed": 175,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-14T13:39:27.000Z",
"last_commit_at": "2025-12-15T02:37:01.000Z",
"total_span_minutes": 778,
"active_minutes": 273,
"pauses": [
{
"from": "15:35",
"to": "16:14",
"minutes": 39
},
{
"from": "16:32",
"to": "19:42",
"minutes": 190
},
{
"from": "19:42",
"to": "20:49",
"minutes": 67
},
{
"from": "21:43",
"to": "22:20",
"minutes": 37
},
{
"from": "23:43",
"to": "02:35",
"minutes": 172
}
],
"longest_focus_minutes": 83
},
"top_dirs": [
{
"path": "apps/calendar/apps/web",
"pct": 47
},
{
"path": "apps/contacts/apps/web",
"pct": 28
},
{
"path": "packages/shared-ui/src",
"pct": 15
},
{
"path": "apps/calendar/apps/backend",
"pct": 5
},
{
"path": "apps/contacts/apps/backend",
"pct": 2
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 184
},
{
"ext": ".ts",
"count": 109
},
{
"ext": ".mjs",
"count": 1
},
{
"ext": ".json",
"count": 1
},
{
"ext": ".yaml",
"count": 1
}
],
"tags": ["calendar", "contacts", "shared-ui", "ui"],
"commits_list": [
{
"hash": "6bea47d",
"short": "refactor(calendar): consolidate code patterns and reduce duplication",
"type": "refactor",
"scope": "calendar",
"additions": 288,
"deletions": 349,
"timestamp": "2025-12-14T14:39:27+01:00"
},
{
"hash": "cab1905",
"short": "fix(calendar): prevent event resize jump on drag start",
"type": "fix",
"scope": "calendar",
"additions": 61,
"deletions": 14,
"timestamp": "2025-12-14T15:07:43+01:00"
},
{
"hash": "5190b14",
"short": "feat(ui): add ConfirmationPopover component for inline confirmations",
"type": "feat",
"scope": "ui",
"additions": 434,
"deletions": 22,
"timestamp": "2025-12-14T15:09:16+01:00"
},
{
"hash": "b720f64",
"short": "feat(calendar): replace calendar dropdown with horizontal pills",
"type": "feat",
"scope": "calendar",
"additions": 680,
"deletions": 344,
"timestamp": "2025-12-14T15:19:22+01:00"
},
{
"hash": "4098283",
"short": "feat(calendar): filter events by calendar visibility",
"type": "feat",
"scope": "calendar",
"additions": 62,
"deletions": 14,
"timestamp": "2025-12-14T15:22:03+01:00"
},
{
"hash": "7bbeb7c",
"short": "feat(calendar): improve settings page UI and add default calendar selection",
"type": "feat",
"scope": "calendar",
"additions": 30,
"deletions": 4,
"timestamp": "2025-12-14T15:22:44+01:00"
},
{
"hash": "9eb3f42",
"short": "feat(calendar): add week number display to DateStrip",
"type": "feat",
"scope": "calendar",
"additions": 54,
"deletions": 0,
"timestamp": "2025-12-14T15:35:51+01:00"
},
{
"hash": "863f296",
"short": "feat(ui): add shared ExpandableToolbar and unify toolbar dropdowns",
"type": "feat",
"scope": "ui",
"additions": 2343,
"deletions": 783,
"timestamp": "2025-12-14T16:14:30+01:00"
},
{
"hash": "6ce385a",
"short": "style: apply formatting fixes from pre-commit hooks",
"type": null,
"scope": null,
"additions": 540,
"deletions": 11,
"timestamp": "2025-12-14T16:16:29+01:00"
},
{
"hash": "d76f2dd",
"short": "style: format NewContactModal component",
"type": null,
"scope": null,
"additions": 323,
"deletions": 7,
"timestamp": "2025-12-14T16:18:00+01:00"
},
{
"hash": "3f27e47",
"short": "fix(contacts): improve new contact card and sticky section headers",
"type": "fix",
"scope": "contacts",
"additions": 22,
"deletions": 27,
"timestamp": "2025-12-14T16:31:38+01:00"
},
{
"hash": "6862622",
"short": "feat(contacts): unify network page toolbar with ExpandableToolbar pattern",
"type": "feat",
"scope": "contacts",
"additions": 451,
"deletions": 305,
"timestamp": "2025-12-14T16:32:59+01:00"
},
{
"hash": "4b6a4c7",
"short": "feat(contacts): add collapsible alphabet-nav with FAB toggle",
"type": "feat",
"scope": "contacts",
"additions": 294,
"deletions": 21,
"timestamp": "2025-12-14T19:42:38+01:00"
},
{
"hash": "cdc3cd3",
"short": "feat(calendar): add birthday integration from contacts service",
"type": "feat",
"scope": "calendar",
"additions": 995,
"deletions": 85,
"timestamp": "2025-12-14T20:49:08+01:00"
},
{
"hash": "c4fe9ea",
"short": "refactor(calendar): extract shared constants and event filtering utilities",
"type": "refactor",
"scope": "calendar",
"additions": 337,
"deletions": 207,
"timestamp": "2025-12-14T21:07:52+01:00"
},
{
"hash": "026c165",
"short": "fix(contacts): resolve Svelte 5 hydration error",
"type": "fix",
"scope": "contacts",
"additions": 774,
"deletions": 27,
"timestamp": "2025-12-14T21:13:22+01:00"
},
{
"hash": "5bf275d",
"short": "refactor(calendar): add comprehensive drag/drop composables",
"type": "refactor",
"scope": "calendar",
"additions": 807,
"deletions": 173,
"timestamp": "2025-12-14T21:13:58+01:00"
},
{
"hash": "e0ef152",
"short": "feat(calendar): add minimize button to DateStrip",
"type": "feat",
"scope": "calendar",
"additions": 54,
"deletions": 0,
"timestamp": "2025-12-14T21:17:22+01:00"
},
{
"hash": "668957a",
"short": "refactor(calendar): extract birthday popover logic into composable",
"type": "refactor",
"scope": "calendar",
"additions": 76,
"deletions": 66,
"timestamp": "2025-12-14T21:18:50+01:00"
},
{
"hash": "b966c91",
"short": "refactor(calendar): extract EventCard component from views",
"type": "refactor",
"scope": "calendar",
"additions": 400,
"deletions": 370,
"timestamp": "2025-12-14T21:26:32+01:00"
},
{
"hash": "0badca2",
"short": "feat(calendar): add configurable ViewModePill for quick view switching",
"type": "feat",
"scope": "calendar",
"additions": 329,
"deletions": 0,
"timestamp": "2025-12-14T21:29:03+01:00"
},
{
"hash": "cc28cc7",
"short": "feat(calendar): add birthday calendar and collapsible date strip",
"type": "feat",
"scope": "calendar",
"additions": 197,
"deletions": 1,
"timestamp": "2025-12-14T21:29:58+01:00"
},
{
"hash": "48edd85",
"short": "refactor(calendar): improve agenda and event components",
"type": "refactor",
"scope": "calendar",
"additions": 76,
"deletions": 57,
"timestamp": "2025-12-14T21:30:24+01:00"
},
{
"hash": "d353fb0",
"short": "refactor(contacts): remove favorites functionality",
"type": "refactor",
"scope": "contacts",
"additions": 0,
"deletions": 2066,
"timestamp": "2025-12-14T21:30:55+01:00"
},
{
"hash": "c7a9e88",
"short": "refactor(contacts): remove network and new contact pages",
"type": "refactor",
"scope": "contacts",
"additions": 0,
"deletions": 1327,
"timestamp": "2025-12-14T21:31:12+01:00"
},
{
"hash": "fc3129a",
"short": "refactor(contacts): major component and API refactoring",
"type": "refactor",
"scope": "contacts",
"additions": 1812,
"deletions": 1175,
"timestamp": "2025-12-14T21:31:36+01:00"
},
{
"hash": "bc0db4d",
"short": "feat(shared-ui): add FilterDropdown export and InputBar FAB support",
"type": "feat",
"scope": "shared-ui",
"additions": 15,
"deletions": 3,
"timestamp": "2025-12-14T21:32:03+01:00"
},
{
"hash": "bed7c4e",
"short": "chore: update pnpm-lock.yaml",
"type": null,
"scope": null,
"additions": 210,
"deletions": 327,
"timestamp": "2025-12-14T21:32:16+01:00"
},
{
"hash": "1ff172f",
"short": "feat(contacts): add birthday and custom dates support",
"type": "feat",
"scope": "contacts",
"additions": 462,
"deletions": 1,
"timestamp": "2025-12-14T21:43:17+01:00"
},
{
"hash": "9e71139",
"short": "feat(shared-ui): add InputBar context menu with settings",
"type": "feat",
"scope": "shared-ui",
"additions": 849,
"deletions": 11,
"timestamp": "2025-12-14T22:20:00+01:00"
},
{
"hash": "e0d7b3d",
"short": "feat(calendar): add swipe navigation for calendar views",
"type": "feat",
"scope": "calendar",
"additions": 618,
"deletions": 65,
"timestamp": "2025-12-14T22:22:15+01:00"
},
{
"hash": "9e0c8cb",
"short": "refactor(contacts): use InputBar settings store for autoFocus",
"type": "refactor",
"scope": "contacts",
"additions": 0,
"deletions": 1,
"timestamp": "2025-12-14T22:22:40+01:00"
},
{
"hash": "781225a",
"short": "fix(shared-ui): add backdrop to ContextMenu to block clicks behind",
"type": "fix",
"scope": "shared-ui",
"additions": 19,
"deletions": 0,
"timestamp": "2025-12-14T22:46:36+01:00"
},
{
"hash": "4e391bd",
"short": "refine(calendar): improve swipe navigation UX",
"type": "refine",
"scope": "calendar",
"additions": 10,
"deletions": 20,
"timestamp": "2025-12-14T22:57:17+01:00"
},
{
"hash": "dca7d97",
"short": "feat(calendar): improve swipe to smooth linear scrolling",
"type": "feat",
"scope": "calendar",
"additions": 66,
"deletions": 21,
"timestamp": "2025-12-14T23:06:19+01:00"
},
{
"hash": "0ebc3d0",
"short": "fix(calendar): use pure JS animation for truly linear swipe",
"type": "fix",
"scope": "calendar",
"additions": 53,
"deletions": 25,
"timestamp": "2025-12-14T23:08:58+01:00"
},
{
"hash": "3929911",
"short": "feat(calendar): enable fast multi-page navigation",
"type": "feat",
"scope": "calendar",
"additions": 67,
"deletions": 10,
"timestamp": "2025-12-14T23:14:39+01:00"
},
{
"hash": "a86f8e4",
"short": "refactor(calendar): simplify swipe to instant navigation",
"type": "refactor",
"scope": "calendar",
"additions": 45,
"deletions": 299,
"timestamp": "2025-12-14T23:19:39+01:00"
},
{
"hash": "78fb495",
"short": "feat(calendar): add visual scrolling with instant snap",
"type": "feat",
"scope": "calendar",
"additions": 123,
"deletions": 33,
"timestamp": "2025-12-14T23:21:24+01:00"
},
{
"hash": "1f7b93a",
"short": "feat(calendar): add context menu to CalendarHeader with display settings",
"type": "feat",
"scope": "calendar",
"additions": 206,
"deletions": 7,
"timestamp": "2025-12-14T23:25:29+01:00"
},
{
"hash": "20bc954",
"short": "fix(calendar): prevent double navigation with lock mechanism",
"type": "fix",
"scope": "calendar",
"additions": 27,
"deletions": 11,
"timestamp": "2025-12-14T23:25:43+01:00"
},
{
"hash": "5ac8de7",
"short": "revert(calendar): restore animated swipe navigation",
"type": "revert",
"scope": "calendar",
"additions": 194,
"deletions": 46,
"timestamp": "2025-12-14T23:30:55+01:00"
},
{
"hash": "c712cc7",
"short": "feat(shared-ui): add reusable HelpModal system with keyboard shortcuts and syntax panels",
"type": "feat",
"scope": "shared-ui",
"additions": 1238,
"deletions": 195,
"timestamp": "2025-12-14T23:43:19+01:00"
},
{
"hash": "1395291",
"short": "feat(calendar): combine calendar/tasks pill with sidebar toggle and mobile splitscreen",
"type": "feat",
"scope": "calendar",
"additions": 420,
"deletions": 511,
"timestamp": "2025-12-15T02:35:35+01:00"
},
{
"hash": "3edb65c",
"short": "feat(calendar): add number labels to ViewSwitcher and extended day views",
"type": "feat",
"scope": "calendar",
"additions": 627,
"deletions": 63,
"timestamp": "2025-12-15T02:54:10+01:00"
},
{
"hash": "a6d4393",
"short": "feat(calendar): add immersive/fullscreen mode toggle",
"type": "feat",
"scope": "calendar",
"additions": 306,
"deletions": 99,
"timestamp": "2025-12-15T03:22:30+01:00"
},
{
"hash": "893c6ef",
"short": "feat(shared-ui): unify ImmersiveModeToggle across Calendar, Contacts, and Todo apps",
"type": "feat",
"scope": "shared-ui",
"additions": 246,
"deletions": 121,
"timestamp": "2025-12-15T03:34:15+01:00"
},
{
"hash": "bc0eeca",
"short": "Feat: Tagmodal, fullscreenmode, tag groups, onepage design philosophy",
"type": null,
"scope": null,
"additions": 3541,
"deletions": 342,
"timestamp": "2025-12-15T03:37:01+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-14
day: 20
view: macher
weekday: Sonntag
commits: 48
review: written
---
# Sonntag, 2025-12-14 — Tag 20 (Macher-Sicht)
## Stats
48 Commits, +20781 / 9666 LoC, 175 Files. Top-Dirs: `apps/calendar/apps/web` (47%), `apps/contacts/apps/web` (28%), `packages/shared-ui/src` (15%), `apps/calendar/apps/backend` (5%), `apps/contacts/apps/backend` (2%). Tags: calendar, contacts, shared-ui, ui. Session 13:39 → 02:37 (~273 aktive Min, längster Fokus 83 Min).
## Commits
- `6bea47d` refactor(calendar): consolidate code patterns and reduce duplication (+288/-349)
- `cab1905` fix(calendar): prevent event resize jump on drag start (+61/-14)
- `5190b14` feat(ui): add ConfirmationPopover component for inline confirmations (+434/-22)
- `b720f64` feat(calendar): replace calendar dropdown with horizontal pills (+680/-344)
- `4098283` feat(calendar): filter events by calendar visibility (+62/-14)
- `7bbeb7c` feat(calendar): improve settings page UI and add default calendar selection (+30/-4)
- `9eb3f42` feat(calendar): add week number display to DateStrip (+54/-0)
- `863f296` feat(ui): add shared ExpandableToolbar and unify toolbar dropdowns (+2343/-783)
- `6ce385a` style: apply formatting fixes from pre-commit hooks (+540/-11)
- `d76f2dd` style: format NewContactModal component (+323/-7)
- `3f27e47` fix(contacts): improve new contact card and sticky section headers (+22/-27)
- `6862622` feat(contacts): unify network page toolbar with ExpandableToolbar pattern (+451/-305)
- `4b6a4c7` feat(contacts): add collapsible alphabet-nav with FAB toggle (+294/-21)
- `cdc3cd3` feat(calendar): add birthday integration from contacts service (+995/-85)
- `c4fe9ea` refactor(calendar): extract shared constants and event filtering utilities (+337/-207)
- `026c165` fix(contacts): resolve Svelte 5 hydration error (+774/-27)
- `5bf275d` refactor(calendar): add comprehensive drag/drop composables (+807/-173)
- `e0ef152` feat(calendar): add minimize button to DateStrip (+54/-0)
- `668957a` refactor(calendar): extract birthday popover logic into composable (+76/-66)
- `b966c91` refactor(calendar): extract EventCard component from views (+400/-370)
_… plus 28 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-14
day: 20
view: spieler
weekday: Sonntag
commits: 48
review: written
---
# Sonntag, 2025-12-14 — Tag 20
Großer Sprint-Tag mit Schwerpunkt **apps** (48 Commits).
## Highlights
- prevent event resize jump on drag start
- add ConfirmationPopover component for inline confirmations
- replace calendar dropdown with horizontal pills
- filter events by calendar visibility
- improve settings page UI and add default calendar selection

411
devlog/2025-12-15/data.json Normal file
View file

@ -0,0 +1,411 @@
{
"date": "2025-12-15",
"day_number": 21,
"weekday": "Montag",
"commits": 31,
"authors": [
{
"name": "Wuesteon",
"count": 30
},
{
"name": "Nils Weiser",
"count": 1
}
],
"additions": 9198,
"deletions": 2487,
"net_lines": 6711,
"files_changed": 227,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-15T13:10:34.000Z",
"last_commit_at": "2025-12-16T04:10:01.000Z",
"total_span_minutes": 899,
"active_minutes": 216,
"pauses": [
{
"from": "14:27",
"to": "17:53",
"minutes": 206
},
{
"from": "17:53",
"to": "19:09",
"minutes": 75
},
{
"from": "19:49",
"to": "20:27",
"minutes": 38
},
{
"from": "20:27",
"to": "21:33",
"minutes": 67
},
{
"from": "21:33",
"to": "22:33",
"minutes": 60
},
{
"from": "22:44",
"to": "23:41",
"minutes": 57
},
{
"from": "00:34",
"to": "01:29",
"minutes": 55
},
{
"from": "01:49",
"to": "02:43",
"minutes": 55
},
{
"from": "03:33",
"to": "04:43",
"minutes": 70
}
],
"longest_focus_minutes": 52
},
"top_dirs": [
{
"path": "apps/manacore/apps/web",
"pct": 15
},
{
"path": "apps/calendar/apps/web",
"pct": 11
},
{
"path": "apps/clock/apps/web",
"pct": 9
},
{
"path": "apps/contacts/apps/web",
"pct": 8
},
{
"path": "apps/chat/apps/web",
"pct": 6
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 102
},
{
"ext": ".ts",
"count": 73
},
{
"ext": ".json",
"count": 24
},
{
"ext": "<no-ext>",
"count": 19
},
{
"ext": ".sh",
"count": 16
},
{
"ext": ".md",
"count": 10
}
],
"tags": ["manacore-web", "auth", "runtime-config", "deps", "storage"],
"commits_list": [
{
"hash": "660cbd6",
"short": "Merge branch 'dev' into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-15T14:10:34+01:00"
},
{
"hash": "3011d77",
"short": "♻️ refactor(contacts,zitare): use dynamic runtime URLs in auth stores",
"type": null,
"scope": null,
"additions": 49,
"deletions": 9,
"timestamp": "2025-12-15T14:13:00+01:00"
},
{
"hash": "eebc370",
"short": "📝 docs: update runtime URL injection checklist",
"type": null,
"scope": null,
"additions": 14,
"deletions": 12,
"timestamp": "2025-12-15T14:14:58+01:00"
},
{
"hash": "9238ff7",
"short": "Merge pull request #18 from Memo-2023/till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-15T14:27:32+01:00"
},
{
"hash": "b949037",
"short": "🔧 chore: add svelte-check to pre-commit hooks",
"type": null,
"scope": null,
"additions": 195,
"deletions": 1,
"timestamp": "2025-12-15T17:53:52+01:00"
},
{
"hash": "42e5e97",
"short": "♿️ fix: resolve all svelte-check a11y warnings across web apps",
"type": null,
"scope": null,
"additions": 1048,
"deletions": 558,
"timestamp": "2025-12-15T19:09:01+01:00"
},
{
"hash": "272132c",
"short": "🙈 chore: remove .claude-flow from git tracking",
"type": null,
"scope": null,
"additions": 0,
"deletions": 98,
"timestamp": "2025-12-15T19:12:26+01:00"
},
{
"hash": "44e28bb",
"short": "♿️ fix(worldream): add a11y attributes to modal and dialog components",
"type": null,
"scope": null,
"additions": 14,
"deletions": 2,
"timestamp": "2025-12-15T19:14:08+01:00"
},
{
"hash": "263d779",
"short": "🐛 fix: resolve CI/CD build failures for manacore-web and todo-web",
"type": null,
"scope": null,
"additions": 17,
"deletions": 15,
"timestamp": "2025-12-15T19:40:19+01:00"
},
{
"hash": "1480638",
"short": "🔧 chore: add pre-push build validation for changed apps",
"type": null,
"scope": null,
"additions": 105,
"deletions": 3,
"timestamp": "2025-12-15T19:49:30+01:00"
},
{
"hash": "f414aec",
"short": "📝 docs: add staging URLs and modernize README",
"type": null,
"scope": null,
"additions": 124,
"deletions": 57,
"timestamp": "2025-12-15T20:27:02+01:00"
},
{
"hash": "2c30867",
"short": "🔧 refactor: implement 12-factor runtime config for all web apps",
"type": null,
"scope": null,
"additions": 1594,
"deletions": 608,
"timestamp": "2025-12-15T21:33:50+01:00"
},
{
"hash": "b8d1067",
"short": "🐛 fix: use dynamic env for MIDDLEWARE_URL in server middleware",
"type": null,
"scope": null,
"additions": 3,
"deletions": 1,
"timestamp": "2025-12-15T22:33:23+01:00"
},
{
"hash": "22af718",
"short": "fix(runtime-config): add missing zod dependency to Clock and Contacts web apps",
"type": "fix",
"scope": "runtime-config",
"additions": 349,
"deletions": 220,
"timestamp": "2025-12-15T22:44:24+01:00"
},
{
"hash": "5c594a4",
"short": "fix(deps): add missing zod dependency to Calendar and Chat web apps for CI",
"type": "fix",
"scope": "deps",
"additions": 8,
"deletions": 6,
"timestamp": "2025-12-15T23:41:37+01:00"
},
{
"hash": "9b55f10",
"short": "fix(manacore-web): fix Docker entrypoint path for config.json",
"type": "fix",
"scope": "manacore-web",
"additions": 5,
"deletions": 2,
"timestamp": "2025-12-16T00:00:53+01:00"
},
{
"hash": "b2a8ffa",
"short": "fix(manacore-web): await getAuthUrl() and use runtime config in user-settings",
"type": "fix",
"scope": "manacore-web",
"additions": 13,
"deletions": 13,
"timestamp": "2025-12-16T00:21:23+01:00"
},
{
"hash": "aab8c73",
"short": "feat: add multi-layered runtime config protection system",
"type": null,
"scope": null,
"additions": 945,
"deletions": 0,
"timestamp": "2025-12-16T00:28:57+01:00"
},
{
"hash": "d268e8e",
"short": "docs: add comprehensive session report for runtime config implementation",
"type": null,
"scope": null,
"additions": 1078,
"deletions": 0,
"timestamp": "2025-12-16T00:34:06+01:00"
},
{
"hash": "78cd59a",
"short": "feat(storage): unified single-bucket architecture with Hetzner S3",
"type": "feat",
"scope": "storage",
"additions": 226,
"deletions": 252,
"timestamp": "2025-12-16T01:29:11+01:00"
},
{
"hash": "eeab9b7",
"short": "fix(auth): use correct Better Auth API method for password reset",
"type": "fix",
"scope": "auth",
"additions": 40,
"deletions": 28,
"timestamp": "2025-12-16T01:49:06+01:00"
},
{
"hash": "26ca921",
"short": "✨ feat(auth): add centralized @manacore/better-auth-types package",
"type": null,
"scope": null,
"additions": 513,
"deletions": 32,
"timestamp": "2025-12-16T02:43:55+01:00"
},
{
"hash": "fff2819",
"short": "🔒️ feat(auth): add Zod validation and endpoint rate limiting",
"type": null,
"scope": null,
"additions": 162,
"deletions": 13,
"timestamp": "2025-12-16T02:44:21+01:00"
},
{
"hash": "a7f2746",
"short": "✅ test(auth): add role security integration tests",
"type": null,
"scope": null,
"additions": 452,
"deletions": 51,
"timestamp": "2025-12-16T02:44:39+01:00"
},
{
"hash": "6e6815a",
"short": "📝 docs(auth): document Better Auth typing improvements",
"type": null,
"scope": null,
"additions": 835,
"deletions": 0,
"timestamp": "2025-12-16T02:45:41+01:00"
},
{
"hash": "cd19106",
"short": "🐛 fix(docker): add better-auth-types to web app Dockerfiles",
"type": null,
"scope": null,
"additions": 24,
"deletions": 0,
"timestamp": "2025-12-16T02:59:51+01:00"
},
{
"hash": "f37f85e",
"short": "🐛 fix(docker): add better-auth-types to backend Dockerfiles",
"type": null,
"scope": null,
"additions": 16,
"deletions": 0,
"timestamp": "2025-12-16T03:14:45+01:00"
},
{
"hash": "c5ffd92",
"short": "feat(auth): add Brevo email integration for password reset and org invites",
"type": "feat",
"scope": "auth",
"additions": 950,
"deletions": 463,
"timestamp": "2025-12-16T03:33:15+01:00"
},
{
"hash": "bdbe66d",
"short": "🐛 fix(docker): remove pre-compressed config files at runtime",
"type": null,
"scope": null,
"additions": 25,
"deletions": 0,
"timestamp": "2025-12-16T04:43:11+01:00"
},
{
"hash": "7b33f6a",
"short": "📝 docs(staging): add troubleshooting for pre-compressed configs and caching",
"type": null,
"scope": null,
"additions": 174,
"deletions": 17,
"timestamp": "2025-12-16T05:03:23+01:00"
},
{
"hash": "d2c2326",
"short": "🐛 fix(calendar): use runtime config for cross-app service URLs",
"type": null,
"scope": null,
"additions": 220,
"deletions": 26,
"timestamp": "2025-12-16T05:10:01+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2025-12-15
day: 21
view: macher
weekday: Montag
commits: 31
review: written
---
# Montag, 2025-12-15 — Tag 21 (Macher-Sicht)
## Stats
31 Commits, +9198 / 2487 LoC, 227 Files. Top-Dirs: `apps/manacore/apps/web` (15%), `apps/calendar/apps/web` (11%), `apps/clock/apps/web` (9%), `apps/contacts/apps/web` (8%), `apps/chat/apps/web` (6%). Tags: manacore-web, auth, runtime-config, deps, storage. Session 13:10 → 04:10 (~216 aktive Min, längster Fokus 52 Min).
## Commits
- `660cbd6` Merge branch 'dev' into till-dev (+0/-0)
- `3011d77` ♻️ refactor(contacts,zitare): use dynamic runtime URLs in auth stores (+49/-9)
- `eebc370` 📝 docs: update runtime URL injection checklist (+14/-12)
- `9238ff7` Merge pull request #18 from Memo-2023/till-dev (+0/-0)
- `b949037` 🔧 chore: add svelte-check to pre-commit hooks (+195/-1)
- `42e5e97` ♿️ fix: resolve all svelte-check a11y warnings across web apps (+1048/-558)
- `272132c` 🙈 chore: remove .claude-flow from git tracking (+0/-98)
- `44e28bb` ♿️ fix(worldream): add a11y attributes to modal and dialog components (+14/-2)
- `263d779` 🐛 fix: resolve CI/CD build failures for manacore-web and todo-web (+17/-15)
- `1480638` 🔧 chore: add pre-push build validation for changed apps (+105/-3)
- `f414aec` 📝 docs: add staging URLs and modernize README (+124/-57)
- `2c30867` 🔧 refactor: implement 12-factor runtime config for all web apps (+1594/-608)
- `b8d1067` 🐛 fix: use dynamic env for MIDDLEWARE_URL in server middleware (+3/-1)
- `22af718` fix(runtime-config): add missing zod dependency to Clock and Contacts web apps (+349/-220)
- `5c594a4` fix(deps): add missing zod dependency to Calendar and Chat web apps for CI (+8/-6)
- `9b55f10` fix(manacore-web): fix Docker entrypoint path for config.json (+5/-2)
- `b2a8ffa` fix(manacore-web): await getAuthUrl() and use runtime config in user-settings (+13/-13)
- `aab8c73` feat: add multi-layered runtime config protection system (+945/-0)
- `d268e8e` docs: add comprehensive session report for runtime config implementation (+1078/-0)
- `78cd59a` feat(storage): unified single-bucket architecture with Hetzner S3 (+226/-252)
_… plus 11 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2025-12-15
day: 21
view: spieler
weekday: Montag
commits: 31
review: written
---
# Montag, 2025-12-15 — Tag 21
Großer Sprint-Tag mit Schwerpunkt **apps** (31 Commits).
## Highlights
- ♻️ refactor(contacts,zitare): use dynamic runtime URLs in auth stores
- 📝 docs: update runtime URL injection checklist
- 🔧 chore: add svelte-check to pre-commit hooks
- ♿️ fix: resolve all svelte-check a11y warnings across web apps
- 🙈 chore: remove .claude-flow from git tracking

223
devlog/2025-12-16/data.json Normal file
View file

@ -0,0 +1,223 @@
{
"date": "2025-12-16",
"day_number": 22,
"weekday": "Dienstag",
"commits": 13,
"authors": [
{
"name": "Wuesteon",
"count": 6
},
{
"name": "Till-JS",
"count": 6
},
{
"name": "Nils Weiser",
"count": 1
}
],
"additions": 5334,
"deletions": 2788,
"net_lines": 2546,
"files_changed": 96,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-16T16:37:19.000Z",
"last_commit_at": "2025-12-16T20:12:25.000Z",
"total_span_minutes": 215,
"active_minutes": 74,
"pauses": [
{
"from": "18:39",
"to": "19:17",
"minutes": 37
},
{
"from": "19:27",
"to": "20:28",
"minutes": 61
},
{
"from": "20:29",
"to": "21:12",
"minutes": 43
}
],
"longest_focus_minutes": 63
},
"top_dirs": [
{
"path": "apps/calendar/apps/web",
"pct": 29
},
{
"path": "packages/shared-i18n/src",
"pct": 6
},
{
"path": "apps/calendar/apps/backend",
"pct": 4
},
{
"path": "services/mana-core-auth/src",
"pct": 4
},
{
"path": "games/voxelava/apps",
"pct": 3
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 34
},
{
"ext": ".ts",
"count": 31
},
{
"ext": ".md",
"count": 18
},
{
"ext": ".json",
"count": 14
},
{
"ext": ".yml",
"count": 4
},
{
"ext": ".backup",
"count": 1
}
],
"tags": ["calendar"],
"commits_list": [
{
"hash": "ad495b2",
"short": "📝 docs: restructure CLAUDE.md and documentation (74% reduction)",
"type": null,
"scope": null,
"additions": 1006,
"deletions": 1898,
"timestamp": "2025-12-16T17:37:19+01:00"
},
{
"hash": "781bc52",
"short": "fix(calendar): equal cell heights in month view on smaller screens",
"type": "fix",
"scope": "calendar",
"additions": 7,
"deletions": 2,
"timestamp": "2025-12-16T17:43:38+01:00"
},
{
"hash": "c7c451e",
"short": "feat(calendar): add tag filtering to calendar views",
"type": "feat",
"scope": "calendar",
"additions": 195,
"deletions": 23,
"timestamp": "2025-12-16T17:59:28+01:00"
},
{
"hash": "484efcc",
"short": "style(calendar): use neutral colors for TagStrip action buttons",
"type": "style",
"scope": "calendar",
"additions": 12,
"deletions": 12,
"timestamp": "2025-12-16T18:08:11+01:00"
},
{
"hash": "31f187b",
"short": "feat(calendar): integrate network view into homepage with heatmap stats",
"type": "feat",
"scope": "calendar",
"additions": 950,
"deletions": 401,
"timestamp": "2025-12-16T18:35:03+01:00"
},
{
"hash": "ea85621",
"short": "feat(calendar): show settings as modal on homepage",
"type": "feat",
"scope": "calendar",
"additions": 1249,
"deletions": 1,
"timestamp": "2025-12-16T18:37:11+01:00"
},
{
"hash": "6035994",
"short": "feat(calendar): add stats sidebar section and heatmap support in year view",
"type": "feat",
"scope": "calendar",
"additions": 511,
"deletions": 6,
"timestamp": "2025-12-16T18:39:59+01:00"
},
{
"hash": "285e142",
"short": "Merge branch 'dev' into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-16T19:17:07+01:00"
},
{
"hash": "11324b5",
"short": "Merge pull request #19 from Memo-2023/till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-16T19:27:03+01:00"
},
{
"hash": "d3e11b3",
"short": "🐛 fix(auth): require name field in registration forms",
"type": null,
"scope": null,
"additions": 151,
"deletions": 56,
"timestamp": "2025-12-16T20:28:28+01:00"
},
{
"hash": "3e3e9f3",
"short": "🩹 fix(voxelava): fix type errors in level types and user profile",
"type": null,
"scope": null,
"additions": 9,
"deletions": 29,
"timestamp": "2025-12-16T20:29:38+01:00"
},
{
"hash": "8c973e4",
"short": " 1. Brevo email integration (API key, sender settings) 2. URL configuration fix (BASE_URL, FRONTEND_URL) 3. Password reset URL pointing to frontend instead of API",
"type": null,
"scope": null,
"additions": 42,
"deletions": 4,
"timestamp": "2025-12-16T21:12:25+01:00"
},
{
"hash": "4c44764",
"short": " 1. Brevo email integration (API key, sender settings) 2. URL configuration fix (BASE_URL, FRONTEND_URL) 3. Password reset URL pointing to frontend instead of API",
"type": null,
"scope": null,
"additions": 1202,
"deletions": 356,
"timestamp": "2025-12-16T21:12:25+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,30 @@
---
date: 2025-12-16
day: 22
view: macher
weekday: Dienstag
commits: 13
review: written
---
# Dienstag, 2025-12-16 — Tag 22 (Macher-Sicht)
## Stats
13 Commits, +5334 / 2788 LoC, 96 Files. Top-Dirs: `apps/calendar/apps/web` (29%), `packages/shared-i18n/src` (6%), `apps/calendar/apps/backend` (4%), `services/mana-core-auth/src` (4%), `games/voxelava/apps` (3%). Tags: calendar. Session 16:37 → 20:12 (~74 aktive Min, längster Fokus 63 Min).
## Commits
- `ad495b2` 📝 docs: restructure CLAUDE.md and documentation (74% reduction) (+1006/-1898)
- `781bc52` fix(calendar): equal cell heights in month view on smaller screens (+7/-2)
- `c7c451e` feat(calendar): add tag filtering to calendar views (+195/-23)
- `484efcc` style(calendar): use neutral colors for TagStrip action buttons (+12/-12)
- `31f187b` feat(calendar): integrate network view into homepage with heatmap stats (+950/-401)
- `ea85621` feat(calendar): show settings as modal on homepage (+1249/-1)
- `6035994` feat(calendar): add stats sidebar section and heatmap support in year view (+511/-6)
- `285e142` Merge branch 'dev' into till-dev (+0/-0)
- `11324b5` Merge pull request #19 from Memo-2023/till-dev (+0/-0)
- `d3e11b3` 🐛 fix(auth): require name field in registration forms (+151/-56)
- `3e3e9f3` 🩹 fix(voxelava): fix type errors in level types and user profile (+9/-29)
- `8c973e4` 1. Brevo email integration (API key, sender settings) 2. URL configuration fix (BASE_URL, FRONTEND_URL) 3. Password reset URL pointing to frontend instead of API (+42/-4)
- `4c44764` 1. Brevo email integration (API key, sender settings) 2. URL configuration fix (BASE_URL, FRONTEND_URL) 3. Password reset URL pointing to frontend instead of API (+1202/-356)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-16
day: 22
view: spieler
weekday: Dienstag
commits: 13
review: written
---
# Dienstag, 2025-12-16 — Tag 22
Dichter Tag in **apps** und Umgebung.
## Highlights
- 📝 docs: restructure CLAUDE.md and documentation (74% reduction)
- equal cell heights in month view on smaller screens
- add tag filtering to calendar views
- use neutral colors for TagStrip action buttons
- integrate network view into homepage with heatmap stats

172
devlog/2025-12-17/data.json Normal file
View file

@ -0,0 +1,172 @@
{
"date": "2025-12-17",
"day_number": 23,
"weekday": "Mittwoch",
"commits": 10,
"authors": [
{
"name": "Wuesteon",
"count": 10
}
],
"additions": 2166,
"deletions": 638,
"net_lines": 1528,
"files_changed": 32,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-17T16:57:06.000Z",
"last_commit_at": "2025-12-17T18:49:37.000Z",
"total_span_minutes": 113,
"active_minutes": 113,
"pauses": [],
"longest_focus_minutes": 113
},
"top_dirs": [
{
"path": "apps/picture/apps/web",
"pct": 21
},
{
"path": "packages/shared-nestjs-cors/src",
"pct": 9
},
{
"path": "pnpm-lock.yaml",
"pct": 7
},
{
"path": "apps/picture/apps/backend",
"pct": 7
},
{
"path": "packages/shared-nestjs-cors/package.json",
"pct": 5
}
],
"top_extensions": [
{
"ext": "<no-ext>",
"count": 16
},
{
"ext": ".ts",
"count": 6
},
{
"ext": ".json",
"count": 5
},
{
"ext": ".yml",
"count": 5
},
{
"ext": ".yaml",
"count": 3
},
{
"ext": ".svelte",
"count": 3
}
],
"tags": [],
"commits_list": [
{
"hash": "3504172",
"short": "✨ feat(cors): add cross-app communication bundle",
"type": null,
"scope": null,
"additions": 283,
"deletions": 12,
"timestamp": "2025-12-17T17:57:06+01:00"
},
{
"hash": "c5d662b",
"short": "✅ test(cors): add comprehensive unit tests for shared-nestjs-cors",
"type": null,
"scope": null,
"additions": 938,
"deletions": 328,
"timestamp": "2025-12-17T18:07:00+01:00"
},
{
"hash": "1be3d7a",
"short": "🐛 fix(docker): add missing workspace dependencies to all Dockerfiles",
"type": null,
"scope": null,
"additions": 44,
"deletions": 17,
"timestamp": "2025-12-17T18:19:29+01:00"
},
{
"hash": "47881ae",
"short": "✨ feat(husky): add helpful error messages to git hooks",
"type": null,
"scope": null,
"additions": 38,
"deletions": 4,
"timestamp": "2025-12-17T18:39:41+01:00"
},
{
"hash": "74654e6",
"short": "🐛 fix(cors): compile shared-nestjs-cors to JavaScript for production",
"type": null,
"scope": null,
"additions": 26,
"deletions": 6,
"timestamp": "2025-12-17T18:42:47+01:00"
},
{
"hash": "dcdc15f",
"short": "🚀 ci(picture): add picture app to CI/CD deployment pipeline",
"type": null,
"scope": null,
"additions": 285,
"deletions": 2,
"timestamp": "2025-12-17T18:47:42+01:00"
},
{
"hash": "71cbca0",
"short": "🐛 fix(picture-web): fix Docker build and auth pages",
"type": null,
"scope": null,
"additions": 184,
"deletions": 25,
"timestamp": "2025-12-17T18:58:31+01:00"
},
{
"hash": "05ad5f1",
"short": "🔧 fix(picture-web): switch from adapter-netlify to adapter-node",
"type": null,
"scope": null,
"additions": 346,
"deletions": 232,
"timestamp": "2025-12-17T19:13:29+01:00"
},
{
"hash": "70c9196",
"short": "🐛 fix(cors): handle both string and array corsOriginsEnv",
"type": null,
"scope": null,
"additions": 17,
"deletions": 11,
"timestamp": "2025-12-17T19:27:57+01:00"
},
{
"hash": "1214c78",
"short": "🐛 fix(picture-backend): fix TypeScript output path for Docker",
"type": null,
"scope": null,
"additions": 5,
"deletions": 1,
"timestamp": "2025-12-17T19:49:37+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,27 @@
---
date: 2025-12-17
day: 23
view: macher
weekday: Mittwoch
commits: 10
review: written
---
# Mittwoch, 2025-12-17 — Tag 23 (Macher-Sicht)
## Stats
10 Commits, +2166 / 638 LoC, 32 Files. Top-Dirs: `apps/picture/apps/web` (21%), `packages/shared-nestjs-cors/src` (9%), `pnpm-lock.yaml` (7%), `apps/picture/apps/backend` (7%), `packages/shared-nestjs-cors/package.json` (5%). Tags: —. Session 16:57 → 18:49 (~113 aktive Min, längster Fokus 113 Min).
## Commits
- `3504172` ✨ feat(cors): add cross-app communication bundle (+283/-12)
- `c5d662b` ✅ test(cors): add comprehensive unit tests for shared-nestjs-cors (+938/-328)
- `1be3d7a` 🐛 fix(docker): add missing workspace dependencies to all Dockerfiles (+44/-17)
- `47881ae` ✨ feat(husky): add helpful error messages to git hooks (+38/-4)
- `74654e6` 🐛 fix(cors): compile shared-nestjs-cors to JavaScript for production (+26/-6)
- `dcdc15f` 🚀 ci(picture): add picture app to CI/CD deployment pipeline (+285/-2)
- `71cbca0` 🐛 fix(picture-web): fix Docker build and auth pages (+184/-25)
- `05ad5f1` 🔧 fix(picture-web): switch from adapter-netlify to adapter-node (+346/-232)
- `70c9196` 🐛 fix(cors): handle both string and array corsOriginsEnv (+17/-11)
- `1214c78` 🐛 fix(picture-backend): fix TypeScript output path for Docker (+5/-1)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-17
day: 23
view: spieler
weekday: Mittwoch
commits: 10
review: written
---
# Mittwoch, 2025-12-17 — Tag 23
Dichter Tag in **apps** und Umgebung.
## Highlights
- ✨ feat(cors): add cross-app communication bundle
- ✅ test(cors): add comprehensive unit tests for shared-nestjs-cors
- 🐛 fix(docker): add missing workspace dependencies to all Dockerfiles
- ✨ feat(husky): add helpful error messages to git hooks
- 🐛 fix(cors): compile shared-nestjs-cors to JavaScript for production

206
devlog/2025-12-18/data.json Normal file
View file

@ -0,0 +1,206 @@
{
"date": "2025-12-18",
"day_number": 24,
"weekday": "Donnerstag",
"commits": 11,
"authors": [
{
"name": "Wuesteon",
"count": 10
},
{
"name": "Till-JS",
"count": 1
}
],
"additions": 11359,
"deletions": 4314,
"net_lines": 7045,
"files_changed": 92,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-18T16:03:07.000Z",
"last_commit_at": "2025-12-19T02:26:59.000Z",
"total_span_minutes": 624,
"active_minutes": 48,
"pauses": [
{
"from": "17:03",
"to": "21:42",
"minutes": 280
},
{
"from": "22:28",
"to": "23:25",
"minutes": 57
},
{
"from": "23:26",
"to": "02:17",
"minutes": 171
},
{
"from": "02:18",
"to": "03:26",
"minutes": 68
}
],
"longest_focus_minutes": 46
},
"top_dirs": [
{
"path": "services/mana-core-auth/src",
"pct": 34
},
{
"path": "packages/shared-error-tracking/src",
"pct": 10
},
{
"path": ".github/workflows/cd-staging.yml",
"pct": 2
},
{
"path": "docker-compose.staging.yml",
"pct": 2
},
{
"path": "services/mana-core-auth/scripts",
"pct": 2
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 34
},
{
"ext": ".md",
"count": 23
},
{
"ext": ".json",
"count": 13
},
{
"ext": ".yml",
"count": 10
},
{
"ext": ".sh",
"count": 5
},
{
"ext": ".sql",
"count": 5
}
],
"tags": [],
"commits_list": [
{
"hash": "1cd04a5",
"short": "Merge branch 'dev' into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-18T17:03:07+01:00"
},
{
"hash": "4d15d9e",
"short": "🔒 security(auth): migrate to EdDSA JWT and add automated monitoring",
"type": null,
"scope": null,
"additions": 6871,
"deletions": 4155,
"timestamp": "2025-12-18T21:42:47+01:00"
},
{
"hash": "7f35753",
"short": "🐛 fix(auth-migrations): make initial migration idempotent",
"type": null,
"scope": null,
"additions": 139,
"deletions": 139,
"timestamp": "2025-12-18T22:10:00+01:00"
},
{
"hash": "5bb1abb",
"short": "🐛 fix(auth-migrations): add missing session columns migration",
"type": null,
"scope": null,
"additions": 74,
"deletions": 0,
"timestamp": "2025-12-18T22:28:28+01:00"
},
{
"hash": "ffc41b2",
"short": "🐛 fix(auth-migrations): use native ADD COLUMN IF NOT EXISTS syntax",
"type": null,
"scope": null,
"additions": 40,
"deletions": 2,
"timestamp": "2025-12-18T23:25:07+01:00"
},
{
"hash": "f834986",
"short": "🐛 fix(ci): add db:push fallback when migrations fail",
"type": null,
"scope": null,
"additions": 8,
"deletions": 3,
"timestamp": "2025-12-18T23:26:10+01:00"
},
{
"hash": "5e1118b",
"short": "✨ feat(error-tracking): add shared error tracking package",
"type": null,
"scope": null,
"additions": 1033,
"deletions": 0,
"timestamp": "2025-12-19T02:17:36+01:00"
},
{
"hash": "319ccd1",
"short": "✨ feat(auth): add error logs API and database schema",
"type": null,
"scope": null,
"additions": 527,
"deletions": 0,
"timestamp": "2025-12-19T02:17:55+01:00"
},
{
"hash": "9e771c9",
"short": "🔧 chore(auth): improve migration safety and docker setup",
"type": null,
"scope": null,
"additions": 353,
"deletions": 5,
"timestamp": "2025-12-19T02:18:31+01:00"
},
{
"hash": "2784143",
"short": "📝 docs: add error tracking and security documentation",
"type": null,
"scope": null,
"additions": 2287,
"deletions": 0,
"timestamp": "2025-12-19T02:18:42+01:00"
},
{
"hash": "834b11d",
"short": "🐛 fix(staging): add missing PUBLIC_*_CLIENT env vars for runtime config",
"type": null,
"scope": null,
"additions": 27,
"deletions": 10,
"timestamp": "2025-12-19T03:26:59+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,28 @@
---
date: 2025-12-18
day: 24
view: macher
weekday: Donnerstag
commits: 11
review: written
---
# Donnerstag, 2025-12-18 — Tag 24 (Macher-Sicht)
## Stats
11 Commits, +11359 / 4314 LoC, 92 Files. Top-Dirs: `services/mana-core-auth/src` (34%), `packages/shared-error-tracking/src` (10%), `.github/workflows/cd-staging.yml` (2%), `docker-compose.staging.yml` (2%), `services/mana-core-auth/scripts` (2%). Tags: —. Session 16:03 → 02:26 (~48 aktive Min, längster Fokus 46 Min).
## Commits
- `1cd04a5` Merge branch 'dev' into till-dev (+0/-0)
- `4d15d9e` 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring (+6871/-4155)
- `7f35753` 🐛 fix(auth-migrations): make initial migration idempotent (+139/-139)
- `5bb1abb` 🐛 fix(auth-migrations): add missing session columns migration (+74/-0)
- `ffc41b2` 🐛 fix(auth-migrations): use native ADD COLUMN IF NOT EXISTS syntax (+40/-2)
- `f834986` 🐛 fix(ci): add db:push fallback when migrations fail (+8/-3)
- `5e1118b` ✨ feat(error-tracking): add shared error tracking package (+1033/-0)
- `319ccd1` ✨ feat(auth): add error logs API and database schema (+527/-0)
- `9e771c9` 🔧 chore(auth): improve migration safety and docker setup (+353/-5)
- `2784143` 📝 docs: add error tracking and security documentation (+2287/-0)
- `834b11d` 🐛 fix(staging): add missing PUBLIC\_\*\_CLIENT env vars for runtime config (+27/-10)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-18
day: 24
view: spieler
weekday: Donnerstag
commits: 11
review: written
---
# Donnerstag, 2025-12-18 — Tag 24
Dichter Tag in **services** und Umgebung.
## Highlights
- 🔒 security(auth): migrate to EdDSA JWT and add automated monitoring
- 🐛 fix(auth-migrations): make initial migration idempotent
- 🐛 fix(auth-migrations): add missing session columns migration
- 🐛 fix(auth-migrations): use native ADD COLUMN IF NOT EXISTS syntax
- 🐛 fix(ci): add db:push fallback when migrations fail

View file

@ -0,0 +1,45 @@
{
"date": "2025-12-19",
"day_number": 25,
"weekday": "Freitag",
"commits": 1,
"authors": [
{
"name": "Wuesteon",
"count": 1
}
],
"additions": 0,
"deletions": 0,
"net_lines": 0,
"files_changed": 0,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-19T18:29:29.000Z",
"last_commit_at": "2025-12-19T18:29:29.000Z",
"total_span_minutes": 0,
"active_minutes": 0,
"pauses": [],
"longest_focus_minutes": 0
},
"top_dirs": [],
"top_extensions": [],
"tags": [],
"commits_list": [
{
"hash": "bb4189f",
"short": "Merge branch 'dev' into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-19T19:29:29+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,18 @@
---
date: 2025-12-19
day: 25
view: macher
weekday: Freitag
commits: 1
review: written
---
# Freitag, 2025-12-19 — Tag 25 (Macher-Sicht)
## Stats
1 Commits, +0 / 0 LoC, 0 Files. Top-Dirs: —. Tags: —. Session 18:29 → 18:29 (~0 aktive Min, längster Fokus 0 Min).
## Commits
- `bb4189f` Merge branch 'dev' into till-dev (+0/-0)

View file

@ -0,0 +1,14 @@
---
date: 2025-12-19
day: 25
view: spieler
weekday: Freitag
commits: 1
review: written
---
# Freitag, 2025-12-19 — Tag 25
Ein kleinerer Schritt in **managarten**.
Hintergrund-Arbeit: Aufräumen, Refactor, Doku — nichts End-User-Sichtbares an diesem Tag.

View file

@ -0,0 +1,45 @@
{
"date": "2025-12-24",
"day_number": 26,
"weekday": "Mittwoch",
"commits": 1,
"authors": [
{
"name": "Wuesteon",
"count": 1
}
],
"additions": 0,
"deletions": 0,
"net_lines": 0,
"files_changed": 0,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-24T21:49:01.000Z",
"last_commit_at": "2025-12-24T21:49:01.000Z",
"total_span_minutes": 0,
"active_minutes": 0,
"pauses": [],
"longest_focus_minutes": 0
},
"top_dirs": [],
"top_extensions": [],
"tags": [],
"commits_list": [
{
"hash": "42bb44b",
"short": "Merge branch 'till-dev' into dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-24T22:49:01+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,18 @@
---
date: 2025-12-24
day: 26
view: macher
weekday: Mittwoch
commits: 1
review: written
---
# Mittwoch, 2025-12-24 — Tag 26 (Macher-Sicht)
## Stats
1 Commits, +0 / 0 LoC, 0 Files. Top-Dirs: —. Tags: —. Session 21:49 → 21:49 (~0 aktive Min, längster Fokus 0 Min).
## Commits
- `42bb44b` Merge branch 'till-dev' into dev (+0/-0)

View file

@ -0,0 +1,14 @@
---
date: 2025-12-24
day: 26
view: spieler
weekday: Mittwoch
commits: 1
review: written
---
# Mittwoch, 2025-12-24 — Tag 26
Ein kleinerer Schritt in **managarten**.
Hintergrund-Arbeit: Aufräumen, Refactor, Doku — nichts End-User-Sichtbares an diesem Tag.

193
devlog/2025-12-25/data.json Normal file
View file

@ -0,0 +1,193 @@
{
"date": "2025-12-25",
"day_number": 27,
"weekday": "Donnerstag",
"commits": 10,
"authors": [
{
"name": "Wuesteon",
"count": 10
}
],
"additions": 5662,
"deletions": 1295856,
"net_lines": -1290194,
"files_changed": 5022,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-25T16:07:55.000Z",
"last_commit_at": "2025-12-25T20:09:27.000Z",
"total_span_minutes": 242,
"active_minutes": 46,
"pauses": [
{
"from": "17:23",
"to": "17:57",
"minutes": 34
},
{
"from": "17:58",
"to": "19:12",
"minutes": 74
},
{
"from": "19:12",
"to": "20:03",
"minutes": 51
},
{
"from": "20:07",
"to": "20:44",
"minutes": 37
}
],
"longest_focus_minutes": 25
},
"top_dirs": [
{
"path": "apps-archived/memoro/apps",
"pct": 27
},
{
"path": "apps-archived/maerchenzauber/apps",
"pct": 10
},
{
"path": "apps-archived/uload/apps",
"pct": 6
},
{
"path": "apps-archived/bauntown/apps",
"pct": 5
},
{
"path": "apps/zitare/apps/mobile",
"pct": 4
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 1439
},
{
"ext": ".md",
"count": 665
},
{
"ext": ".svelte",
"count": 538
},
{
"ext": ".tsx",
"count": 534
},
{
"ext": ".json",
"count": 375
},
{
"ext": ".astro",
"count": 347
}
],
"tags": ["tests"],
"commits_list": [
{
"hash": "9bba761",
"short": "fix todo backend docker file",
"type": null,
"scope": null,
"additions": 9,
"deletions": 7,
"timestamp": "2025-12-25T17:07:55+01:00"
},
{
"hash": "079b55a",
"short": "delete old apps due to context pollution",
"type": null,
"scope": null,
"additions": 71,
"deletions": 1292371,
"timestamp": "2025-12-25T17:23:14+01:00"
},
{
"hash": "5b7d3c6",
"short": "🔧 chore: enforce monorepo best practices with automated validation",
"type": null,
"scope": null,
"additions": 304,
"deletions": 25,
"timestamp": "2025-12-25T17:57:00+01:00"
},
{
"hash": "9dbd6e6",
"short": "✨ feat(auth): implement sliding window refresh token expiration",
"type": null,
"scope": null,
"additions": 128,
"deletions": 2936,
"timestamp": "2025-12-25T17:58:20+01:00"
},
{
"hash": "3048972",
"short": "✅ test: implement comprehensive automated testing system with daily CI/CD",
"type": null,
"scope": null,
"additions": 5017,
"deletions": 16,
"timestamp": "2025-12-25T19:12:27+01:00"
},
{
"hash": "cfc5c10",
"short": "fix(tests): add missing service mocks to e2e integration tests",
"type": "fix",
"scope": "tests",
"additions": 28,
"deletions": 1,
"timestamp": "2025-12-25T20:03:14+01:00"
},
{
"hash": "dfdd045",
"short": "🔧 refactor(ci): simplify daily tests to auth + integration only",
"type": null,
"scope": null,
"additions": 75,
"deletions": 488,
"timestamp": "2025-12-25T20:07:25+01:00"
},
{
"hash": "2186cb3",
"short": "🐛 fix(ci): use db:migrate instead of db:push for test databases",
"type": null,
"scope": null,
"additions": 3,
"deletions": 7,
"timestamp": "2025-12-25T20:44:38+01:00"
},
{
"hash": "111e7dd",
"short": "🐛 fix(docker): add missing build-shared-packages.sh script for Docker builds",
"type": null,
"scope": null,
"additions": 26,
"deletions": 0,
"timestamp": "2025-12-25T20:51:15+01:00"
},
{
"hash": "7b365ed",
"short": "🐛 fix(docker): remove unnecessary build step for todo shared package",
"type": null,
"scope": null,
"additions": 1,
"deletions": 5,
"timestamp": "2025-12-25T21:09:27+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,27 @@
---
date: 2025-12-25
day: 27
view: macher
weekday: Donnerstag
commits: 10
review: written
---
# Donnerstag, 2025-12-25 — Tag 27 (Macher-Sicht)
## Stats
10 Commits, +5662 / 1295856 LoC, 5022 Files. Top-Dirs: `apps-archived/memoro/apps` (27%), `apps-archived/maerchenzauber/apps` (10%), `apps-archived/uload/apps` (6%), `apps-archived/bauntown/apps` (5%), `apps/zitare/apps/mobile` (4%). Tags: tests. Session 16:07 → 20:09 (~46 aktive Min, längster Fokus 25 Min).
## Commits
- `9bba761` fix todo backend docker file (+9/-7)
- `079b55a` delete old apps due to context pollution (+71/-1292371)
- `5b7d3c6` 🔧 chore: enforce monorepo best practices with automated validation (+304/-25)
- `9dbd6e6` ✨ feat(auth): implement sliding window refresh token expiration (+128/-2936)
- `3048972` ✅ test: implement comprehensive automated testing system with daily CI/CD (+5017/-16)
- `cfc5c10` fix(tests): add missing service mocks to e2e integration tests (+28/-1)
- `dfdd045` 🔧 refactor(ci): simplify daily tests to auth + integration only (+75/-488)
- `2186cb3` 🐛 fix(ci): use db:migrate instead of db:push for test databases (+3/-7)
- `111e7dd` 🐛 fix(docker): add missing build-shared-packages.sh script for Docker builds (+26/-0)
- `7b365ed` 🐛 fix(docker): remove unnecessary build step for todo shared package (+1/-5)

View file

@ -0,0 +1,20 @@
---
date: 2025-12-25
day: 27
view: spieler
weekday: Donnerstag
commits: 10
review: written
---
# Donnerstag, 2025-12-25 — Tag 27
Dichter Tag in **apps-archived** und Umgebung.
## Highlights
- fix todo backend docker file
- delete old apps due to context pollution
- 🔧 chore: enforce monorepo best practices with automated validation
- ✨ feat(auth): implement sliding window refresh token expiration
- ✅ test: implement comprehensive automated testing system with daily CI/CD

View file

@ -0,0 +1,45 @@
{
"date": "2025-12-29",
"day_number": 28,
"weekday": "Montag",
"commits": 1,
"authors": [
{
"name": "Till-JS",
"count": 1
}
],
"additions": 0,
"deletions": 0,
"net_lines": 0,
"files_changed": 0,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2025-12-29T20:22:25.000Z",
"last_commit_at": "2025-12-29T20:22:25.000Z",
"total_span_minutes": 0,
"active_minutes": 0,
"pauses": [],
"longest_focus_minutes": 0
},
"top_dirs": [],
"top_extensions": [],
"tags": [],
"commits_list": [
{
"hash": "b3b6bfa",
"short": "Merge branch 'till-dev' of https://github.com/Memo-2023/manacore-monorepo into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2025-12-29T21:22:25+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,18 @@
---
date: 2025-12-29
day: 28
view: macher
weekday: Montag
commits: 1
review: written
---
# Montag, 2025-12-29 — Tag 28 (Macher-Sicht)
## Stats
1 Commits, +0 / 0 LoC, 0 Files. Top-Dirs: —. Tags: —. Session 20:22 → 20:22 (~0 aktive Min, längster Fokus 0 Min).
## Commits
- `b3b6bfa` Merge branch 'till-dev' of https://github.com/Memo-2023/manacore-monorepo into till-dev (+0/-0)

View file

@ -0,0 +1,14 @@
---
date: 2025-12-29
day: 28
view: spieler
weekday: Montag
commits: 1
review: written
---
# Montag, 2025-12-29 — Tag 28
Ein kleinerer Schritt in **managarten**.
Hintergrund-Arbeit: Aufräumen, Refactor, Doku — nichts End-User-Sichtbares an diesem Tag.

View file

@ -0,0 +1,45 @@
{
"date": "2026-01-15",
"day_number": 29,
"weekday": "Donnerstag",
"commits": 1,
"authors": [
{
"name": "Till-JS",
"count": 1
}
],
"additions": 0,
"deletions": 0,
"net_lines": 0,
"files_changed": 0,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-15T13:56:02.000Z",
"last_commit_at": "2026-01-15T13:56:02.000Z",
"total_span_minutes": 0,
"active_minutes": 0,
"pauses": [],
"longest_focus_minutes": 0
},
"top_dirs": [],
"top_extensions": [],
"tags": [],
"commits_list": [
{
"hash": "9afae2e",
"short": "Merge branch 'till-dev' of https://github.com/Memo-2023/manacore-monorepo into till-dev",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-15T14:56:02+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,18 @@
---
date: 2026-01-15
day: 29
view: macher
weekday: Donnerstag
commits: 1
review: written
---
# Donnerstag, 2026-01-15 — Tag 29 (Macher-Sicht)
## Stats
1 Commits, +0 / 0 LoC, 0 Files. Top-Dirs: —. Tags: —. Session 13:56 → 13:56 (~0 aktive Min, längster Fokus 0 Min).
## Commits
- `9afae2e` Merge branch 'till-dev' of https://github.com/Memo-2023/manacore-monorepo into till-dev (+0/-0)

View file

@ -0,0 +1,14 @@
---
date: 2026-01-15
day: 29
view: spieler
weekday: Donnerstag
commits: 1
review: written
---
# Donnerstag, 2026-01-15 — Tag 29
Ein kleinerer Schritt in **managarten**.
Hintergrund-Arbeit: Aufräumen, Refactor, Doku — nichts End-User-Sichtbares an diesem Tag.

115
devlog/2026-01-18/data.json Normal file
View file

@ -0,0 +1,115 @@
{
"date": "2026-01-18",
"day_number": 30,
"weekday": "Sonntag",
"commits": 3,
"authors": [
{
"name": "Till-JS",
"count": 3
}
],
"additions": 4311,
"deletions": 2212,
"net_lines": 2099,
"files_changed": 74,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-18T13:57:16.000Z",
"last_commit_at": "2026-01-18T14:43:16.000Z",
"total_span_minutes": 46,
"active_minutes": 3,
"pauses": [
{
"from": "14:57",
"to": "15:40",
"minutes": 43
}
],
"longest_focus_minutes": 3
},
"top_dirs": [
{
"path": "apps/planta/apps/backend",
"pct": 41
},
{
"path": "apps/planta/apps/web",
"pct": 31
},
{
"path": "apps/clock/packages/shared",
"pct": 12
},
{
"path": "apps/planta/packages/shared",
"pct": 5
},
{
"path": "pnpm-lock.yaml",
"pct": 3
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 45
},
{
"ext": ".json",
"count": 11
},
{
"ext": ".svelte",
"count": 10
},
{
"ext": ".yaml",
"count": 2
},
{
"ext": ".development",
"count": 1
},
{
"ext": ".md",
"count": 1
}
],
"tags": [],
"commits_list": [
{
"hash": "e22961e",
"short": "✨ feat(planta): add plant care tracking application",
"type": null,
"scope": null,
"additions": 3840,
"deletions": 3,
"timestamp": "2026-01-18T14:57:16+01:00"
},
{
"hash": "49a8c65",
"short": "🔀 merge: integrate till-dev into main",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-18T15:40:43+01:00"
},
{
"hash": "e02a94a",
"short": "🐛 fix: restore missing clock shared package",
"type": null,
"scope": null,
"additions": 471,
"deletions": 2209,
"timestamp": "2026-01-18T15:43:16+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,20 @@
---
date: 2026-01-18
day: 30
view: macher
weekday: Sonntag
commits: 3
review: written
---
# Sonntag, 2026-01-18 — Tag 30 (Macher-Sicht)
## Stats
3 Commits, +4311 / 2212 LoC, 74 Files. Top-Dirs: `apps/planta/apps/backend` (41%), `apps/planta/apps/web` (31%), `apps/clock/packages/shared` (12%), `apps/planta/packages/shared` (5%), `pnpm-lock.yaml` (3%). Tags: —. Session 13:57 → 14:43 (~3 aktive Min, längster Fokus 3 Min).
## Commits
- `e22961e` ✨ feat(planta): add plant care tracking application (+3840/-3)
- `49a8c65` 🔀 merge: integrate till-dev into main (+0/-0)
- `e02a94a` 🐛 fix: restore missing clock shared package (+471/-2209)

View file

@ -0,0 +1,18 @@
---
date: 2026-01-18
day: 30
view: spieler
weekday: Sonntag
commits: 3
review: written
---
# Sonntag, 2026-01-18 — Tag 30
Kurzer Arbeitstag, Schwerpunkt **apps**.
## Highlights
- ✨ feat(planta): add plant care tracking application
- 🔀 merge: integrate till-dev into main
- 🐛 fix: restore missing clock shared package

228
devlog/2026-01-22/data.json Normal file
View file

@ -0,0 +1,228 @@
{
"date": "2026-01-22",
"day_number": 31,
"weekday": "Donnerstag",
"commits": 14,
"authors": [
{
"name": "Till-JS",
"count": 13
},
{
"name": "Till JS",
"count": 1
}
],
"additions": 3143,
"deletions": 56,
"net_lines": 3087,
"files_changed": 49,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-22T18:17:37.000Z",
"last_commit_at": "2026-01-23T00:23:58.000Z",
"total_span_minutes": 366,
"active_minutes": 79,
"pauses": [
{
"from": "19:49",
"to": "22:48",
"minutes": 180
},
{
"from": "22:51",
"to": "23:55",
"minutes": 64
},
{
"from": "00:30",
"to": "01:13",
"minutes": 43
}
],
"longest_focus_minutes": 35
},
"top_dirs": [
{
"path": "apps/clock/apps/web",
"pct": 52
},
{
"path": "apps/calendar/apps/web",
"pct": 5
},
{
"path": "apps/todo/apps/web",
"pct": 5
},
{
"path": ".github/workflows/ci.yml",
"pct": 3
},
{
"path": "cloudflared-config.yml",
"pct": 3
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 18
},
{
"ext": "<no-ext>",
"count": 9
},
{
"ext": ".json",
"count": 8
},
{
"ext": ".yml",
"count": 6
},
{
"ext": ".svelte",
"count": 6
},
{
"ext": ".sh",
"count": 4
}
],
"tags": ["clock-web", "ci"],
"commits_list": [
{
"hash": "4ebe3ec",
"short": "feat: add multi-arch Docker builds and Mac Mini deployment",
"type": null,
"scope": null,
"additions": 823,
"deletions": 0,
"timestamp": "2026-01-22T19:17:37+01:00"
},
{
"hash": "4023390",
"short": "feat: add SSH access via Cloudflare Tunnel",
"type": null,
"scope": null,
"additions": 52,
"deletions": 0,
"timestamp": "2026-01-22T19:27:39+01:00"
},
{
"hash": "346c28f",
"short": "Merge pull request #22 from Memo-2023/feat/mac-mini-arm64-deployment",
"type": null,
"scope": null,
"additions": 0,
"deletions": 0,
"timestamp": "2026-01-22T19:49:27+01:00"
},
{
"hash": "e29f521",
"short": "fix: resolve build errors for mana-core-auth and clock-backend",
"type": null,
"scope": null,
"additions": 30,
"deletions": 4,
"timestamp": "2026-01-22T22:48:58+01:00"
},
{
"hash": "f3c1c8e",
"short": "docs: add Mac Mini setup checklist",
"type": null,
"scope": null,
"additions": 180,
"deletions": 0,
"timestamp": "2026-01-22T22:51:11+01:00"
},
{
"hash": "a7783ca",
"short": "fix: add BETTER_AUTH_SECRET to mac mini compose",
"type": null,
"scope": null,
"additions": 1,
"deletions": 0,
"timestamp": "2026-01-22T23:55:10+01:00"
},
{
"hash": "deb8bae",
"short": "fix: resolve Docker build errors for web apps",
"type": null,
"scope": null,
"additions": 17,
"deletions": 0,
"timestamp": "2026-01-23T00:03:00+01:00"
},
{
"hash": "569629d",
"short": "feat(ci): implement selective builds for faster CI",
"type": "feat",
"scope": "ci",
"additions": 493,
"deletions": 52,
"timestamp": "2026-01-23T00:11:23+01:00"
},
{
"hash": "438ee89",
"short": "fix: add prepare scripts to web apps for svelte-kit sync",
"type": null,
"scope": null,
"additions": 4,
"deletions": 0,
"timestamp": "2026-01-23T00:14:06+01:00"
},
{
"hash": "800bcd8",
"short": "fix: add svelte-kit sync to Dockerfiles before build",
"type": null,
"scope": null,
"additions": 5,
"deletions": 0,
"timestamp": "2026-01-23T00:21:02+01:00"
},
{
"hash": "9936a12",
"short": "fix(clock-web): add missing SvelteKit config files",
"type": "fix",
"scope": "clock-web",
"additions": 75,
"deletions": 0,
"timestamp": "2026-01-23T00:24:03+01:00"
},
{
"hash": "42c75bd",
"short": "fix(clock-web): add missing source files for build",
"type": "fix",
"scope": "clock-web",
"additions": 326,
"deletions": 0,
"timestamp": "2026-01-23T00:30:10+01:00"
},
{
"hash": "6d65f3b",
"short": "fix(clock-web): add all missing stores, APIs, and components",
"type": "fix",
"scope": "clock-web",
"additions": 1134,
"deletions": 0,
"timestamp": "2026-01-23T01:13:17+01:00"
},
{
"hash": "2164d4a",
"short": "fix(clock-web): add toast export alias for compatibility",
"type": "fix",
"scope": "clock-web",
"additions": 3,
"deletions": 0,
"timestamp": "2026-01-23T01:23:58+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,31 @@
---
date: 2026-01-22
day: 31
view: macher
weekday: Donnerstag
commits: 14
review: written
---
# Donnerstag, 2026-01-22 — Tag 31 (Macher-Sicht)
## Stats
14 Commits, +3143 / 56 LoC, 49 Files. Top-Dirs: `apps/clock/apps/web` (52%), `apps/calendar/apps/web` (5%), `apps/todo/apps/web` (5%), `.github/workflows/ci.yml` (3%), `cloudflared-config.yml` (3%). Tags: clock-web, ci. Session 18:17 → 00:23 (~79 aktive Min, längster Fokus 35 Min).
## Commits
- `4ebe3ec` feat: add multi-arch Docker builds and Mac Mini deployment (+823/-0)
- `4023390` feat: add SSH access via Cloudflare Tunnel (+52/-0)
- `346c28f` Merge pull request #22 from Memo-2023/feat/mac-mini-arm64-deployment (+0/-0)
- `e29f521` fix: resolve build errors for mana-core-auth and clock-backend (+30/-4)
- `f3c1c8e` docs: add Mac Mini setup checklist (+180/-0)
- `a7783ca` fix: add BETTER_AUTH_SECRET to mac mini compose (+1/-0)
- `deb8bae` fix: resolve Docker build errors for web apps (+17/-0)
- `569629d` feat(ci): implement selective builds for faster CI (+493/-52)
- `438ee89` fix: add prepare scripts to web apps for svelte-kit sync (+4/-0)
- `800bcd8` fix: add svelte-kit sync to Dockerfiles before build (+5/-0)
- `9936a12` fix(clock-web): add missing SvelteKit config files (+75/-0)
- `42c75bd` fix(clock-web): add missing source files for build (+326/-0)
- `6d65f3b` fix(clock-web): add all missing stores, APIs, and components (+1134/-0)
- `2164d4a` fix(clock-web): add toast export alias for compatibility (+3/-0)

View file

@ -0,0 +1,20 @@
---
date: 2026-01-22
day: 31
view: spieler
weekday: Donnerstag
commits: 14
review: written
---
# Donnerstag, 2026-01-22 — Tag 31
Dichter Tag in **apps** und Umgebung.
## Highlights
- add multi-arch Docker builds and Mac Mini deployment
- add SSH access via Cloudflare Tunnel
- resolve build errors for mana-core-auth and clock-backend
- add Mac Mini setup checklist
- add BETTER_AUTH_SECRET to mac mini compose

432
devlog/2026-01-23/data.json Normal file
View file

@ -0,0 +1,432 @@
{
"date": "2026-01-23",
"day_number": 32,
"weekday": "Freitag",
"commits": 36,
"authors": [
{
"name": "Till-JS",
"count": 36
}
],
"additions": 19273,
"deletions": 985,
"net_lines": 18288,
"files_changed": 175,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-23T10:48:24.000Z",
"last_commit_at": "2026-01-23T20:16:20.000Z",
"total_span_minutes": 568,
"active_minutes": 257,
"pauses": [
{
"from": "12:47",
"to": "13:18",
"minutes": 31
},
{
"from": "14:32",
"to": "15:31",
"minutes": 59
},
{
"from": "16:45",
"to": "17:46",
"minutes": 62
},
{
"from": "18:03",
"to": "20:08",
"minutes": 125
},
{
"from": "20:41",
"to": "21:15",
"minutes": 34
}
],
"longest_focus_minutes": 74
},
"top_dirs": [
{
"path": "packages/shared-landing-ui/src",
"pct": 8
},
{
"path": "apps/clock/apps/landing",
"pct": 7
},
{
"path": "services/telegram-stats-bot/src",
"pct": 7
},
{
"path": "apps/manacore/apps/web",
"pct": 6
},
{
"path": "apps/clock/apps/web",
"pct": 5
}
],
"top_extensions": [
{
"ext": ".astro",
"count": 48
},
{
"ext": ".ts",
"count": 42
},
{
"ext": ".svelte",
"count": 29
},
{
"ext": ".html",
"count": 21
},
{
"ext": ".sh",
"count": 20
},
{
"ext": ".yml",
"count": 14
}
],
"tags": ["infra", "mac-mini", "analytics", "landing", "devlog"],
"commits_list": [
{
"hash": "93060dc",
"short": "feat(mac-mini): add auto-start and management scripts",
"type": "feat",
"scope": "mac-mini",
"additions": 843,
"deletions": 0,
"timestamp": "2026-01-23T11:48:24+01:00"
},
{
"hash": "732aa79",
"short": "fix(mac-mini): add PATH export for Docker CLI in all scripts",
"type": "fix",
"scope": "mac-mini",
"additions": 18,
"deletions": 0,
"timestamp": "2026-01-23T12:17:24+01:00"
},
{
"hash": "bff168e",
"short": "fix(docker): correct todo-backend health check path",
"type": "fix",
"scope": "docker",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-23T12:18:26+01:00"
},
{
"hash": "c512592",
"short": "fix(mac-mini): correct health check endpoints",
"type": "fix",
"scope": "mac-mini",
"additions": 6,
"deletions": 7,
"timestamp": "2026-01-23T12:21:40+01:00"
},
{
"hash": "650b05b",
"short": "fix(clock-backend): specify drizzle config path in entrypoint",
"type": "fix",
"scope": "clock-backend",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-23T12:24:27+01:00"
},
{
"hash": "515d603",
"short": "feat(clock-web): add dashboard page for root route",
"type": "feat",
"scope": "clock-web",
"additions": 118,
"deletions": 0,
"timestamp": "2026-01-23T12:47:14+01:00"
},
{
"hash": "de6151a",
"short": "feat(mac-mini): add notification system for health checks",
"type": "feat",
"scope": "mac-mini",
"additions": 386,
"deletions": 16,
"timestamp": "2026-01-23T13:18:04+01:00"
},
{
"hash": "2b7c665",
"short": "docs: add Mac Mini server documentation",
"type": null,
"scope": null,
"additions": 394,
"deletions": 0,
"timestamp": "2026-01-23T13:42:08+01:00"
},
{
"hash": "c2010ce",
"short": "docs: add mail server planning documentation",
"type": null,
"scope": null,
"additions": 971,
"deletions": 0,
"timestamp": "2026-01-23T13:53:03+01:00"
},
{
"hash": "294074f",
"short": "fix(calendar-web): add cross-app API URLs for todo and contacts",
"type": "fix",
"scope": "calendar-web",
"additions": 3,
"deletions": 0,
"timestamp": "2026-01-23T14:15:15+01:00"
},
{
"hash": "bb5f145",
"short": "feat(contacts): add Docker deployment for Mac Mini",
"type": "feat",
"scope": "contacts",
"additions": 309,
"deletions": 1,
"timestamp": "2026-01-23T14:23:49+01:00"
},
{
"hash": "ad7a84f",
"short": "fix(contacts-web): use adapter-node for Docker deployment",
"type": "fix",
"scope": "contacts-web",
"additions": 54,
"deletions": 6,
"timestamp": "2026-01-23T14:32:16+01:00"
},
{
"hash": "6d86a08",
"short": "feat: add monitoring dashboard (Prometheus + Grafana + Umami + Admin)",
"type": null,
"scope": null,
"additions": 2751,
"deletions": 531,
"timestamp": "2026-01-23T15:31:39+01:00"
},
{
"hash": "264149a",
"short": "✨ feat(shared-landing-ui): unify landing pages with shared components",
"type": null,
"scope": null,
"additions": 3589,
"deletions": 1,
"timestamp": "2026-01-23T15:45:47+01:00"
},
{
"hash": "1868a7f",
"short": "refactor: change Umami analytics URL from analytics.mana.how to stats.mana.how",
"type": null,
"scope": null,
"additions": 18,
"deletions": 22,
"timestamp": "2026-01-23T16:11:24+01:00"
},
{
"hash": "d03aaeb",
"short": "fix(contacts-backend): add missing multer dependency",
"type": "fix",
"scope": "contacts-backend",
"additions": 530,
"deletions": 154,
"timestamp": "2026-01-23T16:18:50+01:00"
},
{
"hash": "639041a",
"short": "feat(analytics): add Umami website IDs for all landing pages",
"type": "feat",
"scope": "analytics",
"additions": 11,
"deletions": 7,
"timestamp": "2026-01-23T16:19:56+01:00"
},
{
"hash": "44e6a63",
"short": "feat(analytics): add Umami website IDs for all web apps",
"type": "feat",
"scope": "analytics",
"additions": 6,
"deletions": 6,
"timestamp": "2026-01-23T16:29:43+01:00"
},
{
"hash": "c399474",
"short": "feat(infra): add MinIO for object storage and configure contacts-backend",
"type": "feat",
"scope": "infra",
"additions": 29,
"deletions": 0,
"timestamp": "2026-01-23T16:45:10+01:00"
},
{
"hash": "d3dd26b",
"short": "✨ feat(shared-landing-ui): add centralized Mana pricing system",
"type": null,
"scope": null,
"additions": 1469,
"deletions": 2,
"timestamp": "2026-01-23T17:46:41+01:00"
},
{
"hash": "5e54bcc",
"short": "feat(analytics): add Umami tracking to remaining apps",
"type": "feat",
"scope": "analytics",
"additions": 20,
"deletions": 20,
"timestamp": "2026-01-23T17:49:18+01:00"
},
{
"hash": "447dfe2",
"short": "docs: add production launch guide and URL schema",
"type": null,
"scope": null,
"additions": 446,
"deletions": 0,
"timestamp": "2026-01-23T17:50:21+01:00"
},
{
"hash": "8f54a56",
"short": "feat(clock): add landing page with shared-landing-ui",
"type": "feat",
"scope": "clock",
"additions": 727,
"deletions": 0,
"timestamp": "2026-01-23T17:50:31+01:00"
},
{
"hash": "87b09eb",
"short": "chore(calendar): add wrangler.toml for Cloudflare Pages deployment",
"type": "chore",
"scope": "calendar",
"additions": 7,
"deletions": 0,
"timestamp": "2026-01-23T17:50:42+01:00"
},
{
"hash": "3e823ae",
"short": "feat(infra): add Mac Mini setup script and update production docker-compose",
"type": "feat",
"scope": "infra",
"additions": 321,
"deletions": 106,
"timestamp": "2026-01-23T17:50:51+01:00"
},
{
"hash": "ead9680",
"short": "fix: correct Cloudflare Pages project name for clock landing",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-23T17:50:59+01:00"
},
{
"hash": "634bb97",
"short": "docs: add daily report for 2026-01-23",
"type": null,
"scope": null,
"additions": 289,
"deletions": 0,
"timestamp": "2026-01-23T17:53:36+01:00"
},
{
"hash": "b8a84ed",
"short": "feat(analytics): add Umami event tracking utilities",
"type": "feat",
"scope": "analytics",
"additions": 613,
"deletions": 0,
"timestamp": "2026-01-23T17:58:04+01:00"
},
{
"hash": "2596cb7",
"short": "feat(landing): add devlog section to ManaCore landing page",
"type": "feat",
"scope": "landing",
"additions": 632,
"deletions": 0,
"timestamp": "2026-01-23T18:01:03+01:00"
},
{
"hash": "9f00a36",
"short": "feat(landing): add devlog section to homepage",
"type": "feat",
"scope": "landing",
"additions": 388,
"deletions": 0,
"timestamp": "2026-01-23T18:03:19+01:00"
},
{
"hash": "a1d491e",
"short": "feat(infra): add n8n workflow automation to Mac Mini",
"type": "feat",
"scope": "infra",
"additions": 79,
"deletions": 0,
"timestamp": "2026-01-23T20:08:34+01:00"
},
{
"hash": "7a80a71",
"short": "feat(infra): add missing tunnel routes for contacts, monitoring, n8n",
"type": "feat",
"scope": "infra",
"additions": 14,
"deletions": 0,
"timestamp": "2026-01-23T20:36:23+01:00"
},
{
"hash": "f29ef4a",
"short": "feat(infra): add Telegram Stats Bot for ManaCore analytics",
"type": "feat",
"scope": "infra",
"additions": 1273,
"deletions": 0,
"timestamp": "2026-01-23T20:39:04+01:00"
},
{
"hash": "8248a70",
"short": "docs(devlog): update daily report with n8n, devlog system, stats bot",
"type": "docs",
"scope": "devlog",
"additions": 78,
"deletions": 14,
"timestamp": "2026-01-23T20:41:01+01:00"
},
{
"hash": "3aeb88d",
"short": "✨ feat(web): add session-first guest mode to all live apps",
"type": null,
"scope": null,
"additions": 2830,
"deletions": 85,
"timestamp": "2026-01-23T21:15:08+01:00"
},
{
"hash": "54a6ebc",
"short": "docs(devlog): add session-first guest mode feature",
"type": "docs",
"scope": "devlog",
"additions": 48,
"deletions": 4,
"timestamp": "2026-01-23T21:16:20+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,39 @@
---
date: 2026-01-23
day: 32
view: macher
weekday: Freitag
commits: 36
review: written
---
# Freitag, 2026-01-23 — Tag 32 (Macher-Sicht)
## Stats
36 Commits, +19273 / 985 LoC, 175 Files. Top-Dirs: `packages/shared-landing-ui/src` (8%), `apps/clock/apps/landing` (7%), `services/telegram-stats-bot/src` (7%), `apps/manacore/apps/web` (6%), `apps/clock/apps/web` (5%). Tags: infra, mac-mini, analytics, landing, devlog. Session 10:48 → 20:16 (~257 aktive Min, längster Fokus 74 Min).
## Commits
- `93060dc` feat(mac-mini): add auto-start and management scripts (+843/-0)
- `732aa79` fix(mac-mini): add PATH export for Docker CLI in all scripts (+18/-0)
- `bff168e` fix(docker): correct todo-backend health check path (+1/-1)
- `c512592` fix(mac-mini): correct health check endpoints (+6/-7)
- `650b05b` fix(clock-backend): specify drizzle config path in entrypoint (+1/-1)
- `515d603` feat(clock-web): add dashboard page for root route (+118/-0)
- `de6151a` feat(mac-mini): add notification system for health checks (+386/-16)
- `2b7c665` docs: add Mac Mini server documentation (+394/-0)
- `c2010ce` docs: add mail server planning documentation (+971/-0)
- `294074f` fix(calendar-web): add cross-app API URLs for todo and contacts (+3/-0)
- `bb5f145` feat(contacts): add Docker deployment for Mac Mini (+309/-1)
- `ad7a84f` fix(contacts-web): use adapter-node for Docker deployment (+54/-6)
- `6d86a08` feat: add monitoring dashboard (Prometheus + Grafana + Umami + Admin) (+2751/-531)
- `264149a` ✨ feat(shared-landing-ui): unify landing pages with shared components (+3589/-1)
- `1868a7f` refactor: change Umami analytics URL from analytics.mana.how to stats.mana.how (+18/-22)
- `d03aaeb` fix(contacts-backend): add missing multer dependency (+530/-154)
- `639041a` feat(analytics): add Umami website IDs for all landing pages (+11/-7)
- `44e6a63` feat(analytics): add Umami website IDs for all web apps (+6/-6)
- `c399474` feat(infra): add MinIO for object storage and configure contacts-backend (+29/-0)
- `d3dd26b` ✨ feat(shared-landing-ui): add centralized Mana pricing system (+1469/-2)
_… plus 16 weitere Commits._

View file

@ -0,0 +1,20 @@
---
date: 2026-01-23
day: 32
view: spieler
weekday: Freitag
commits: 36
review: written
---
# Freitag, 2026-01-23 — Tag 32
Großer Sprint-Tag mit Schwerpunkt **packages** (36 Commits).
## Highlights
- add auto-start and management scripts
- add PATH export for Docker CLI in all scripts
- correct todo-backend health check path
- correct health check endpoints
- specify drizzle config path in entrypoint

108
devlog/2026-01-24/data.json Normal file
View file

@ -0,0 +1,108 @@
{
"date": "2026-01-24",
"day_number": 33,
"weekday": "Samstag",
"commits": 4,
"authors": [
{
"name": "Till-JS",
"count": 4
}
],
"additions": 591,
"deletions": 156,
"net_lines": 435,
"files_changed": 16,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-24T23:00:09.000Z",
"last_commit_at": "2026-01-25T02:07:08.000Z",
"total_span_minutes": 187,
"active_minutes": 9,
"pauses": [
{
"from": "00:00",
"to": "02:58",
"minutes": 178
}
],
"longest_focus_minutes": 9
},
"top_dirs": [
{
"path": "apps/contacts/apps/web",
"pct": 35
},
{
"path": "apps/clock/apps/web",
"pct": 29
},
{
"path": "apps/calendar/apps/web",
"pct": 6
},
{
"path": "apps/chat/apps/web",
"pct": 6
},
{
"path": "apps/manacore/apps/web",
"pct": 6
}
],
"top_extensions": [
{
"ext": ".svelte",
"count": 15
},
{
"ext": ".ts",
"count": 2
}
],
"tags": ["clock", "contacts", "web"],
"commits_list": [
{
"hash": "753e6fd",
"short": "feat(contacts): add session-first guest mode",
"type": "feat",
"scope": "contacts",
"additions": 545,
"deletions": 28,
"timestamp": "2026-01-25T00:00:09+01:00"
},
{
"hash": "6713919",
"short": "fix(web): fix userSettings.nav undefined error in guest mode",
"type": "fix",
"scope": "web",
"additions": 41,
"deletions": 118,
"timestamp": "2026-01-25T02:58:04+01:00"
},
{
"hash": "1e7bfd4",
"short": "fix(clock): remove auth redirect from dashboard for guest mode",
"type": "fix",
"scope": "clock",
"additions": 1,
"deletions": 4,
"timestamp": "2026-01-25T03:00:40+01:00"
},
{
"hash": "b095532",
"short": "fix(clock): load alarms/timers in guest mode",
"type": "fix",
"scope": "clock",
"additions": 4,
"deletions": 6,
"timestamp": "2026-01-25T03:07:08+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

View file

@ -0,0 +1,21 @@
---
date: 2026-01-24
day: 33
view: macher
weekday: Samstag
commits: 4
review: written
---
# Samstag, 2026-01-24 — Tag 33 (Macher-Sicht)
## Stats
4 Commits, +591 / 156 LoC, 16 Files. Top-Dirs: `apps/contacts/apps/web` (35%), `apps/clock/apps/web` (29%), `apps/calendar/apps/web` (6%), `apps/chat/apps/web` (6%), `apps/manacore/apps/web` (6%). Tags: clock, contacts, web. Session 23:00 → 02:07 (~9 aktive Min, längster Fokus 9 Min).
## Commits
- `753e6fd` feat(contacts): add session-first guest mode (+545/-28)
- `6713919` fix(web): fix userSettings.nav undefined error in guest mode (+41/-118)
- `1e7bfd4` fix(clock): remove auth redirect from dashboard for guest mode (+1/-4)
- `b095532` fix(clock): load alarms/timers in guest mode (+4/-6)

View file

@ -0,0 +1,19 @@
---
date: 2026-01-24
day: 33
view: spieler
weekday: Samstag
commits: 4
review: written
---
# Samstag, 2026-01-24 — Tag 33
Kurzer Arbeitstag, Schwerpunkt **apps**.
## Highlights
- add session-first guest mode
- fix userSettings.nav undefined error in guest mode
- remove auth redirect from dashboard for guest mode
- load alarms/timers in guest mode

232
devlog/2026-01-25/data.json Normal file
View file

@ -0,0 +1,232 @@
{
"date": "2026-01-25",
"day_number": 34,
"weekday": "Sonntag",
"commits": 16,
"authors": [
{
"name": "Till-JS",
"count": 16
}
],
"additions": 28504,
"deletions": 16593,
"net_lines": 11911,
"files_changed": 356,
"new_files": 0,
"deleted_files": 0,
"session": {
"first_commit_at": "2026-01-25T12:15:02.000Z",
"last_commit_at": "2026-01-25T16:47:49.000Z",
"total_span_minutes": 273,
"active_minutes": 63,
"pauses": [
{
"from": "14:17",
"to": "17:47",
"minutes": 210
}
],
"longest_focus_minutes": 63
},
"top_dirs": [
{
"path": "apps/presi/apps/mobile",
"pct": 15
},
{
"path": "apps/storage/apps/web",
"pct": 12
},
{
"path": "apps/storage/apps/backend",
"pct": 12
},
{
"path": "apps/presi/apps/web",
"pct": 11
},
{
"path": "apps/presi/apps/backend",
"pct": 9
}
],
"top_extensions": [
{
"ext": ".ts",
"count": 142
},
{
"ext": ".svelte",
"count": 56
},
{
"ext": ".json",
"count": 46
},
{
"ext": ".tsx",
"count": 30
},
{
"ext": ".md",
"count": 21
},
{
"ext": ".png",
"count": 12
}
],
"tags": ["todo", "watchtower", "deps", "infra", "docker"],
"commits_list": [
{
"hash": "b77dd41",
"short": "fix(deps): update lockfile for telegram-stats-bot",
"type": "fix",
"scope": "deps",
"additions": 388,
"deletions": 0,
"timestamp": "2026-01-25T13:15:02+01:00"
},
{
"hash": "b6af01e",
"short": "✨ feat(nutriphi): add AI-powered nutrition tracking app",
"type": null,
"scope": null,
"additions": 4256,
"deletions": 4,
"timestamp": "2026-01-25T13:19:51+01:00"
},
{
"hash": "9472978",
"short": "🔧 chore(scripts): add nutriphi to database setup script",
"type": null,
"scope": null,
"additions": 7,
"deletions": 2,
"timestamp": "2026-01-25T13:24:48+01:00"
},
{
"hash": "36a9e3a",
"short": "feat: restore presi and storage apps from archive",
"type": null,
"scope": null,
"additions": 21510,
"deletions": 26,
"timestamp": "2026-01-25T13:25:51+01:00"
},
{
"hash": "0a4e7e0",
"short": "feat: add dev scripts for presi and storage apps",
"type": null,
"scope": null,
"additions": 29,
"deletions": 2,
"timestamp": "2026-01-25T13:27:55+01:00"
},
{
"hash": "4a236a7",
"short": "feat(todo): add Prometheus metrics and update docs",
"type": "feat",
"scope": "todo",
"additions": 1128,
"deletions": 385,
"timestamp": "2026-01-25T13:31:44+01:00"
},
{
"hash": "32c207e",
"short": "feat(infra): add presi and storage apps to Mac Mini deployment",
"type": "feat",
"scope": "infra",
"additions": 114,
"deletions": 1,
"timestamp": "2026-01-25T13:52:45+01:00"
},
{
"hash": "a12c7e5",
"short": "feat(docker): add Dockerfiles for presi and storage apps",
"type": "feat",
"scope": "docker",
"additions": 332,
"deletions": 0,
"timestamp": "2026-01-25T13:55:23+01:00"
},
{
"hash": "11411ff",
"short": "fix(todo): capture error responses in metrics interceptor",
"type": "fix",
"scope": "todo",
"additions": 15,
"deletions": 23,
"timestamp": "2026-01-25T13:56:25+01:00"
},
{
"hash": "f47bf8e",
"short": "refactor(todo): use express middleware for HTTP metrics",
"type": "refactor",
"scope": "todo",
"additions": 41,
"deletions": 74,
"timestamp": "2026-01-25T14:00:06+01:00"
},
{
"hash": "ac663a6",
"short": "chore: remove staging/Hetzner infra, add Watchtower auto-deploy",
"type": null,
"scope": null,
"additions": 103,
"deletions": 15581,
"timestamp": "2026-01-25T14:01:11+01:00"
},
{
"hash": "62e9d0d",
"short": "fix(watchtower): set DOCKER_API_VERSION for compatibility",
"type": "fix",
"scope": "watchtower",
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-25T14:03:05+01:00"
},
{
"hash": "87724f8",
"short": "fix(watchtower): remove custom notification template",
"type": "fix",
"scope": "watchtower",
"additions": 1,
"deletions": 8,
"timestamp": "2026-01-25T14:03:43+01:00"
},
{
"hash": "8ff8cd5",
"short": "test: update loading text to test Watchtower auto-deploy",
"type": null,
"scope": null,
"additions": 1,
"deletions": 1,
"timestamp": "2026-01-25T14:16:03+01:00"
},
{
"hash": "409f9a0",
"short": "feat(ci): add Docker build jobs for presi and storage apps",
"type": "feat",
"scope": "ci",
"additions": 164,
"deletions": 0,
"timestamp": "2026-01-25T14:17:48+01:00"
},
{
"hash": "75ffd50",
"short": "fix(presi,storage): use adapter-node for Docker builds",
"type": "fix",
"scope": "presi,storage",
"additions": 414,
"deletions": 485,
"timestamp": "2026-01-25T17:47:49+01:00"
}
],
"review_state": "auto",
"llm": {
"model": null,
"generated_at": null
}
}

Some files were not shown because too many files have changed in this diff Show more