Skeleton: For Svelte-Native UI
While you can use any CSS framework with SvelteKit, Skeleton feels like a natural extension of the ecosystem. It’s a UI toolkit built from the ground up for Svelte and Tailwind CSS. Skeleton provides a collection of adaptive and accessible components
that you can quickly drop into your projects. Unlike some libraries that just offer pre-styled components, Skeleton functions as a full design system. It includes a theme generator that lets you define your color palette and design tokens, ensuring brand consistency without wrestling with config files. For developers who want to build beautiful, consistent, and accessible interfaces rapidly, Skeleton offers a robust foundation that integrates seamlessly with SvelteKit's server-side rendering and component-based architecture.
Superforms: For Pain-Free Forms
Forms are a fundamental part of most web applications, but they often come with a headache of managing state, validation, and error handling. Superforms is a SvelteKit-first library designed to solve exactly this problem. Its core strength is centralizing your validation logic using popular schema libraries like Zod or Valibot. You define your data shape once, and Superforms handles the rest, providing full type safety for both server-side and client-side validation. It elegantly integrates with SvelteKit's progressive enhancement philosophy, meaning your forms work perfectly even without JavaScript. Features like auto-focusing on fields with errors and detecting unsaved changes make for a much smoother user experience, letting you build complex, robust forms with surprising ease.
TanStack Query: For Advanced Data Fetching
SvelteKit's built-in `load` functions and `fetch` API are powerful for server-side data fetching. However, for complex client-side data management—involving caching, re-fetching, and synchronizing server state—a more specialized tool is invaluable. Enter TanStack Query (formerly Svelte Query). While SvelteKit handles the initial data load, TanStack Query excels at managing the lifecycle of that data on the client. It simplifies fetching, caching, and updating asynchronous data without you having to write complex state management logic. It's particularly useful in applications with dynamic data that changes frequently, providing a better user experience by keeping the UI snappy and up-to-date while reducing network requests.
Playwright: For End-to-End Testing
SvelteKit comes with first-class support for Vitest, a fantastic tool for unit and component testing. But to ensure all the pieces of your application work together correctly from a user's perspective, you need end-to-end (E2E) testing. Playwright is the officially recommended tool for this in the Svelte ecosystem. It allows you to write scripts that automate a real browser, simulating user interactions like clicking buttons, filling out forms, and navigating between pages. This helps you catch bugs in your complete, assembled application that unit tests might miss. With Playwright, you can test critical user flows across different browsers, ensuring your SvelteKit app is robust and reliable before you deploy it to production.
Supabase: For a Complete Backend
SvelteKit is a full-stack framework, but you still need a database and authentication solution. Supabase provides a seamless backend-as-a-service (BaaS) that pairs beautifully with SvelteKit. It offers a Postgres database, user authentication, file storage, and auto-generated APIs, all in one platform. The official Supabase SvelteKit library makes integration incredibly simple, handling things like server-side auth and client-side session management for you. For developers who want to build full-stack applications without the overhead of managing their own backend infrastructure, combining SvelteKit and Supabase is a powerful and increasingly popular choice, as seen in many starter templates. It's like having a dedicated backend team, but in the form of an easy-to-use service.













