Skip to main content

Structure

A high-level map of the application structure, content model, and delivery flow.

Lucidity.js is a monorepo. This means it has several applications and packages that live in a single repository. This structure is widely used in modern web applications because it lets you reuse code across different parts of the application, while managing it altogether.

The monorepo is managed by pnpm workspaces and Turborepo, which are tools for managing monorepos. They provide a simple way to manage multiple packages in a single repository, and are designed to work with modern web applications.

Applications

Out of the box, Lucidity.js has three apps, found under apps/. Each app is self-contained and can be deployed independently.

Apps must stay independent of one another and not import code from other apps.

Packages

Lucidity.js also comes with a number of packages, found under packages/. These packages isolate shared code from the apps, making it easier to manage, update, and re-use.

That separation also makes it straightforward to replace an implementation when required.

Packages must be self-contained and avoid depending on other packages. They should expose what apps need, such as middleware, hooks, and components. Packages may be imported into any apps.

Edit this page on GitHub

Last updated: 01 May 2026, 16:39:50

Was this helpful?

On this page