Mirror of github.com/Memo-2023/mana-monorepo
Find a file
Till-JS c712a2504a feat: integrate uload and picture, unify package naming
- Add uload project with apps/web structure
  - Reorganize from flat to monorepo structure
  - Remove PocketBase binary and local data
  - Update to pnpm and @uload/web namespace

- Add picture project to monorepo
  - Remove embedded git repository

- Unify all package names to @{project}/{app} schema:
  - @maerchenzauber/* (was @storyteller/*)
  - @manacore/* (was manacore-*, manacore)
  - @manadeck/* (was web, backend, manadeck)
  - @memoro/* (was memoro-web, landing, memoro)
  - @picture/* (already unified)
  - @uload/web

- Add convenient dev scripts for all apps:
  - pnpm dev:{project}:web
  - pnpm dev:{project}:landing
  - pnpm dev:{project}:mobile
  - pnpm dev:{project}:backend

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 04:00:36 +01:00
docs Feat: Login localization, design, märchenzauber feature complete webapp 2025-11-25 02:19:40 +01:00
maerchenzauber feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
manacore feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
manadeck feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
memoro feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
packages feat(landing): add shared-landing-ui package and manadeck landing page 2025-11-25 03:03:41 +01:00
picture feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
uload feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
.editorconfig feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.gitignore chore: initial commit - consolidate 4 projects into monorepo 2025-11-22 23:38:24 +01:00
.nvmrc feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.prettierignore feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.prettierrc feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
package.json feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
pnpm-lock.yaml feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
pnpm-workspace.yaml feat: integrate uload and picture, unify package naming 2025-11-25 04:00:36 +01:00
README.md feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
turbo.json feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00

Manacore Monorepo

Monorepo containing all Manacore projects with shared packages and unified tooling.

Projects

Project Description Tech Stack
maerchenzauber AI-powered story generation app NestJS, Expo, SvelteKit, Astro
manacore Multi-app ecosystem platform Expo, SvelteKit, Astro
manadeck Card/deck management app NestJS, Expo, SvelteKit
memoro Voice memo & AI analysis app Expo, SvelteKit, Astro

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm 9.15.0+

Installation

# Install pnpm globally (if not installed)
npm install -g pnpm

# Install all dependencies
pnpm install

Development

# Start all projects in dev mode
pnpm run dev

# Start a specific project
pnpm run maerchenzauber:dev
pnpm run manacore:dev
pnpm run manadeck:dev
pnpm run memoro:dev

# Build all projects
pnpm run build

# Run tests
pnpm run test

# Type check
pnpm run type-check

# Format code
pnpm run format

Shared Packages

Located in packages/:

Package Description
@manacore/shared-types Common TypeScript types
@manacore/shared-supabase Unified Supabase client
@manacore/shared-utils Utility functions (date, string, async)
@manacore/shared-ui React Native UI components

Using Shared Packages

// In any project
import { User, ApiResponse } from '@manacore/shared-types';
import { createSupabaseClient } from '@manacore/shared-supabase';
import { formatDate, truncate, retry } from '@manacore/shared-utils';

Repository Structure

manacore-monorepo/
├── packages/                 # Shared packages
│   ├── shared-types/         # TypeScript types
│   ├── shared-supabase/      # Supabase utilities
│   ├── shared-utils/         # Common utilities
│   └── shared-ui/            # React Native components
├── maerchenzauber/           # Storyteller project
├── manacore/                 # Manacore apps project
├── manadeck/                 # ManaDeck project
├── memoro/                   # Memoro project
├── turbo.json                # Turborepo configuration
├── pnpm-workspace.yaml       # Workspace configuration
└── package.json              # Root package

Tooling

  • Package Manager: pnpm 9.15.0
  • Build System: Turborepo
  • Formatting: Prettier
  • Node Version: 20 (see .nvmrc)

Adding Dependencies

# Add to root (dev tools)
pnpm add -D <package> -w

# Add to specific project
pnpm add <package> --filter maerchenzauber

# Add to shared package
pnpm add <package> --filter @manacore/shared-utils

Contributing

  1. Create a feature branch
  2. Make changes
  3. Run pnpm run format and pnpm run type-check
  4. Commit with conventional commit messages
  5. Create pull request

License

Private - All rights reserved