Commit graph

2291 commits

Author SHA1 Message Date
Till JS
6dc259d743 feat(manacore): Phase 3 — component-based split-screen system
Replace iFrame-based split-screen with native Svelte components:

Infrastructure (6 files):
- registry.ts: lazy-import registry for all 25 app modules
- store.svelte.ts: Svelte 5 runes state (app, position, localStorage)
- SplitPaneLayout.svelte: dual-panel layout with dynamic widths
- ResizeHandle.svelte: draggable divider with mouse/touch support
- PanelHeader.svelte: app name + close button
- index.ts: barrel exports

AppView.svelte for all 25 modules — compact self-contained views:
- todo: task list with filters + quick add
- calendar: mini week strip + today's events
- contacts: searchable list with avatars
- chat: conversation list with previews
- And 21 more...

Benefits over iFrame approach:
- Shared IndexedDB — both panels see the same data
- Svelte reactivity across panels
- No CORS/CSP issues
- Code-split via dynamic imports

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:58:34 +02:00
Till JS
9a6aa12c63 docs: Phase 2 complete — all 26 modules migrated to unified app
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:49:06 +02:00
Till JS
9b614cdfbc feat(manacore): migrate contacts, todo, calendar, picture, chat, mukke, memoro — Phase 2 complete
All 25 modules now migrated to the unified same-origin app (25/25):

- Contacts: contact list with alphabet grouping, detail/edit (3 routes)
- Todo: task management with inbox/today/upcoming views, subtasks (2 routes)
- Calendar: week/month/agenda views, event CRUD (4 routes)
- Picture: gallery with favorites, AI generation, moodboards (6 routes)
- Chat: conversation list, AI chat, templates, archive (5 routes)
- Mukke: music library, playlists, projects, audio player (6 routes)
- Memoro: voice memos, transcripts, memories, tags (5 routes)

Phase 2 of the unified app migration is now complete.
Total: 26 modules, ~120 routes, 250+ files.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:48:30 +02:00
Till JS
933715c7d9 refactor(todo/web): remove edit mode, rename pages, add inline editing & drag reorder
- Remove edit mode entirely (toolbar, context, Layout pill in PillNav)
- Remove onAddColumn/add-sheet from all layouts (FokusLayout, Grid, Kanban)
- Rename SecondaryPage → TodoPage, secondaryPage → page (i18n keys, CSS)
- ViewColumnHeader: always-on inline editing (click name, click color dot)
- TodoPage: contenteditable title (invisible, no input styling)
- TodoPage: drag handle bar for reorder via HTML5 drag & drop
- FokusLayout: add matching drag handle to board sheets
- Clean up dead spotlight actions (/today, /upcoming, /kanban)
- Remove /statistics reference from QuickInputBar

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:31:36 +02:00
Till JS
990ade352f feat(manacore): migrate storage, cards, playground, guides to unified app
Phase 2 continued — 4 more modules migrated (total: 21/25):

- Storage: file browser with folders, favorites, search, trash (7 routes)
- Cards: deck/card management with study progress (6 routes)
- Playground: LLM chat interface with model selector (stateless)
- Guides: guide listing with category filters (static content)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:28:00 +02:00
Till JS
7def9c9977 docs: update unified app migration plan — 17/25 modules done
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:18:40 +02:00
Till JS
1022d2f64c feat(manacore): migrate presi, uload, context, questions, nutriphi to unified app
Phase 2 continued — 5 more modules migrated (total: 17/25):

- Presi: deck list, slide editor, presentation mode with keyboard nav
- uLoad: link dashboard with folders/tags, bulk actions, analytics
- Context: spaces, document editor with auto-save, type/tag filters
- Questions: question list, collections, research depth, answers
- NutriPhi: daily dashboard with progress bars, meal tracker, goals

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 20:18:09 +02:00
Till JS
ce3ed10b60 feat(todo/web): replace dead filter system with working tag filtering
Remove unused TaskFilters component (priorities, sort, search, completed
toggle — none were wired to the board view). Rename PillNav pill from
"Filter" to "Tags" and show TagStrip instead. Connect TagStrip tag
selection to BoardViewRenderer via shared context so selecting tags
actually filters displayed tasks. Clean up viewStore by removing dead
filter state (filterPriorities, filterLabelIds, filterSearchQuery).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:24:33 +02:00
Till JS
c6ed652b32 docs: update unified app migration plan — 12/25 modules done
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:21:59 +02:00
Till JS
e7999fb7cf feat(manacore): migrate skilltree, inventar, times, planta, citycorners, photos to unified app
Phase 2 continued — 6 more modules migrated (total: 12/25):

