A comprehensive monorepo template following project rules with multiple applications, shared services, and proper structure.
.
├── apps/
│ └── sample/
│ ├── frontend/ # SvelteKit frontend application
│ ├── backend/ # Rust backend API server
│ └── docs/ # Docusaurus documentation
├── shared/
│ └── docs/ # Unified documentation for shared services
├── pnpm-workspace.yaml # pnpm workspace configuration
├── package.json # Root package configuration
├── turbo.json # Turborepo configuration
└── tsconfig.json # Root TypeScript configuration
- Node.js >= 18.0.0
- pnpm >= 8.0.0
- Rust (for backend development)
# Install all dependencies
pnpm install# Run frontend
pnpm sample:fr dev
# Run backend
pnpm sample:be dev
# Run app documentation
pnpm sample:docs start
# Run shared documentation
pnpm --filter shared-docs start# Build all components
pnpm build
# Build specific component
pnpm sample:fr build
pnpm sample:be build
pnpm sample:docs build- Frontend (
apps/sample/frontend): SvelteKit with SSR, Tailwind CSS v4 - Backend (
apps/sample/backend): Rust API server with Axum - Documentation (
apps/sample/docs): Docusaurus documentation site
pnpm sample:fr <command>- Run frontend commandspnpm sample:be <command>- Run backend commandspnpm sample:docs <command>- Run app documentation commandspnpm build- Build all packages and apps (via Turborepo)pnpm dev- Start all apps in development mode (via Turborepo)pnpm lint- Lint all packages and appspnpm test- Run tests across all packagespnpm format- Format code with Prettier
This monorepo follows strict project rules:
- pnpm workspaces - Package manager and workspace configuration
- Turborepo - Build orchestration and caching
- SvelteKit - Frontend framework (SSR)
- Rust - Backend language
- Docusaurus - Documentation framework
- Tailwind CSS v4 - Styling framework
- App Structure: All apps MUST be in
apps/{name}/{frontend,backend,mobile,docs} - Shared Services: Global services go in
shared/folder - Documentation: Every app MUST have a
docsdirectory with Docusaurus - Package Manager: MUST use pnpm, not npm or yarn
- Frontend: MUST use SvelteKit with SSR adapter
- Backend: MUST use Rust or Python
- Testing: MUST include Playwright for frontend, comprehensive tests for backend
- pnpm-workspace.yaml: Workspace package discovery
- Turborepo: Build pipeline and caching
- TypeScript: Type safety across TypeScript projects
- Prettier: Code formatting
- ESLint: Linting configuration
- Follow the project structure rules
- Use pnpm for all package management
- Include tests for all new features
- Update documentation as needed
- Follow commit message standards
This project is a template and can be used freely.