This is a monorepo managed with pnpm that includes a headless CMS powered by Strapi and a frontend application built with Next.js. The structure supports scalable development using reusable packages and shared tooling.
- Monorepo manager: pnpm Workspaces
- Frontend: Next.js
- CMS: Strapi
- Linting: ESLint
- Formatting: Prettier
- Git hooks: Husky
- Pre-commit checks: lint-staged
From the root of the monorepo, you can run:
Command | Description |
---|---|
pnpm install |
Install all workspace dependencies |
pnpm dev |
Start dev mode (run this inside each app) |
pnpm format |
Format code using Prettier |
pnpm lint |
Run ESLint (fails on warnings or errors) |
pnpm prepare |
Initialize Husky for Git hooks |
ESLint
andPrettier
are integrated.- The following file types are automatically checked and formatted on commit:
- JavaScript, TypeScript, JSX, TSX:
*.{js,cjs,mjs,ts,jsx,tsx}
- JSON, Markdown, CSS:
*.{json,md,css}
- JavaScript, TypeScript, JSX, TSX:
These checks are powered by lint-staged
and enforced via Husky Git hooks.
The packages inside packages/
are internal by default, but can be configured for external publishing if needed.