mx-space/core
AI-powered CMS core for personal blogs and creator websites, with AI summaries, translation, moderation, and writing workflows.
mx-space/core – AI‑powered personal CMS stack
What it is – A monorepo that builds a complete, head‑less content‑management system aimed at personal blogs and creator sites. The stack is AI‑enhanced (e.g. AI contracts for content generation) and consists of:
| Component | Tech stack | Role |
|---|---|---|
Core server (apps/core) |
NestJS + Fastify, PostgreSQL, Redis | Handles API, storage, AI‑related endpoints, authentication. |
Admin dashboard (apps/admin) |
React 19 SPA | Web UI for owners to edit content, configure the site, and view telemetry. |
iOS client (apps/ios) |
UIKit + SwiftUI (XcodeGen) | Native admin app that talks to the server via the generated OpenAPI client. |
Push‑relay (apps/push-relay-rs) |
Rust | Stand‑alone, privacy‑preserving APNs relay for push notifications. |
Telemetry (apps/telemetry) |
Cloudflare Workers + D1 | Anonymous usage‑data collector. |
Shared SDKs (packages/*) |
TypeScript / Rust | Typed API client, CLI (mxs), database schema, Lexical editor contracts, AI event contracts, push protocol, webhook helpers, migration tool. |
How it fits together
The diagram in the README shows a typical deployment: a front‑end (e.g. the Yohaku Next.js site) talks to the Core server through the @mx-space/api-client. The admin SPA and iOS app are thin clients that also use this SDK. The server can push notification IDs to the Push Relay, which forwards them to Apple’s APNs. Telemetry is sent anonymously to a Cloudflare worker.
Getting started (developer view)
- Install Node 22+ and enable Corepack.
pnpm installto fetch all packages.- Spin up PostgreSQL and Redis with Docker (
docker compose up -d postgres redis). - Run
pnpm devfor the server (http://localhost:2333) andpnpm dev:adminfor the admin UI (http://localhost:9528). - Use the provided CLI (
mxs) for content creation and configuration, which authenticates via OIDC device flow.
Notable features
- AI contracts – The
@mx-space/aipackage defines server‑side SSE event types that clients can subscribe to for AI‑generated content or suggestions. - Typed SDK –
@mx-space/api-clientgives front‑ends full TypeScript typings, reducing runtime errors. - Modular deployment – The push relay and telemetry are separate services, allowing you to run only what you need.
- Migration tooling –
mongo-pg-clihelps move legacy MongoDB data to the new PostgreSQL schema.
Who might use it?
- Individual creators who want a self‑hosted, AI‑enhanced blog platform.
- Developers looking for a ready‑made headless CMS with a strong TypeScript ecosystem and optional native iOS admin.
- Teams that need privacy‑first push notifications (via the Rust relay).
License
Dual‑licensed under AGPL‑v3 + MIT, with additional terms in ADDITIONAL_TERMS.md.
All information above is taken directly from the repository’s README; no external assumptions have been added.
Related
- Project
- Project
- Project
- Project