mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 21:21:10 +02:00
feat: add monorepo configuration and shared packages structure
Root-level setup: - package.json with Turborepo scripts - pnpm-workspace.yaml for workspace management - turbo.json for build pipeline - Common config files (.nvmrc, .prettierrc, .editorconfig) Shared packages (packages/): - @manacore/shared-types - Common TypeScript types - @manacore/shared-supabase - Unified Supabase client - @manacore/shared-utils - Date, string, async utilities - @manacore/shared-ui - React Native UI components (placeholder) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
e7f5f942f3
commit
2c58d03f63
23 changed files with 738 additions and 0 deletions
124
README.md
Normal file
124
README.md
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
# 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
|
||||
|
||||
```bash
|
||||
# Install pnpm globally (if not installed)
|
||||
npm install -g pnpm
|
||||
|
||||
# Install all dependencies
|
||||
pnpm install
|
||||
```
|
||||
|
||||
### Development
|
||||
|
||||
```bash
|
||||
# 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
|
||||
|
||||
```typescript
|
||||
// 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
|
||||
|
||||
```bash
|
||||
# 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue