Skip to content
Slicekit

Getting Started

Getting started

Clone the template, bring up local infrastructure, and run both the API and the frontend.

View .md
On this page

Prerequisites

You will need the following installed:

  • .NET 10 SDK
  • Node.js 22.12+ (or a supported newer release) and pnpm 12
  • Docker (for local infrastructure and the integration test suite)

Scaffold your project

To start a real product, use the interactive scaffold script. It clones the template and renames everything across all three apps (API, SPA and the landing site): project name, namespaces, domains, support email and API-key prefix. It also regenerates dev and prod secrets, writes the env files and reinitialises git:

curl -fsSL https://slicekit.dev/scripts/new.sh | bash

It prompts for the project name and everything else it needs, with sensible defaults. Pass --help to see every flag if you would rather set them on the command line.

It also asks whether to keep the public demo environment (default no).

Personal user notifications are included by default. Answer no at the notification prompt, or pass --no-notifications, to omit the personal inbox, email delivery and preferences. This does not remove the independent admin/operator alert system.

The MCP server, which lets AI apps such as Claude and ChatGPT connect as the signed-in person, is included by default. Answer no at the MCP prompt, or pass --no-mcp, to leave it out. See MCP and connected apps for local setup, consent and production enablement.

Or clone the template

To explore the template as-is, clone it directly:

git clone https://github.com/slicekit/slicekit.git
cd slicekit

1. Start local infrastructure

Check prerequisites, configuration and port conflicts, then start Postgres, Redis, RabbitMQ, SeaweedFS and Mailpit:

node scripts/doctor.mjs
docker compose up -d
node scripts/doctor.mjs --ready

The doctor requires Node 22.12+ (or a supported newer release), .NET 10, pnpm 12 and Docker Compose. Missing infrastructure is a warning before startup; --ready requires it to be running. Run these checks before starting the API and SPA.

Enable dashboards, traces and audit-log views with docker compose --profile observability up -d. The Apprise relay is optional too: docker compose --profile notifications up -d. The services and their ports are listed in project structure.

2. Run the API

dotnet run --project api/src/Slicekit.Api

The API starts on http://localhost:5076 (and https://localhost:5077). Its interactive OpenAPI reference is served at /scalar, and applying database migrations happens automatically on start in development.

3. Run the frontend

cd frontend
pnpm install
pnpm dev

The SPA starts on http://localhost:3003, which matches the Cors:AllowedOrigins the API allows by default.

Verify it works

In development the API automatically seeds two accounts on first startup:

Account Email Password Role
Admin admin@test.local LocalDev123! Admin
User user@test.local LocalDev123! User

Open http://localhost:3003 and sign in with either account. The admin account has full access to /admin; the user account sees the regular dashboard.

The accounts are created once (idempotent) and only in the Development environment. They are skipped entirely in production.

To promote your own account to admin instead, add its email to the Admin:AdminEmails array in api/src/Slicekit.Api/appsettings.json:

"Admin": {
  "AdminEmails": ["you@example.com"]
}

Set this before you first start the API and the account is an admin the moment you register. If the API is already running, restart it to pick up the change.

Open Grafana at http://localhost:3010 and you will see traces and metrics already flowing for the requests you just made.

The fast test loop

Most of the time you want the quick unit + architecture suite, which runs in a few seconds and needs no Docker:

dotnet test api/fast.slnf --nologo

The full suite, including integration tests backed by Testcontainers, runs with:

dotnet test api/slicekit.slnx --nologo

Next steps

Live demo

Explore the running app

No sign-up. Pick an account to open the demo with its credentials prefilled, or open it and sign in yourself.

Open without signing in

Credentials are prefilled. Shared password Slicekit-Demo-2026!.