A monorepo for OberonCMS and the related packages and tooling.
We use pNpm for workspace support - if you choose to use npm or yarn ymmv.
pnpm install
pnpm dev:oberon # Develop OberonCMS and all dependencies using the playground.
pnpm dev:demo # Develop the demo app and all dependencies.
pnpm dev:docs # Develop the documentation.
pnpm dev:rich-text-demo # Develop the rich text demo app and all dependencies.
pnpm tsc # Typecheck
pnpm lint:fix # Run eslint, fixing any issues
pnpm prettier:fix # Run prettier, fixing any issues
pnpm build # Build all packages
pnpm change # Add a changset entry
This Turborepo that includes the following packages and apps:
-
apps/documentation
- https://oberoncms.comLanding page and documentation for OberonCMS.
Includes a demo app.
-
apps/playground
A playground for developers to test OberonCMS.
Mostly used for local development, there is also a deployment with access limited to core contributors.
-
apps/rich-text-demo
- https://puck-rich-text.tohuhono.coman app demoing puck-rich-text
-
packages/create-oberon-app
- create-oberon-appA command line tool for creating new projects with OberonCMS.
-
packages/oberoncms/core
- @oberoncms/coreThe core package for OberonCMS.
-
packages/oberoncms/sqlite
- @oberoncms/sqliteSqlite adapter for OberonCMS.
-
packages/plugins/developement
- @oberoncms/plugin-developmentProvides local only adapters for development.
-
packages/plugins/turso
- @oberoncms/plugin-tursoA Turso libsql database plugin for OberonCMS.
-
packages/plugins/pgsql
- @oberoncms/plugin-pgsqlA PostgreSQL database plugin for OberonCMS.
-
packages/plugins/vercel-postgres
- @oberoncms/plugin-vercel-postgresA Vercel PostgreSQL database plugin for OberonCMS.
-
packages/plugins/uploadthing
- @oberoncms/plugin-uploadthingAn Puck component and OberonCMS plugin for embeding uploadthing images.
-
packages/plugins/flydrive
- @oberoncms/plugin-flydriveA plugin that provides an Image component and storage using flydrive.
-
packages/tohuhono/dev
- @tohuhono/devBase config and scripts for building packages and apps.
- TypeScript for static type checking
- ESLint for code linting
- Prettier for code formatting
- Vite for bundling
-
packages/tohuhono/utils
- @tohuhono/utilsA collection of utility functions shared across the monorepo. Particularly useful for testing.
-
packages/tohuhono/ui
- @tohuhono/uiShared UI components using Shadcn/ui and utilities including a tailwindcss theme and components for dynamicaly loading and adjusting it.
-
packages/tohuhono/puck-rich-text
- @tohuhono/puck-rich-textA puck component for rich text editing made for OberonCMS.
-
packages/tohuhono/puck-blocks
- @tohuhono/puck-blocksA collection of puck components for building pages in OberonCMS, including a collection of example Puck components.
Used by the create-oberon-app command. If you would like to support other frameworks, please get in touch as we would love to help.
-
recipes/nextjs
A Next.js starter app.
OberonCMS is an open source project and we welcome contributions from the community. You can raise an issue or submit a pull request to help us improve.
- Fork and clone the repository
- Ensure you have the LTS version of Node.js installed, as well as the latest version of pnpm.
- Install the project dependencies by running
pnpm install
. - Implement your changes, as well as any documentation or tests that are required.
- Create a changeset for your changes by running
pnpm changeset
. - Open a pull request with your changes and changeset.
We are under heavy development, building out the core capabilities. Check out our todo list for upcoming features.
Jon Vivian |
Ahmed Rowaihi |
turbobot-temp |
oberoncms |