A Next.js 15+ TypeScript monorepo starter kit featuring:
-
HeroUI component library
-
Tailwind CSS v4 with customized plugin
-
Sanity CMS Studio for content management
-
Flags SDK for feature flags
-
Localization and internationalization support
-
Performance best practices (Turbopack, caching, ISR)
- Project overview
- Prerequisites
- Getting Started
- Environment Variables
- Project Structure
- Packages Overview
- Available Scripts
- Architecture & Technologies
- Quality Gates
- Contributing
- License
Project name: Mondo Lite
Owners: Platform / Project Owner (fill in CODEOWNERS)
Slack/Comms: #platform or project channel
Live URLs: preview via Vercel; production via Vercel/AWS (per project)
Summary: Mondo Lite is a white‑label Next.js + Sanity starter that provides a production‑ready foundation (routing, CMS, design system, theming, CI, auth stubs) for quickly shipping client sites. The repository is opinionated about stack choices and quality gates so teams can move fast while keeping consistency.
Goals / success metrics:
- Setup time: < 60 minutes
- First page + CMS sync: < 15 minutes
- Predictable CI checks and passing Quality Gates on PRs
Where to find detailed docs:
README.frontend.md
README.cms.md
README.architecture.md
README.environments.md
- Node.js >= 18.x
- pnpm >= 7.x
- Git CLI
- Clone the repository:
git clone https://github.com/your-org/mondolite-boilerplate.git cd mondolite-boilerplate
- Install dependencies:
pnpm install
- Copy environment variables:
cp .env.example .env.local
- Update
.env.local
with credentials (see.env.example
)
All environment variables are defined in .env.example
. Do not commit secrets; use your hosting provider's secret store for production credentials.
mondolite-boilerplate/
├─ apps/
│ ├─ web/ # Next.js application (frontend)
│ └─ studio/ # Sanity CMS Studio (content backend)
├─ packages/ # shared packages (ui, config, utils)
├─ .env.example
├─ package.json
└─ README.md
- Next.js (App Router), TypeScript, Turbopack, Tailwind v4, HeroUI.
- Flags SDK and Sanity for content.
- Sanity Studio configured; schemas live in
packages/studio/schemaTypes
.
Root scripts:
pnpm dev # Start web and studio (local)
pnpm build # Build all packages
pnpm start # Start web in production
pnpm lint
pnpm format
pnpm test
Web package:
pnpm --filter web dev
pnpm --filter web build
pnpm --filter web start
pnpm --filter web lint
Studio package:
pnpm --filter studio dev
pnpm --filter studio build
pnpm --filter studio deploy
- Monorepo: pnpm workspaces + Turbo
- Frontend: Next.js (App Router), Server Components where applicable
- Styling: Tailwind v4, HeroUI component wrappers
- CMS: Sanity (GROQ, next-sanity)
- Feature flags: Vercel Flags SDK
These commands should run successfully in CI for PRs:
- Type check:
pnpm typecheck
(tsc --noEmit) - Format:
pnpm format
- Lint:
pnpm lint
- Tests:
pnpm test
- Sanity schema validate:
pnpm -F @apps/studio schema:validate
- Build:
pnpm build
- Follow Conventional Commits. Fork → feature branch → PR.
- Include tests, stories, and docs for new components.
- Use ADRs (
/adr
) for architectural changes.
MIT © Mondo Robot