This is a monorepo for a web application, containing a Next.js frontend and a KeystoneJS CMS.
- Monorepo Management: Yarn Workspaces & Lerna
- Package Manager: Yarn
- Frontend: Next.js 15 (with Turbopack) & React 19
- CMS: KeystoneJS 6
- Language: TypeScript
- Linting & Formatting: Biome
- Git Hooks: Husky, lint-staged, commitlint
The repository is structured as a monorepo with the following packages:
packages/cms
: The KeystoneJS content management system.packages/frontend
: The Next.js frontend application.
-
Clone the repository:
git clone <repository-url> cd www-public-monorepo
-
Install dependencies: From the root of the project, run:
yarn install
You can run the frontend and CMS in separate terminals for development.
To start the KeystoneJS development server:
yarn workspace www-cms dev
The CMS will be available at http://localhost:3000
(or as configured).
To start the Next.js frontend development server with Turbopack:
yarn workspace www-frontend dev
The frontend will be available at http://localhost:3001
(or the next available port if 3000 is taken by the CMS).
yarn lint
: Check for linting and formatting errors across the entire project.yarn lint:fix
: Automatically fix linting and formatting errors.yarn build:frontend
: Build the frontend application for production.yarn version:bump
: Create a new version of the packages using Lerna.