Mirror of github.com/Memo-2023/mana-monorepo
Find a file
Till JS b37a451d29 refactor(stores): rewrite NutriPhi + Mukke stores to use IndexedDB
NutriPhi meals store: Replace apiClient calls with mealCollection
reads/writes. Daily summary now computed locally from IndexedDB.

Mukke library store: Replace backend API aggregations (albums, artists,
genres, stats) with local computation from songCollection.getAll().
Server-only operations (upload, cover URLs, metadata extraction) remain
as fire-and-forget API calls.

Store migration status: All 19 apps now use IndexedDB as primary
data source. Server API calls only remain for:
- File upload/download (S3 presigned URLs)
- Image generation (Replicate API)
- AI analysis (Gemini)
- Cover art URLs (S3 presigned)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-28 03:12:37 +01:00
.changeset feat(versioning): add semantic versioning and changesets to all apps 2026-03-19 16:20:18 +01:00
.claude feat(infra): delete mana-core-auth (NestJS), replace with mana-auth (Hono+Bun) 2026-03-28 03:04:01 +01:00
.forgejo/workflows feat(infra): add Forgejo for self-hosted Git + CI/CD 2026-03-28 03:00:50 +01:00
.github refactor(presi): replace NestJS backend with lightweight Hono server 2026-03-28 02:08:40 +01:00
.husky fix(devtools): fix pre-commit hook - add eslint-config dep, remove type-check 2026-03-17 13:08:51 +01:00
apps refactor(stores): rewrite NutriPhi + Mukke stores to use IndexedDB 2026-03-28 03:12:37 +01:00
docker docs(infra): add PORT_SCHEMA.md + update Prometheus scrape targets 2026-03-28 03:02:12 +01:00
docs docs(infra): add PORT_SCHEMA.md + update Prometheus scrape targets 2026-03-28 03:02:12 +01:00
games feat(whopixels): update Phaser from 3.55.2 to 3.80.1 2026-03-21 15:29:24 +01:00
packages feat(local-first): migrate tags + task stores to reactive liveQuery across all apps 2026-03-28 02:02:52 +01:00
patches fix(traces): configure EAS Build for TestFlight and fix bot-services build 2026-03-17 13:16:38 +01:00
scripts feat(infra): add Forgejo for self-hosted Git + CI/CD 2026-03-28 03:00:50 +01:00
services feat(infra): delete mana-core-auth (NestJS), replace with mana-auth (Hono+Bun) 2026-03-28 03:04:01 +01:00
tests/e2e first implementation 2025-11-27 17:26:18 +01:00
.dockerignore make auth working 2025-11-26 01:31:12 +01:00
.editorconfig feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.env.development feat(apps): add GPU server fallback to all LLM-using apps 2026-03-27 22:21:20 +01:00
.env.macmini.example feat: add monitoring dashboard (Prometheus + Grafana + Umami + Admin) 2026-01-23 15:31:39 +01:00
.gitignore feat(calendar): add Playwright E2E tests for web app 2026-03-17 13:08:09 +01:00
.npmrc fix(monorepo): add .npmrc with node-linker=hoisted for EAS Build compatibility 2026-03-15 08:50:18 +01:00
.nvmrc feat: add monorepo configuration and shared packages structure 2025-11-22 23:41:52 +01:00
.prettierignore fix(ci): build shared packages before tests and fix formatting 2025-12-01 23:15:00 +01:00
.prettierrc.json fix(cicd): docker paths, formatting config, 2025-11-27 18:33:08 +01:00
CLAUDE.md feat(infra): delete mana-core-auth (NestJS), replace with mana-auth (Hono+Bun) 2026-03-28 03:04:01 +01:00
cloudflared-config.yml feat(infra): add Forgejo for self-hosted Git + CI/CD 2026-03-28 03:00:50 +01:00
docker-compose.dev.yml feat(storage): improve shared-storage robustness, scalability, and DX 2026-03-20 18:52:34 +01:00
docker-compose.macmini.yml feat(infra): delete mana-core-auth (NestJS), replace with mana-auth (Hono+Bun) 2026-03-28 03:04:01 +01:00
eslint.config.mjs fix lint 2025-12-04 00:32:13 +01:00
gift-codes-2026-02-14.txt feat(gifts): add gift code creation script and initial codes 2026-02-14 11:23:08 +01:00
jest.config.js first implementation 2025-11-27 17:26:18 +01:00
lint-staged.config.js Fix wrong type 2025-12-04 23:25:25 +01:00
mac-mini-setup.sh feat(infra): add Mac Mini setup script and update production docker-compose 2026-01-23 17:50:51 +01:00
package.json refactor(photos): remove NestJS backend, use local-first + direct mana-media 2026-03-28 02:18:03 +01:00
playwright.config.ts style: auto-format codebase with Prettier 2025-11-27 18:33:16 +01:00
pnpm-lock.yaml feat(local-first): migrate tags + task stores to reactive liveQuery across all apps 2026-03-28 02:02:52 +01:00
pnpm-workspace.yaml feat(mana-media): add centralized media storage with NutriPhi integration 2026-02-02 17:30:14 +01:00
README.md chore: fix config conflicts, update README, clean up apps-archived 2026-03-23 11:06:40 +01:00
test-chat-auth.sh Fix wrong type 2025-12-04 23:25:25 +01:00
TROUBLESHOOTING.md chore: major cleanup of legacy docs, reports, and unused configs 2026-03-23 10:43:11 +01:00
turbo.json fix: add ^build dependency to type-check task 2025-12-10 21:34:07 +01:00
vitest.config.ts first implementation 2025-11-27 17:26:18 +01:00