- Skilltree: complete routes (main, tree visualization, achievements)
- Inventar: full module (stores, components, schema editor) + 9 routes
- Times: full module (timer, entry parser, export) + 8 routes
- Planta: full module (watering logic, mutations) + 4 routes
- CityCorners: full module (geocoding, opening hours) + 13 routes
- Photos: full module (gallery, albums, upload) + 6 routes

All modules follow unified patterns:
- Imports from $lib/modules/{app}/...
- Internal links with /{app}/ prefix
- Dexie liveQuery for reactive data
- Soft-delete for sync compatibility

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:21:20 +02:00
Till JS
6d51d3eefb feat(todo/web): add page minimize/restore tabs, inline task creation, i18n completed times
- Secondary pages can be minimized to compact tabs above the fokus track
- Minimized tabs show centered with rounded corners, click to restore
- Add inline task creation input at the bottom of every page (except completed)
- Completed page shows date + time per task (i18n: "14:32 Uhr" DE, "14:32" EN)
- To Do page shows recently completed tasks with time
- Add + button next to minimized tabs to open page picker
- PagePicker auto-scrolls into view when opened
- i18n keys added for all 5 languages (DE/EN/FR/ES/IT)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 17:19:24 +02:00
Till JS
e449172932 feat(manacore): add clock, zitare, moodlit, skilltree, inventar modules + routes
Migrate 5 more apps to the unified same-origin app (Phase 2):
- Clock: world clocks, alarms, timers, stopwatch with stores + components
- Zitare: quotes, favorites, lists, spiral canvas with full route structure
- Moodlit: mood cards, sequences, fullscreen view with default moods
- Skilltree: skills, achievements, XP system with celebration components
- Inventar: collections, items, locations, categories (module only)

Also update landing page dates (Q2 2025 → Q3 2026).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:56:42 +02:00
Till JS
aadd1c7538 feat(todo/web): add "To Do" page, remove scroll-snap, allow closing last column
Add open-tasks secondary page, remove scroll-snap from fokus layout
and page components for smoother scrolling, and allow closing the
last remaining column.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:54:12 +02:00
Till JS
11a2db8fcd fix(memoro): unify error responses, add offline page, align i18n defaults
Error responses:
- Webhook routes now use consistent { success, error } format
- Meeting bot 402 error uses standard format instead of mixed error/message/details

PWA:
- Add /offline page with shared OfflinePage component

i18n:
- Change default locale from 'en' to 'de' (matching all other ManaCore apps)
- Use app-specific localStorage key 'memoro_locale' (was generic 'locale')

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:39:11 +02:00
Till JS
85257212af feat(todo/web): add secondary pages system with centered layout
Add "Neue Seite" button to open filtered task pages (Erledigt, Heute,
Überfällig, etc.) alongside the main board view. Sheets are centered
via carousel-style padding, and all pages are closeable with X buttons.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:37:16 +02:00
Till JS
d3807b4bea feat(manacore): start unified same-origin app — database schema + calc module
Phase 0-2 of the unified app migration:
- Unified Dexie database with all 26 app schemas (120+ collections)
- Table name collisions resolved with prefixes (e.g., pictureTags, storageTags)
- SYNC_APP_MAP for routing sync changes to correct /sync/{appId} endpoints
- Calc module migrated as first proof-of-concept:
  - components/skins, engine/evaluate, stores, queries
  - Routes at /calc and /calc/standard
  - Writes directly to unified db.calculations table

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:35:54 +02:00
Till JS
9aedc89ce5 docs(memoro/server): add OpenAPI 3.1 spec and update ManaScore to 79
- Add openapi.yaml with all 50+ endpoints, schemas, and auth methods
- Update ManaScore: 76→79 (testing 45→55, documentation 78→82)
- 210 tests total (main-server 185 + audio-server 25)
- API conformity: documentation now true

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:31:44 +02:00
Till JS
c582f164ba feat(memoro/audio-server): add vitest setup and 25 API + config tests
- Health endpoint, service key auth, 404 handler tests
- Transcribe and append endpoint validation tests
- Azure speech service config tests (getAvailableSpeechServices, pickRandomService)
- Export app for testability

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:31:28 +02:00
Till JS
cb0e67ddd2 docs: add unified same-origin app migration plan
Comprehensive plan to consolidate 22+ SvelteKit web apps into a single
app under mana.how, solving IndexedDB origin isolation, enabling native
split-screen, and eliminating duplicated auth/settings/profile routes.

