mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-19 18:21:24 +02:00
- 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>
116 lines
3 KiB
Markdown
116 lines
3 KiB
Markdown
# Picture - Shared Packages
|
|
|
|
This directory contains shared packages used across the picture monorepo.
|
|
|
|
## Packages
|
|
|
|
### `@memoro/mobile-ui`
|
|
**React Native UI component library**
|
|
|
|
- **Framework:** React Native (Expo) only
|
|
- **Components:** 17 UI + Navigation components
|
|
- **Target:** Mobile app (`@picture/mobile`)
|
|
- **Status:** ✅ Ready to use
|
|
|
|
**Compatible Apps:**
|
|
- ✅ Mobile (`apps/mobile/`)
|
|
- ❌ Web (`apps/web/`) - Not compatible
|
|
- ❌ Landing (`apps/landing/`) - Not compatible
|
|
|
|
**Usage:**
|
|
```bash
|
|
# From project root
|
|
node packages/mobile-ui/cli/bin/cli.js list
|
|
node packages/mobile-ui/cli/bin/cli.js add button
|
|
```
|
|
|
|
**Documentation:**
|
|
- [README](./mobile-ui/README.md) - Main documentation
|
|
- [CLI Guide](./mobile-ui/CLI.md) - How to use the CLI
|
|
- [Status](./mobile-ui/STATUS.md) - Current progress
|
|
- [Monorepo Architecture](./mobile-ui/MONOREPO_ARCHITECTURE.md) - Framework compatibility
|
|
|
|
---
|
|
|
|
### `@picture/shared`
|
|
**Shared backend logic and types**
|
|
|
|
- **Framework:** Framework-agnostic (TypeScript)
|
|
- **Content:** Supabase types, API client, utilities
|
|
- **Target:** All apps
|
|
|
|
**Compatible Apps:**
|
|
- ✅ Mobile (`apps/mobile/`)
|
|
- ✅ Web (`apps/web/`)
|
|
- ✅ Landing (`apps/landing/`)
|
|
|
|
**Usage:**
|
|
```tsx
|
|
import { supabase } from '@picture/shared';
|
|
import type { Database } from '@picture/shared/types';
|
|
```
|
|
|
|
---
|
|
|
|
## Framework Compatibility Matrix
|
|
|
|
| Package | Mobile (RN) | Web (Svelte) | Landing (Astro) |
|
|
|---------|-------------|--------------|-----------------|
|
|
| `@memoro/mobile-ui` | ✅ Yes | ❌ No | ❌ No |
|
|
| `@picture/shared` | ✅ Yes | ✅ Yes | ✅ Yes |
|
|
|
|
## Why Different Compatibility?
|
|
|
|
### `@memoro/mobile-ui` - React Native Only
|
|
Uses React Native primitives that don't work on web:
|
|
```tsx
|
|
import { View, Pressable, Text } from 'react-native';
|
|
import Animated from 'react-native-reanimated';
|
|
```
|
|
|
|
### `@picture/shared` - Framework Agnostic
|
|
Pure TypeScript/JavaScript, no UI dependencies:
|
|
```tsx
|
|
import { createClient } from '@supabase/supabase-js';
|
|
export const supabase = createClient(...);
|
|
```
|
|
|
|
## UI Component Strategy
|
|
|
|
### Mobile App
|
|
**Uses:** `@memoro/mobile-ui`
|
|
- 17 React Native components
|
|
- CLI tool for installation
|
|
- Path: `packages/mobile-ui/`
|
|
|
|
### Web App
|
|
**Uses:** Own Svelte components
|
|
- Custom Svelte components
|
|
- Path: `apps/web/src/lib/components/ui/`
|
|
- Examples: `Button.svelte`, `Card.svelte`
|
|
|
|
### Landing Page
|
|
**Uses:** Own Astro components
|
|
- Custom Astro components
|
|
- Path: `apps/landing/src/components/`
|
|
- Examples: `Hero.astro`, `CTA.astro`
|
|
|
|
## Future Packages
|
|
|
|
### `@memoro/design-tokens` (Planned)
|
|
Shared design tokens for visual consistency:
|
|
```
|
|
packages/design-tokens/
|
|
├── colors.ts # Brand colors
|
|
├── spacing.ts # Spacing scale
|
|
├── typography.ts # Font styles
|
|
└── tailwind.preset.js
|
|
```
|
|
|
|
Would be used by all apps to maintain consistent branding.
|
|
|
|
## Questions?
|
|
|
|
- **Mobile UI:** See [mobile-ui/README.md](./mobile-ui/README.md)
|
|
- **Shared Backend:** See shared package documentation
|
|
- **Monorepo Structure:** See [mobile-ui/MONOREPO_ARCHITECTURE.md](./mobile-ui/MONOREPO_ARCHITECTURE.md)
|