Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
Official Turborepo starter with two SvelteKit apps, a shared UI library, and ESLint/TypeScript configs.
The Turborepo Svelte Starter is an official monorepo template maintained by the Turborepo core team that scaffolds two SvelteKit applications, a shared Svelte component library, and reusable ESLint and TypeScript configurations, all written in TypeScript.
This starter demonstrates how to structure a multi-app JavaScript/TypeScript repository using Turborepo, a build system written in Rust. It is distributed through the Turborepo GitHub repository and can be scaffolded with npx create-turbo@latest -e with-svelte. The generated repository contains two SvelteKit apps named docs and web, a ui package that serves as a stub Svelte component library, an eslint-config package, and a typescript-config package.
docs and web apps are both built on SvelteKit, giving you a ready-made structure for two front-end applications that share code.ui package provides a stub Svelte component library consumed by both apps; it explicitly supports Svelte runes in .svelte.ts files, which the default SvelteKit generated tsconfig does not cover.eslint-config package bundles eslint-plugin-svelte and eslint-config-prettier, letting all apps and packages use a consistent linting configuration.typescript-config package contains a custom tsconfig file that can be referenced by every app and package in the monorepo.ui, eslint-config, and typescript-config packages.docs and web SvelteKit apps can be developed and deployed independently while still sharing the ui component library.ui package is a starting point for compiling Svelte components, including runes support, before publishing to a package registry.Run npx create-turbo@latest -e with-svelte to clone the starter. After scaffolding, the monorepo contains the apps and packages directories. Each app or package defines its own workspace, and Turborepo's cache and task runner coordinate commands like build, lint, and test across all of them.
Yes, the starter is part of the open-source Turborepo repository maintained on GitHub by the Turborepo core team. You can use it as a starting point for your own projects.
The ui package is a stub Svelte component library shared by both the docs and web apps. It is intentionally minimal, but it demonstrates how to package Svelte components and handle .svelte.ts runes files.
The starter includes two SvelteKit applications: docs and web. Both are TypeScript apps, and they consume the local ui package.
TypeScript for type checking, ESLint for linting, and Prettier for formatting are already configured. The ESLint setup includes eslint-plugin-svelte and eslint-config-prettier.
