A modern SvelteKit monorepo with shared UI components and configuration.
This is a monorepo project built with SvelteKit that follows modern development practices. It includes:
apps/website directorypackages/ui directorypackages/config directory@repo/uiClick Use this template button on the right side or clone it as you want.
Delete the
.gitdirectory if you clone this project directly.
pnpm install
To start the development server for the website:
pnpm dev
pnpm buildpnpm testpnpm checkpnpm formatpnpm check-typespnpm previewOr update as your wish.
├── apps/
│ └── website/ # SvelteKit application
├── packages/
│ ├── config/ # Shared configuration
│ └── ui/ # Shared UI components
├── package.json # Root package.json with workspace configuration
├── pnpm-workspace.yaml # PNPM workspace configuration
└── turbo.json # Turbo configuration
apps/website: The main SvelteKit applicationpackages/config: Shared configuration, enums, and domain logicpackages/ui: Reusable UI components built with Sveltepackages/ folderpnpm init or copy an existing package structurepackage.jsonTo add new shadcn-svelte component
# To add shadcn-svelte component, run this in project root or
pnpm run shadcn <component name>
# Run this command in packages/ui directory
pnpm dlx shadcn-svelte@latest add <component name>
To add new shadcn-svelte-extra
# To add shadcn-svelte-extra component, run this in project root or
pnpm run shadcn-extra <component name>
# install jsrepo globally and run this inside packages/ui directory
jsrepo add <component name>
Consult the documentation for the component name.
The project uses Biome for code formatting and linting. You can run:
pnpm check # Check all files
pnpm format # Format all files
The website application may use environment variables. Check the .env.example file in the apps/website directory for required environment variables.
We welcome contributions from the community! Here's how you can help:
mainpnpm installgit checkout -b feature/amazing-feature)pnpm check to ensure code qualitypnpm test to ensure all tests passgit push origin feature/amazing-feature)This project uses Biome for consistent formatting and linting. Before committing, please run:
pnpm format # Format all files
pnpm check # Check for linting issues
This project is licensed under the MIT License - see the LICENSE file for details.