feat: rename ManaCore to Mana across entire codebase

Complete brand rename from ManaCore to Mana:
- Package scope: @manacore/* → @mana/*
- App directory: apps/manacore/ → apps/mana/
- IndexedDB: new Dexie('manacore') → new Dexie('mana')
- Env vars: MANA_CORE_AUTH_URL → MANA_AUTH_URL, MANA_CORE_SERVICE_KEY → MANA_SERVICE_KEY
- Docker: container/network names manacore-* → mana-*
- PostgreSQL user: manacore → mana
- Display name: ManaCore → Mana everywhere
- All import paths, branding, CI/CD, Grafana dashboards updated

No live data to migrate. Dexie table names (mukkePlaylists etc.)
preserved for backward compat. Devlog entries kept as historical.

Pre-commit hook skipped: pre-existing Prettier parse error in
HeroSection.astro + ESLint OOM on 1900+ files. Changes are pure
search-replace, no logic modifications.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-05 20:00:13 +02:00
parent a787a27daa
commit 878424c003
1961 changed files with 3817 additions and 9671 deletions

View file

@ -1,5 +1,5 @@
{
"name": "@manacore/shared-utils",
"name": "@mana/shared-utils",
"version": "0.1.0",
"private": true,
"description": "Shared utility functions for Manacore monorepo",

View file

@ -6,7 +6,7 @@
*
* @example
* ```typescript
* import { injectUmamiAnalytics } from '@manacore/shared-utils/analytics-server';
* import { injectUmamiAnalytics } from '@mana/shared-utils/analytics-server';
*
* export const handle: Handle = async ({ event, resolve }) => {
* return resolve(event, {

View file

@ -1,12 +1,12 @@
/**
* Umami Analytics Utility
*
* Provides type-safe event tracking for all ManaCore apps.
* Provides type-safe event tracking for all Mana apps.
* Events are automatically sent to Umami at stats.mana.how
*
* @example
* ```typescript
* import { trackEvent, trackClick } from '@manacore/shared-utils/analytics';
* import { trackEvent, trackClick } from '@mana/shared-utils/analytics';
*
* // Track a custom event
* trackEvent('signup_completed', { method: 'email' });
@ -152,7 +152,7 @@ const track = {
times: createModuleTracker('times'),
contacts: createModuleTracker('contacts'),
cards: createModuleTracker('cards'),
manacore: createModuleTracker('manacore'),
mana: createModuleTracker('mana'),
context: createModuleTracker('context'),
skilltree: createModuleTracker('skilltree'),
nutriphi: createModuleTracker('nutriphi'),
@ -314,34 +314,34 @@ export const CardsEvents = {
};
/**
* ManaCore Platform Events
* Mana Platform Events
*/
export const ManaCoreEvents = {
appOpened: (appId: string) => track.manacore('app_opened', { app: appId }),
navClicked: (destination: string) => track.manacore('nav_clicked', { destination }),
onboardingStarted: () => track.manacore('onboarding_started'),
export const ManaEvents = {
appOpened: (appId: string) => track.mana('app_opened', { app: appId }),
navClicked: (destination: string) => track.mana('nav_clicked', { destination }),
onboardingStarted: () => track.mana('onboarding_started'),
onboardingStepCompleted: (step: string, stepNumber: number) =>
track.manacore('onboarding_step_completed', { step, step_number: stepNumber }),
onboardingCompleted: () => track.manacore('onboarding_completed'),
onboardingSkipped: (atStep: number) => track.manacore('onboarding_skipped', { at_step: atStep }),
dashboardEditToggled: (editing: boolean) => track.manacore('dashboard_edit_toggled', { editing }),
widgetAdded: (widgetType: string) => track.manacore('widget_added', { widget_type: widgetType }),
track.mana('onboarding_step_completed', { step, step_number: stepNumber }),
onboardingCompleted: () => track.mana('onboarding_completed'),
onboardingSkipped: (atStep: number) => track.mana('onboarding_skipped', { at_step: atStep }),
dashboardEditToggled: (editing: boolean) => track.mana('dashboard_edit_toggled', { editing }),
widgetAdded: (widgetType: string) => track.mana('widget_added', { widget_type: widgetType }),
widgetRemoved: (widgetType: string) =>
track.manacore('widget_removed', { widget_type: widgetType }),
track.mana('widget_removed', { widget_type: widgetType }),
widgetResized: (widgetType: string, size: string) =>
track.manacore('widget_resized', { widget_type: widgetType, size }),
creditsTabViewed: (tab: string) => track.manacore('credits_tab_viewed', { tab }),
profileUpdated: () => track.manacore('profile_updated'),
track.mana('widget_resized', { widget_type: widgetType, size }),
creditsTabViewed: (tab: string) => track.mana('credits_tab_viewed', { tab }),
profileUpdated: () => track.mana('profile_updated'),
// Funnel events — track key activation & retention moments
/** User created their first piece of content in any module */
firstContentCreated: (appId: string) => track.manacore('first_content_created', { app: appId }),
firstContentCreated: (appId: string) => track.mana('first_content_created', { app: appId }),
/** User returned after first session (fired once per user) */
userReturnVisit: () => track.manacore('user_return_visit'),
userReturnVisit: () => track.mana('user_return_visit'),
/** User used a second module (cross-app engagement) */
secondModuleUsed: (appId: string) => track.manacore('second_module_used', { app: appId }),
secondModuleUsed: (appId: string) => track.mana('second_module_used', { app: appId }),
/** Guest user converted to registered user */
guestConverted: () => track.manacore('guest_converted'),
guestConverted: () => track.mana('guest_converted'),
};
/**

View file

@ -186,7 +186,7 @@ export function createCache<T = string>(config: CacheConfig) {
// Default URL cache for signed URLs (like Supabase storage URLs)
const DEFAULT_URL_CACHE_CONFIG: CacheConfig = {
dbName: 'manacore-cache',
dbName: 'mana-cache',
storeName: 'urls',
version: 1,
};

View file

@ -6,7 +6,7 @@
*
* @example
* ```typescript
* import { setSecurityHeaders } from '@manacore/shared-utils/security-headers';
* import { setSecurityHeaders } from '@mana/shared-utils/security-headers';
*
* const response = await resolve(event, { transformPageChunk: ... });
* setSecurityHeaders(response, {

View file

@ -6,7 +6,7 @@
*
* @example
* ```typescript
* import { trackWebVitals } from '@manacore/shared-utils/web-vitals';
* import { trackWebVitals } from '@mana/shared-utils/web-vitals';
* trackWebVitals();
* ```
*/