Overview
The rootpackage.json declares workspaces:
Dependency Graph
Applications
apps/server
The Elysia HTTP server is the core of MDCMS. It exposes the REST API for content CRUD, schema registry, authentication, media uploads, webhooks, and environment management.
Key dependencies: Elysia, Drizzle ORM, better-auth,
@mdcms/shared, @mdcms/modules.
apps/cli
The command-line tool for managing MDCMS projects from your terminal or CI/CD pipelines.
Available commands:
Dependencies:
@mdcms/shared, @mdcms/modules.
apps/studio-example
A demo Next.js application that embeds the
<Studio /> component from @mdcms/studio. Used for local development and testing of the Studio UI. Not published to any registry.
Dependencies: @mdcms/studio, @mdcms/sdk.
Shared Packages
packages/shared
The foundational package that all other packages depend on. Contains contracts, types, and utilities shared across the entire monorepo.
Key exports:
packages/sdk
The TypeScript client SDK for querying MDCMS content from your application at build time or runtime.
Key exports:
Dependencies:
@mdcms/shared.
packages/studio
The embeddable React UI component that provides the full visual editing experience — dashboard, content editor, media management, and settings.
Built with:
Dependencies:
@mdcms/shared.
packages/modules
The module registry that provides extensibility. Modules can register server actions, CLI commands, and Studio UI extensions.
Built-in modules:
Dependencies:
@mdcms/shared.