Manacore Monorepo

Monorepo containing all Manacore projects — a self-hosted multi-app ecosystem with shared packages and unified tooling.

Projects

Project Description Apps
manacore Multi-app ecosystem platform Expo mobile, SvelteKit web
chat AI chat application NestJS backend, Expo mobile, SvelteKit web, Astro landing
todo Task management NestJS backend, SvelteKit web, Astro landing
calendar Calendar & scheduling NestJS backend, SvelteKit web, Astro landing
clock Pomodoro & time tracking NestJS backend, SvelteKit web, Astro landing
contacts Contact management NestJS backend, SvelteKit web
picture AI image generation NestJS backend, Expo mobile, SvelteKit web, Astro landing
manadeck Card/deck management NestJS backend, Expo mobile, SvelteKit web
zitare Daily inspiration quotes NestJS backend, Expo mobile, SvelteKit web, Astro landing
mukke Music player NestJS backend, SvelteKit web
planta Plant care tracker NestJS backend, SvelteKit web
storage Cloud storage NestJS backend, SvelteKit web
questions Q&A with web search SvelteKit web
skilltree Skill tree visualization NestJS backend, SvelteKit web
nutriphi Nutrition tracking NestJS backend, SvelteKit web
citycorners City guide NestJS backend, SvelteKit web, Astro landing
presi Presentation tool NestJS backend, SvelteKit web
photos Photo management NestJS backend, SvelteKit web

Getting Started

Prerequisites

  • Node.js 20+
  • pnpm 9.15.0+
  • Docker (for PostgreSQL, Redis, MinIO)

Installation

pnpm install

Development

# Start infrastructure (PostgreSQL, Redis, MinIO)
pnpm docker:up

# Start any app with auto DB setup
pnpm dev:chat:full
pnpm dev:todo:full
pnpm dev:calendar:full
pnpm dev:contacts:full

# Build & quality
pnpm run build
pnpm run type-check
pnpm run format

See CLAUDE.md for comprehensive development documentation.

Architecture

manacore-monorepo/
├── apps/                    # Product applications
├── services/                # Microservices (auth, search, LLM, bots)
├── packages/                # Shared packages
├── docker/                  # Docker configuration
└── scripts/                 # Development & deployment scripts

Tooling

  • Package Manager: pnpm 9.15.0
  • Build System: Turborepo
  • Formatting: Prettier (tabs, single quotes, 100 char width)
  • Hosting: Mac Mini (self-hosted) via Docker + Cloudflare Tunnel
  • Analytics: Umami (stats.mana.how)

License

Private - All rights reserved