chore: complete ManaCore → Mana rename (docs, go modules, plists, images)

Final cleanup of references missed in previous rename commits:

- Dockerfiles: PUBLIC_MANA_CORE_AUTH_URL → PUBLIC_MANA_AUTH_URL
- Go modules: github.com/manacore/* → github.com/mana/* (7 go.mod files)
- launchd plists: com.manacore.* → com.mana.* (14 files renamed + content)
- Image assets: *_Manacore_AI_Credits* → *_Mana_AI_Credits* (11 files)
- .env.example files: ManaCore brand strings → Mana
- .prettierignore: stale apps/manacore/* paths → apps/mana/*
- Markdown docs (CLAUDE.md, /docs/*): mana-core-auth → mana-auth, etc.

Excluded from rename: .claude/, devlog/, manascore/ (historical content),
client testimonials, blueprints, npm package refs (@mana-core/*).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Till JS 2026-04-07 12:26:10 +02:00
parent 6f4667c2a3
commit 22a73943e1
307 changed files with 2408 additions and 4537 deletions

View file

@ -1,11 +1,11 @@
---
title: API Reference
description: API documentation for Manacore services.
description: API documentation for Mana services.
---
# API Reference
This section contains API documentation for all Manacore backend services.
This section contains API documentation for all Mana backend services.
## Authentication

View file

@ -7,7 +7,7 @@ import { Aside, Tabs, TabItem, Steps } from '@astrojs/starlight/components';
# Authentication
All Manacore applications use **Mana Core Auth** as the central authentication service, providing EdDSA JWT-based authentication.
All Mana applications use **Mana Core Auth** as the central authentication service, providing EdDSA JWT-based authentication.
## Overview
@ -36,8 +36,8 @@ Mana Core Auth uses **EdDSA (Ed25519)** for JWT signing:
"role": "user",
"sid": "session-uuid",
"exp": 1764606251,
"iss": "manacore",
"aud": "manacore"
"iss": "mana",
"aud": "mana"
}
```
@ -48,18 +48,18 @@ Mana Core Auth uses **EdDSA (Ed25519)** for JWT signing:
| `role` | User role (`user`, `admin`) |
| `sid` | Session ID for invalidation |
| `exp` | Expiration timestamp |
| `iss` | Issuer (`manacore`) |
| `aud` | Audience (`manacore`) |
| `iss` | Issuer (`mana`) |
| `aud` | Audience (`mana`) |
## Backend Integration
### Option 1: Simple Auth Only
Use `@manacore/shared-nestjs-auth` for JWT validation:
Use `@mana/shared-nestjs-auth` for JWT validation:
```typescript
// app.module.ts
import { JwtAuthModule } from '@manacore/shared-nestjs-auth';
import { JwtAuthModule } from '@mana/shared-nestjs-auth';
@Module({
imports: [
@ -73,7 +73,7 @@ export class AppModule {}
```typescript
// controller.ts
import { JwtAuthGuard, CurrentUser, CurrentUserData } from '@manacore/shared-nestjs-auth';
import { JwtAuthGuard, CurrentUser, CurrentUserData } from '@mana/shared-nestjs-auth';
@Controller('api')
@UseGuards(JwtAuthGuard)
@ -140,7 +140,7 @@ export class ApiController {
```typescript
// src/lib/auth.ts
import { createAuthService } from '@manacore/shared-auth';
import { createAuthService } from '@mana/shared-auth';
export const auth = createAuthService({
authUrl: import.meta.env.PUBLIC_MANA_AUTH_URL,
@ -157,7 +157,7 @@ if (data) {
```typescript
// src/services/auth.ts
import { createAuthService } from '@manacore/shared-auth';
import { createAuthService } from '@mana/shared-auth';
export const auth = createAuthService({
authUrl: process.env.EXPO_PUBLIC_MANA_AUTH_URL,
@ -277,7 +277,7 @@ Never enable auth bypass in production!
| Backend | Package | Port |
|---------|---------|------|
| Chat | `@mana-core/nestjs-integration` | 3002 |
| Picture | `@manacore/shared-nestjs-auth` | 3006 |
| Zitare | `@manacore/shared-nestjs-auth` | 3007 |
| Picture | `@mana/shared-nestjs-auth` | 3006 |
| Zitare | `@mana/shared-nestjs-auth` | 3007 |
| Cards | `@mana-core/nestjs-integration` | 3009 |
| Contacts | `@manacore/shared-nestjs-auth` | 3015 |
| Contacts | `@mana/shared-nestjs-auth` | 3015 |

View file

@ -1,13 +1,13 @@
---
title: Backend (NestJS)
description: NestJS backend architecture patterns in Manacore.
description: NestJS backend architecture patterns in Mana.
---
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
# Backend Architecture
All Manacore backends use **NestJS 10-11** with consistent patterns for structure, validation, and error handling.
All Mana backends use **NestJS 10-11** with consistent patterns for structure, validation, and error handling.
## Project Structure
@ -75,7 +75,7 @@ import {
HttpCode,
HttpStatus,
} from '@nestjs/common';
import { JwtAuthGuard, CurrentUser, CurrentUserData } from '@manacore/shared-nestjs-auth';
import { JwtAuthGuard, CurrentUser, CurrentUserData } from '@mana/shared-nestjs-auth';
import { UsersService } from './users.service';
import { CreateUserDto } from './dto/create-user.dto';
@ -109,7 +109,7 @@ Services contain business logic and database operations:
```typescript
import { Injectable, NotFoundException } from '@nestjs/common';
import { Inject } from '@nestjs/common';
import { DRIZZLE } from '@manacore/shared-drizzle';
import { DRIZZLE } from '@mana/shared-drizzle';
import { eq, and } from 'drizzle-orm';
import { users } from '../drizzle/schema';

View file

@ -1,13 +1,13 @@
---
title: Mobile (Expo)
description: Expo React Native mobile application patterns in Manacore.
description: Expo React Native mobile application patterns in Mana.
---
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
# Mobile Architecture
Manacore mobile apps use **Expo SDK 52+** with React Native, Expo Router, and NativeWind for styling.
Mana mobile apps use **Expo SDK 52+** with React Native, Expo Router, and NativeWind for styling.
## Project Structure

View file

@ -1,13 +1,13 @@
---
title: Architecture Overview
description: High-level architecture of the Manacore ecosystem.
description: High-level architecture of the Mana ecosystem.
---
import { Card, CardGrid } from '@astrojs/starlight/components';
# Architecture Overview
Manacore is a multi-app ecosystem with shared infrastructure, enabling rapid development of interconnected applications.
Mana is a multi-app ecosystem with shared infrastructure, enabling rapid development of interconnected applications.
## System Architecture

View file

@ -7,7 +7,7 @@ import { Tabs, TabItem, Aside } from '@astrojs/starlight/components';
# Search Service
**Mana Search** provides web search and content extraction capabilities for Manacore applications.
**Mana Search** provides web search and content extraction capabilities for Mana applications.
## Architecture

View file

@ -1,13 +1,13 @@
---
title: Storage
description: S3-compatible object storage for files and media in Manacore.
description: S3-compatible object storage for files and media in Mana.
---
import { Tabs, TabItem, Aside } from '@astrojs/starlight/components';
# Storage
Manacore uses S3-compatible object storage for file uploads, generated images, and other media.
Mana uses S3-compatible object storage for file uploads, generated images, and other media.
## Architecture
@ -50,7 +50,7 @@ import {
createPictureStorage,
generateUserFileKey,
getContentType,
} from '@manacore/shared-storage';
} from '@mana/shared-storage';
const storage = createPictureStorage();
@ -101,7 +101,7 @@ import {
createChatStorage,
createCardsStorage,
createContactsStorage,
} from '@manacore/shared-storage';
} from '@mana/shared-storage';
// Each creates a client configured for that bucket
const pictureStorage = createPictureStorage();
@ -111,7 +111,7 @@ const chatStorage = createChatStorage();
### Custom Storage Client
```typescript
import { createStorageClient } from '@manacore/shared-storage';
import { createStorageClient } from '@mana/shared-storage';
const customStorage = createStorageClient({
bucket: 'my-custom-bucket',

View file

@ -1,13 +1,13 @@
---
title: Web (SvelteKit)
description: SvelteKit web application patterns in Manacore.
description: SvelteKit web application patterns in Mana.
---
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
# Web Architecture
All Manacore web applications use **SvelteKit 2** with **Svelte 5** (runes mode) and Tailwind CSS.
All Mana web applications use **SvelteKit 2** with **Svelte 5** (runes mode) and Tailwind CSS.
## Project Structure

View file

@ -15,10 +15,10 @@ All landing pages and static sites are deployed to **Cloudflare Pages** using Di
|---------|---------|-------------------|-----|
| Chat | `@chat/landing` | `chat-landing` | chat.mana.how |
| Picture | `@picture/landing` | `picture-landing` | picture.mana.how |
| Manacore | `@manacore/landing` | `manacore-landing` | mana.how |
| Mana | `@mana/landing` | `mana-landing` | mana.how |
| Cards | `@cards/landing` | `cards-landing` | cards.mana.how |
| Zitare | `@zitare/landing` | `zitare-landing` | zitare.mana.how |
| Docs | `@manacore/docs` | `manacore-docs` | docs.mana.how |
| Docs | `@mana/docs` | `mana-docs` | docs.mana.how |
## Quick Deploy

View file

@ -1,6 +1,6 @@
---
title: Mac Mini Server
description: Production server setup and management for Manacore backends.
description: Production server setup and management for Mana backends.
---
import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components';
@ -37,7 +37,7 @@ Requires `cloudflared` installed: `brew install cloudflare/cloudflare/cloudflare
## Directory Structure
```
~/projects/manacore-monorepo/
~/projects/mana-monorepo/
├── docker-compose.macmini.yml # Production compose file
├── .env.production # Production environment
├── scripts/mac-mini/ # Server management scripts
@ -53,7 +53,7 @@ Requires `cloudflared` installed: `brew install cloudflare/cloudflare/cloudflare
```bash
ssh mana-server
cd ~/projects/manacore-monorepo
cd ~/projects/mana-monorepo
./scripts/mac-mini/status.sh
```
@ -71,7 +71,7 @@ chat-backend running (healthy)
```bash
ssh mana-server
cd ~/projects/manacore-monorepo
cd ~/projects/mana-monorepo
./scripts/mac-mini/deploy.sh
```
@ -117,12 +117,12 @@ services:
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: manacore
POSTGRES_USER: mana
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- postgres_data:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U manacore"]
test: ["CMD-SHELL", "pg_isready -U mana"]
interval: 10s
timeout: 5s
retries: 5
@ -143,7 +143,7 @@ services:
context: .
dockerfile: services/mana-core-auth/Dockerfile
environment:
- DATABASE_URL=postgresql://manacore:${POSTGRES_PASSWORD}@postgres:5432/manacore
- DATABASE_URL=postgresql://mana:${POSTGRES_PASSWORD}@postgres:5432/mana_platform
- REDIS_URL=redis://:${REDIS_PASSWORD}@redis:6379
depends_on:
postgres:
@ -161,7 +161,7 @@ services:
context: .
dockerfile: apps/chat/apps/backend/Dockerfile
environment:
- DATABASE_URL=postgresql://manacore:${POSTGRES_PASSWORD}@postgres:5432/chat
- DATABASE_URL=postgresql://mana:${POSTGRES_PASSWORD}@postgres:5432/chat
- MANA_AUTH_URL=http://mana-auth:3001
depends_on:
- mana-auth
@ -234,7 +234,7 @@ tail -f /var/log/cloudflared.log
```bash
# Manual backup
docker exec postgres pg_dump -U manacore manacore > backup_$(date +%Y%m%d).sql
docker exec postgres pg_dump -U mana mana_platform > backup_$(date +%Y%m%d).sql
# Automated daily backups (via cron)
0 2 * * * /home/till/scripts/backup-databases.sh
@ -247,7 +247,7 @@ docker exec postgres pg_dump -U manacore manacore > backup_$(date +%Y%m%d).sql
docker compose -f docker-compose.macmini.yml stop chat-backend
# Restore
docker exec -i postgres psql -U manacore manacore < backup_20240115.sql
docker exec -i postgres psql -U mana mana_platform < backup_20240115.sql
# Start services
docker compose -f docker-compose.macmini.yml start chat-backend
@ -309,7 +309,7 @@ docker image prune -a
docker compose -f docker-compose.macmini.yml ps postgres
# Test connection
docker exec -it postgres psql -U manacore -c "SELECT 1"
docker exec -it postgres psql -U mana -c "SELECT 1"
# Check logs
docker compose -f docker-compose.macmini.yml logs postgres

View file

@ -1,13 +1,13 @@
---
title: Deployment Overview
description: Deployment strategies and infrastructure for Manacore applications.
description: Deployment strategies and infrastructure for Mana applications.
---
import { Card, CardGrid, Aside } from '@astrojs/starlight/components';
# Deployment Overview
Manacore uses multiple deployment strategies depending on the application type.
Mana uses multiple deployment strategies depending on the application type.
## Deployment Targets
@ -92,7 +92,7 @@ pnpm deploy:docs
ssh mana-server
# Pull latest changes
cd ~/projects/manacore-monorepo
cd ~/projects/mana-monorepo
git pull
# Restart services
@ -135,7 +135,7 @@ npx wrangler pages deployment tail <deployment-id> --project-name=chat-landing
```bash
ssh mana-server
cd ~/projects/manacore-monorepo
cd ~/projects/mana-monorepo
# Revert to previous commit
git checkout HEAD~1

View file

@ -1,13 +1,13 @@
---
title: Self-Hosting
description: Host your own Manacore instance with Docker Compose.
description: Host your own Mana instance with Docker Compose.
---
import { Steps, Aside, Tabs, TabItem } from '@astrojs/starlight/components';
# Self-Hosting
Run your own Manacore instance using Docker Compose.
Run your own Mana instance using Docker Compose.
## Requirements
@ -23,8 +23,8 @@ Run your own Manacore instance using Docker Compose.
1. **Clone the repository**
```bash
git clone https://github.com/manacore/manacore-monorepo.git
cd manacore-monorepo
git clone https://github.com/mana/mana-monorepo.git
cd mana-monorepo
```
2. **Create environment file**
@ -37,7 +37,7 @@ Run your own Manacore instance using Docker Compose.
```env
# Database
POSTGRES_USER=manacore
POSTGRES_USER=mana
POSTGRES_PASSWORD=your-secure-password
# Redis
@ -113,9 +113,9 @@ services:
# Auth Service
mana-auth:
image: ghcr.io/manacore/mana-core-auth:latest
image: ghcr.io/mana/mana-core-auth:latest
environment:
DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/manacore
DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/mana_platformcore
REDIS_HOST: redis
REDIS_PASSWORD: ${REDIS_PASSWORD}
JWT_PRIVATE_KEY: ${JWT_PRIVATE_KEY}
@ -129,7 +129,7 @@ services:
# Chat Backend
chat-backend:
image: ghcr.io/manacore/chat-backend:latest
image: ghcr.io/mana/chat-backend:latest
environment:
DATABASE_URL: postgresql://${POSTGRES_USER}:${POSTGRES_PASSWORD}@postgres:5432/chat
MANA_AUTH_URL: http://mana-auth:3001
@ -146,7 +146,7 @@ volumes:
## Generate JWT Keys
Manacore uses EdDSA (Ed25519) for JWT signing:
Mana uses EdDSA (Ed25519) for JWT signing:
```bash
# Generate private key
@ -220,18 +220,18 @@ certbot renew --dry-run
### Daily Database Backup
Create `/etc/cron.daily/manacore-backup`:
Create `/etc/cron.daily/mana-backup`:
```bash
#!/bin/bash
BACKUP_DIR=/var/backups/manacore
BACKUP_DIR=/var/backups/mana
DATE=$(date +%Y%m%d)
# Create backup directory
mkdir -p $BACKUP_DIR
# Backup all databases
docker exec postgres pg_dumpall -U manacore > $BACKUP_DIR/all_$DATE.sql
docker exec postgres pg_dumpall -U ${POSTGRES_USER}core > $BACKUP_DIR/all_$DATE.sql
# Compress
gzip $BACKUP_DIR/all_$DATE.sql
@ -247,7 +247,7 @@ find $BACKUP_DIR -name "*.gz" -mtime +7 -delete
docker compose -f docker-compose.production.yml stop
# Restore
gunzip -c /var/backups/manacore/all_20240115.sql.gz | docker exec -i postgres psql -U manacore
gunzip -c /var/backups/mana/all_20240115.sql.gz | docker exec -i postgres psql -U ${POSTGRES_USER}core
# Start services
docker compose -f docker-compose.production.yml start
@ -265,7 +265,7 @@ docker compose -f docker-compose.production.yml start
2. **Backup database** (always!)
```bash
docker exec postgres pg_dumpall -U manacore > backup_before_update.sql
docker exec postgres pg_dumpall -U ${POSTGRES_USER}core > backup_before_update.sql
```
3. **Restart services**
@ -301,7 +301,7 @@ docker compose -f docker-compose.production.yml logs mana-auth
docker compose -f docker-compose.production.yml ps postgres
# Check connection
docker exec -it postgres psql -U manacore -c "SELECT 1"
docker exec -it postgres psql -U ${POSTGRES_USER}core -c "SELECT 1"
```
### Out of Memory

View file

@ -1,13 +1,13 @@
---
title: Database Migrations
description: Managing database schemas with Drizzle ORM in the Manacore monorepo.
description: Managing database schemas with Drizzle ORM in the Mana monorepo.
---
import { Aside, Steps, Tabs, TabItem } from '@astrojs/starlight/components';
# Database Migrations
Manacore uses **Drizzle ORM** for database management with PostgreSQL.
Mana uses **Drizzle ORM** for database management with PostgreSQL.
## Overview
@ -15,7 +15,7 @@ Each backend service has its own database and schema:
| Service | Database | Port |
|---------|----------|------|
| mana-core-auth | manacore | 3001 |
| mana-core-auth | mana_platform | 3001 |
| chat | chat | 3002 |
| zitare | zitare | 3007 |
| contacts | contacts | 3015 |
@ -188,7 +188,7 @@ export default defineConfig({
### NestJS Module
```typescript
import { DrizzleModule } from '@manacore/shared-drizzle';
import { DrizzleModule } from '@mana/shared-drizzle';
@Module({
imports: [
@ -208,7 +208,7 @@ export class AppModule {}
```typescript
import { Inject, Injectable } from '@nestjs/common';
import { DRIZZLE } from '@manacore/shared-drizzle';
import { DRIZZLE } from '@mana/shared-drizzle';
import { eq } from 'drizzle-orm';
import { users } from '../drizzle/schema';

View file

@ -1,13 +1,13 @@
---
title: Docker Setup
description: Working with Docker for local development and production in Manacore.
description: Working with Docker for local development and production in Mana.
---
import { Tabs, TabItem, Aside, Steps } from '@astrojs/starlight/components';
# Docker Setup
Manacore uses Docker for local development services and production deployment.
Mana uses Docker for local development services and production deployment.
## Overview

View file

@ -1,13 +1,13 @@
---
title: Environment Variables
description: Centralized environment variable management in the Manacore monorepo.
description: Centralized environment variable management in the Mana monorepo.
---
import { Tabs, TabItem, Aside, Steps } from '@astrojs/starlight/components';
# Environment Variables
Manacore uses a centralized environment variable system. All development variables are managed from a single file.
Mana uses a centralized environment variable system. All development variables are managed from a single file.
## Quick Start
@ -75,8 +75,8 @@ The generator reads `.env.development` and creates app-specific `.env` files wit
| `MANA_AUTH_DATABASE_URL` | PostgreSQL connection | - |
| `JWT_ACCESS_TOKEN_EXPIRY` | Access token TTL | `15m` |
| `JWT_REFRESH_TOKEN_EXPIRY` | Refresh token TTL | `7d` |
| `JWT_ISSUER` | JWT issuer claim | `manacore` |
| `JWT_AUDIENCE` | JWT audience claim | `manacore` |
| `JWT_ISSUER` | JWT issuer claim | `mana` |
| `JWT_AUDIENCE` | JWT audience claim | `mana` |
| `STRIPE_SECRET_KEY` | Stripe secret key | - |
| `CREDITS_SIGNUP_BONUS` | Credits on signup | `150` |
| `CREDITS_DAILY_FREE` | Daily free credits | `5` |

View file

@ -1,6 +1,6 @@
---
title: Local Development
description: Set up and run Manacore applications locally with automatic database setup.
description: Set up and run Mana applications locally with automatic database setup.
---
import { Tabs, TabItem, Steps, Aside } from '@astrojs/starlight/components';
@ -86,7 +86,7 @@ This is useful when setting up a fresh environment or after pulling new schema c
On first `pnpm docker:up`, the PostgreSQL container runs `docker/init-db/01-create-databases.sql` which creates all databases:
- manacore, chat, zitare, contacts, calendar, clock, todo, cards
- mana_platform, chat, zitare, contacts, calendar, clock, todo, cards
- storage, mail, moodlit, finance, inventory, techbase, voxel_lava, figgos
### Setup Script
@ -104,13 +104,13 @@ Some apps don't have backends or don't use Drizzle:
| App | Reason |
|-----|--------|
| manacore | No backend (uses other services) |
| mana | No backend (uses other services) |
| cards | Backend exists but no db:push |
For these, use the regular dev commands:
```bash
pnpm dev:manacore:web
pnpm dev:mana:web
pnpm dev:cards:app
```
@ -128,7 +128,7 @@ If you see `database "xxx" does not exist`:
</TabItem>
<TabItem label="Option 2: Manual">
```bash
PGPASSWORD=devpassword psql -h localhost -U manacore -d postgres -c "CREATE DATABASE chat;"
PGPASSWORD=devpassword psql -h localhost -U mana -d postgres -c "CREATE DATABASE chat;"
```
</TabItem>
</Tabs>
@ -196,12 +196,12 @@ If your backend uses Drizzle ORM:
1. **Add database to Docker init** (`docker/init-db/01-create-databases.sql`):
```sql
CREATE DATABASE IF NOT EXISTS newproject;
GRANT ALL PRIVILEGES ON DATABASE newproject TO manacore;
GRANT ALL PRIVILEGES ON DATABASE newproject TO mana;
```
2. **Add DATABASE_URL to `.env.development`**:
```env
NEWPROJECT_DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/newproject
NEWPROJECT_DATABASE_URL=postgresql://mana:devpassword@localhost:5432/newproject
```
3. **Update `scripts/generate-env.mjs`** to generate the backend `.env` file.

View file

@ -1,13 +1,13 @@
---
title: Testing
description: Testing patterns and practices in the Manacore monorepo.
description: Testing patterns and practices in the Mana monorepo.
---
import { Tabs, TabItem, Aside } from '@astrojs/starlight/components';
# Testing
Manacore uses Jest for backend testing and Vitest for frontend testing.
Mana uses Jest for backend testing and Vitest for frontend testing.
## Quick Start
@ -47,7 +47,7 @@ src/
```typescript
import { Test, TestingModule } from '@nestjs/testing';
import { UsersService } from './users.service';
import { DRIZZLE } from '@manacore/shared-drizzle';
import { DRIZZLE } from '@mana/shared-drizzle';
describe('UsersService', () => {
let service: UsersService;

View file

@ -1,17 +1,17 @@
---
title: Introduction
description: Welcome to the Manacore documentation - learn about our multi-app ecosystem platform.
description: Welcome to the Mana documentation - learn about our multi-app ecosystem platform.
---
import { Card, CardGrid } from '@astrojs/starlight/components';
# Welcome to Manacore
# Welcome to Mana
Manacore is a **multi-app ecosystem platform** built as a pnpm monorepo. It provides shared infrastructure, authentication, and common patterns for building modern web and mobile applications.
Mana is a **multi-app ecosystem platform** built as a pnpm monorepo. It provides shared infrastructure, authentication, and common patterns for building modern web and mobile applications.
## What is Manacore?
## What is Mana?
Manacore is designed to streamline the development of multiple interconnected applications:
Mana is designed to streamline the development of multiple interconnected applications:
- **Shared Authentication** via Mana Core Auth (EdDSA JWT)
- **Unified Database Patterns** with Drizzle ORM and PostgreSQL

View file

@ -1,13 +1,13 @@
---
title: Project Structure
description: Understand how the Manacore monorepo is organized.
description: Understand how the Mana monorepo is organized.
---
import { FileTree } from '@astrojs/starlight/components';
# Project Structure
Manacore uses a pnpm workspace monorepo with Turborepo for build orchestration.
Mana uses a pnpm workspace monorepo with Turborepo for build orchestration.
## Overview
@ -84,21 +84,21 @@ The `services/` directory contains standalone microservices:
Packages in `packages/` are shared across all applications:
### Authentication
- `@manacore/shared-auth` - Client-side auth utilities
- `@manacore/shared-nestjs-auth` - NestJS JWT guards
- `@mana/shared-auth` - Client-side auth utilities
- `@mana/shared-nestjs-auth` - NestJS JWT guards
- `@mana-core/nestjs-integration` - Full NestJS auth + credits module
### UI & Styling
- `@manacore/shared-ui` - React Native components
- `@manacore/shared-landing-ui` - Astro landing page components
- `@manacore/shared-theme` - Theme configuration
- `@manacore/shared-tailwind` - Tailwind presets
- `@mana/shared-ui` - React Native components
- `@mana/shared-landing-ui` - Astro landing page components
- `@mana/shared-theme` - Theme configuration
- `@mana/shared-tailwind` - Tailwind presets
### Data & Utilities
- `@manacore/shared-types` - Common TypeScript types
- `@manacore/shared-utils` - Utility functions
- `@manacore/shared-storage` - S3 storage utilities
- `@manacore/shared-i18n` - Internationalization
- `@mana/shared-types` - Common TypeScript types
- `@mana/shared-utils` - Utility functions
- `@mana/shared-storage` - S3 storage utilities
- `@mana/shared-i18n` - Internationalization
## Workspace Configuration
@ -125,7 +125,7 @@ Turborepo handles task orchestration with:
| Type | Pattern | Example |
|------|---------|---------|
| App package | `@{project}/{app}` | `@chat/server` |
| Shared package | `@manacore/shared-{name}` | `@manacore/shared-auth` |
| Shared package | `@mana/shared-{name}` | `@mana/shared-auth` |
| Service | `@mana-{name}/service` | `@mana-search/service` |
## Adding a New Project

View file

@ -1,13 +1,13 @@
---
title: Quick Start
description: Get up and running with Manacore in minutes.
description: Get up and running with Mana in minutes.
---
import { Steps, Tabs, TabItem, Code } from '@astrojs/starlight/components';
# Quick Start
Get the Manacore monorepo running locally in just a few steps.
Get the Mana monorepo running locally in just a few steps.
## Prerequisites
@ -24,8 +24,8 @@ Before you begin, ensure you have:
1. **Clone the repository**
```bash
git clone https://github.com/manacore/manacore-monorepo.git
cd manacore-monorepo
git clone https://github.com/mana/mana-monorepo.git
cd mana-monorepo
```
2. **Install dependencies**

View file

@ -1,6 +1,6 @@
---
title: Code Style
description: Coding standards and formatting conventions for Manacore.
description: Coding standards and formatting conventions for Mana.
---
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
@ -188,7 +188,7 @@ import { Injectable } from '@nestjs/common';
import { eq } from 'drizzle-orm';
// 3. Monorepo packages
import { JwtAuthGuard } from '@manacore/shared-nestjs-auth';
import { JwtAuthGuard } from '@mana/shared-nestjs-auth';
// 4. Relative imports - parent directories
import { AppModule } from '../app.module';

View file

@ -1,13 +1,13 @@
---
title: Database Patterns
description: Drizzle ORM patterns and database best practices in Manacore.
description: Drizzle ORM patterns and database best practices in Mana.
---
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
# Database Patterns
Manacore uses **Drizzle ORM** with PostgreSQL for type-safe database access.
Mana uses **Drizzle ORM** with PostgreSQL for type-safe database access.
## Schema Design

View file

@ -1,13 +1,13 @@
---
title: Design & UX
description: UI patterns, animations, and accessibility guidelines for Manacore.
description: UI patterns, animations, and accessibility guidelines for Mana.
---
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
# Design & UX
Consistent design patterns across all Manacore applications for a unified user experience.
Consistent design patterns across all Mana applications for a unified user experience.
## Design Principles

View file

@ -1,13 +1,13 @@
---
title: Error Handling
description: Go-style Result types and error handling patterns in Manacore.
description: Go-style Result types and error handling patterns in Mana.
---
import { Aside, Tabs, TabItem } from '@astrojs/starlight/components';
# Error Handling
Manacore uses **Go-style Result types** for explicit error handling, avoiding unexpected exceptions.
Mana uses **Go-style Result types** for explicit error handling, avoiding unexpected exceptions.
## Result Type Pattern

View file

@ -1,6 +1,6 @@
---
title: Manacore Documentation
description: Documentation for the Manacore ecosystem - a multi-app platform with shared infrastructure.
title: Mana Documentation
description: Documentation for the Mana ecosystem - a multi-app platform with shared infrastructure.
template: splash
hero:
tagline: Build modern applications with shared infrastructure
@ -12,7 +12,7 @@ hero:
icon: right-arrow
variant: primary
- text: View on GitHub
link: https://github.com/manacore/manacore-monorepo
link: https://github.com/mana/mana-monorepo
icon: external
---
@ -21,8 +21,8 @@ import { Card, CardGrid } from '@astrojs/starlight/components';
## Quick Start
```bash
git clone https://github.com/manacore/manacore-monorepo.git
cd manacore-monorepo
git clone https://github.com/mana/mana-monorepo.git
cd mana-monorepo
pnpm install
pnpm docker:up
pnpm dev:chat:full

View file

@ -90,7 +90,7 @@ OLLAMA_URL=http://localhost:11434
OLLAMA_TIMEOUT=120000
# Database
DATABASE_URL=postgresql://manacore:devpassword@localhost:5432/chat
DATABASE_URL=postgresql://mana:devpassword@localhost:5432/chat
# Auth
MANA_AUTH_URL=http://localhost:3001

View file

@ -1,13 +1,13 @@
---
title: Projects
description: Overview of all projects in the Manacore ecosystem.
description: Overview of all projects in the Mana ecosystem.
---
import { Card, CardGrid, Badge } from '@astrojs/starlight/components';
# Projects
Manacore contains multiple interconnected applications, each serving a specific purpose.
Mana contains multiple interconnected applications, each serving a specific purpose.
## Active Projects