Games (arcade, voxelava, whopixels, worldream) and Matrix stay separate.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:22:44 +02:00
Till JS
34136894d0 feat(memoro/server): implement invite email, health checks, and update ManaScore
- Implement invite resend via @manacore/notify-client (was a stub)
- Send invite email on space invite creation (fire-and-forget)
- Extend /health endpoint with Supabase connectivity check
- Returns 503 "degraded" if dependency checks fail
- Update ManaScore: 72→76 (testing 10→45, 183 tests documented)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:18:28 +02:00
Till JS
32e8edfb66 feat(memoro/server): add comprehensive API route tests
183 tests across 10 files covering all server endpoints:
- Health, pricing, 404 handling
- Memo CRUD (create, append, retry, combine, Q&A)
- Credits (balance, check, consume)
- Settings (profile, memoro settings, data usage)
- Spaces (CRUD, invites, link/unlink memos)
- Meetings (bots, recordings)
- Internal callbacks (transcription, batch metadata)
- Cleanup (auth, run, manual)
- Credit utility (calcTranscriptionCost, COSTS)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 16:07:03 +02:00
Till JS
f6cbba9f2a fix(todo): refine kanban quick-add row styling
Adjust checkbox size, alignment offset, border opacity, font size,
and dark mode support for the inline task creation row.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:43:34 +02:00
Till JS
d5bb20c002 style: add shared-auth-ui as Tailwind @source across 11 web apps
Ensures Tailwind scans shared-auth-ui components for class generation
in calendar, contacts, guides, inventar, memoro, moodlit, photos,
planta, questions, times, and todo.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:43:21 +02:00
Till JS
bdf166a838 feat(memoro/server): add Zod schema validation tests with vitest
59 tests covering all API request schemas (createMemo, appendMemo, combineMemo,
spaces, invites, credits, pagination, transcription callbacks, etc.).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:43:05 +02:00
Till JS
1007c1e82b style: apply prettier formatting to manascore docs, todo web, and auth-ui pages
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:28:30 +02:00
Till JS
b684ddeeda feat(calendar, contacts, todo): add server API tests with vitest
Calendar: 13 tests (RRULE expansion, ICS parsing, health endpoint).
Contacts: 11 tests (vCard import, avatar upload, health endpoint).
Todo: admin, reminders, and RRULE route tests.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:27:58 +02:00
Till JS
293fd7b63b update(manascore): bump Memoro from 58 to 72 (Beta → Production)
Reflect completed improvements: Zod validation, ApiResult responses, pagination,
analytics tracking, error tracking, CI/CD, rate limiting, error boundaries.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:18:55 +02:00
Till JS
1bc134ed6e feat(memoro/web, shared-utils): add MemoroEvents analytics tracking
Define 25+ Memoro-specific events in shared-utils analytics (recording, memo CRUD, spaces, invites, playback, themes).
Integrate tracking in web app services, components, and stores.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:18:30 +02:00
Till JS
304c1e8b7c feat(memoro/server): add Zod validation, consistent ApiResult responses, and pagination
- Zod schemas for all 30+ API endpoints with proper input validation
- Consistent `{ success: true/false, ... }` response wrapper on every endpoint
- Pagination (limit/offset) on spaces, space memos, bots, and recordings list endpoints
- Validation helper (validateBody/validateQuery) for clean route handlers
- Fix rate-limiter return type in both memoro and shared-hono

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 15:18:07 +02:00
Till JS
3c47997598 docs(manascore): add Memoro audit report (58/100 Beta)
Comprehensive ManaScore assessment covering all 8 categories with actionable recommendations.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:56:41 +02:00
Till JS
da3a140f21 update(infra): mana-stt WhisperX + diarization, mana-notify templates, CD pipeline updates
mana-stt: add WhisperX service with CUDA GPU support, speaker diarization, and auto-fallback chain.
mana-notify: add locale fallback and default templates for task reminders.
CD: update deployment pipeline and docker-compose configuration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:56:26 +02:00
Till JS
a03de84e79 update(calendar/server): integrate shared-hono middleware and rate limiting
Use authMiddleware, healthRoute, errorHandler, notFoundHandler, and rateLimitMiddleware from shared-hono.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:56:15 +02:00
Till JS
7b7a00a538 feat(contacts): add landing page + avatar upload and vCard import on server
New Astro landing page with hero, features, pricing sections.
Server: avatar upload with file validation, vCard import parser.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:56:08 +02:00
Till JS
90f6c0db39 feat(memoro): add transcription fallback chain, AI provider fallbacks, and error tracking
Audio: WhisperX → Azure Realtime → FFmpeg → Azure Batch fallback chain with diarization.
Server: mana-llm → Gemini → Azure OpenAI fallback, rate limiting middleware.
Web: GlitchTip error tracking, error page, security headers.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:55:52 +02:00
Till JS
bee8bcb234 feat(todo): add reminders with background worker and notification dispatch
Server: reminder-worker checks due reminders every 60s, dispatches via mana-notify, integrates shared-hono middleware and Zod validation for RRULE.
Web: ReminderSelector component, local-first reminder store, form integration.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:55:42 +02:00
Till JS
3e99d86ba6 update(shared-branding, shared-utils): set memoro to published + extend analytics events
Update Memoro status to published with founder-tier access. Add comprehensive analytics event tracking for all apps.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:55:30 +02:00
Till JS
408762e2d6 feat(shared-hono): add rate limiting middleware
In-memory sliding window rate limiter with per-IP tracking, configurable limits, and automatic stale entry cleanup.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:55:22 +02:00
Till JS
cb85fba820 feat(todo/web, shared-i18n): complete i18n for Todo web app + add missing common translations
Extract ~120 hardcoded German strings from 14 Svelte components into i18n locale
files using svelte-i18n $t() calls. Add new translation sections (taskForm, filters,
tags, subtasks, durationPicker, kanban, toolbar) across all 5 languages (de/en/fr/es/it).

Also add missing shared common translations for Spanish, French, and Italian
(150+ keys each) in packages/shared-i18n.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 14:19:48 +02:00
Till JS
5c66492279 update(shared-branding): update app statuses and availability flags
Set accurate status levels (beta/planning) instead of blanket 'development',
mark Cards/Picture/Zitare/Wisekeep as no longer coming soon.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 12:22:31 +02:00
Till JS
1570cc0bb4 feat(shared-auth-ui): add GuestRegistrationNudge + complete feature texts + improve seed data
- Add GuestRegistrationNudge component: shows a floating banner after
  X minutes of guest usage to encourage sign-up (bottom-center, dismissible)
- Add guestNudge.ts utilities (session tracking, delay, dismiss via localStorage)
- Add feature texts for all 16 missing apps in GuestWelcomeModal
- Integrate nudge in Todo app as reference implementation (3min delay)
- Improve SkillTree seed: 3 skills across branches, 6 activities, 1 achievement
- Improve Zitare seed: 5 favorites, 2 themed lists instead of 1

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 12:16:55 +02:00
Till JS
4d0e9a6a3f feat: add Cmd+K spotlight actions to all 23 apps
Each app's PillNavigation now has spotlightActions with app-specific
quick actions (create, navigate, settings). Users can press Cmd+K / Ctrl+K
from any app to search apps, navigate, and trigger actions.

