Skip to main content

Getting Started

Installation & Quick Start

Install sveltekit-admin and wire it into your SvelteKit hooks in three lines of code.


Install

npm install sveltekit-admin 
npm install sveltekit-admin 
pnpm add sveltekit-admin 
pnpm add sveltekit-admin 
bun add sveltekit-admin 
bun add sveltekit-admin 
yarn add sveltekit-admin 
yarn add sveltekit-admin 

Quick start (3 lines!)

Add the admin handler to your hooks

// src/hooks.server.ts
import { createAdminHandler } from 'sveltekit-admin';
import { prisma } from '$lib/server/prisma';

export const handle = createAdminHandler({ prisma });
// src/hooks.server.ts
import { createAdminHandler } from 'sveltekit-admin';
import { prisma } from '$lib/server/prisma';

export const handle = createAdminHandler({ prisma });

Start your dev server

npm run dev
npm run dev

Open /admin

That’s it — no routes to create. You’ll see a dashboard with model statistics, list views with pagination, and auto-generated create/edit forms for every model in your Prisma schema.

Using it alongside existing auth

If you already have an auth handler, combine the two with SvelteKit’s sequence:

import { createAdminHandler } from 'sveltekit-admin';
import { sequence } from '@sveltejs/kit/hooks';
import { prisma } from '$lib/server/prisma';

const authHandle = async ({ event, resolve }) => {
	event.locals.session = await getSession(event);
	return resolve(event);
};

const adminHandle = createAdminHandler({
	prisma,
	authCheck: (event) => {
		return event.locals.session?.user?.role === 'admin';
	}
});

export const handle = sequence(authHandle, adminHandle);
import { createAdminHandler } from 'sveltekit-admin';
import { sequence } from '@sveltejs/kit/hooks';
import { prisma } from '$lib/server/prisma';

const authHandle = async ({ event, resolve }) => {
	event.locals.session = await getSession(event);
	return resolve(event);
};

const adminHandle = createAdminHandler({
	prisma,
	authCheck: (event) => {
		return event.locals.session?.user?.role === 'admin';
	}
});

export const handle = sequence(authHandle, adminHandle);

See Authentication for more on authCheck, and Configuration Reference for the full set of options createAdminHandler accepts.