Apps: todo, calendar, contacts, chat, picture, clock, zitare, cards,
storage, manacore, mukke, presi, context, questions, photos, planta,
citycorners, guides, calc, moodlit, matrix, uload, arcade

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 12:11:34 +02:00
Till JS
075e204b14 fix(manacore/landing): improve footer layout and readability
- Fix typo: Okosystem → Ökosystem
- Remove Landing Pages section (low value for visitors)
- Add Mana branding header with tagline
- Move GitHub + Matrix Chat into new "Kontakt" section under Rechtliches
- Increase status dot size (6px → 7px) and legend font (0.625rem → 0.75rem)
- Balance column heights across the 4-column grid

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 12:09:28 +02:00
Till JS
ffd608cbb9 feat(shared-ui, manacore/web): cross-app navigation enhancement (3 phases)
Phase 1: Enhanced App Drawer in PillNavigation
- appNavigationStore: localStorage-backed favorites, recents, usage counts
- AppDrawer: replaces PillDropdown for apps with search, favorites, recents, grid
- All apps using PillNavigation get this automatically

Phase 2: Cmd+K Command Palette (GlobalSpotlight)
- GlobalSpotlight: modal with app search, quick actions, keyboard navigation
- useGlobalSpotlight: Cmd+K / Ctrl+K keyboard listener
- Integrated into PillNavigation via optional spotlightActions prop

Phase 3: Improved /home page
- AppRow: horizontal scrollable app row for favorites/recents with pin toggle
- ActivityFeed: cross-app timeline (completed tasks, upcoming events, contacts)
- Replaced hardcoded 3-category layout with dynamic favorites, recents, activity
  feed, and usage-frequency sorted app grid

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:59:36 +02:00
Till JS
4dfa2cc899 update(manacore/landing): sync footer with actual production deployment
- Add 6 missing deployed apps (Calc, Arcade, SkillTree, CityCorners, Inventar, Taktik, uLoad, Matrix)
- Remove Planta (not deployed) and NutriPhi (archived)
- Add status.mana.how to monitoring links
- Add Cards + CityCorners landing pages
- Align status labels with requiredTier from mana-apps.ts (beta/alpha)
- Fix typo: Souveranitat → Souveränität

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:59:33 +02:00
Till JS
d1992f60bf feat(shared-auth-ui): redesign GuestWelcomeModal for better UX
Improve first-visit experience across all 23 apps: fix incorrect data
warning (IndexedDB persists, not tab-only), swap CTA order (register as
primary), add marketing-focused copy inspired by Mana ecosystem values,
compact layout, Phosphor icons for features, "Mehr über Mana" link,
Mana branding label, and improved accessibility (aria-describedby).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:59:28 +02:00
Till JS
f9514dec83 feat(status-page): add ManaCore to app registry + fix mana.how badge
Add ManaCore as first entry in MANA_APPS so the dashboard at mana.how
gets a tier badge. Map mana.how → manacore and inventar → inventory
in subdomain aliases.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:59:16 +02:00
Till JS
6d5d5283b7 fix(memoro/web): replace $user with authStore.user (Svelte 5 runes)
Old $user store subscription references caused build failure in runes
mode. Replaced with authStore.user across 6 files (tags, upload,
record, memos, MemoPanel, Sidebar).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-01 11:52:47 +02:00
Till JS
99878472e1 feat(shared-branding): add missing apps to registry + fix manadeck alias
Add Mukke, Photos, Planta, SkillTree, Playground, Arcade to mana-apps.ts
with icons and APP_URLS. Fix manadeck→cards subdomain alias in status
page generator so the tier badge renders for the renamed app.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:51:49 +02:00
Till JS
75a3ea2957 refactor: rename ManaDeck to Cards across entire monorepo
Rename the flashcard/deck management app from ManaDeck to Cards:
- Directory: apps/manadeck → apps/cards, packages/manadeck-database → packages/cards-database
- Packages: @manadeck/* → @cards/*, @manacore/manadeck-database → @manacore/cards-database
- Domain: manadeck.mana.how → cards.mana.how
- Storage: manadeck-storage → cards-storage
- Database: manadeck → cards
- All shared packages, infra configs, services, i18n, and docs updated
- 244 files changed, zero remaining manadeck references

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:45:21 +02:00
Till JS
29b77f22e4 refactor(status-page): show tier badges inline instead of separate section
Move release tier info (founder/alpha/beta/public) from a standalone
grid section into the existing service rows as small inline badges
next to each web app name. Cleaner, less visual noise.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 11:44:38 +02:00