89f9f0450447c76c86012e6df15682e48cbff516
Implemented Shadcn-style scrollbars for scrollable areas in the app shell. Adjusted scrollbar width and colors for both light and dark themes to enhance user experience and visual consistency.
Base
Svelte 5 + SvelteKit project with shadcn-svelte and PocketBase (auth), using Bun. Homepage with links to prism, tasgrid, stackq, and hrm.
Stack
- Svelte 5 with SvelteKit 2
- Tailwind CSS v4 via
@tailwindcss/vite - shadcn-svelte (new-york style, slate base)
- PocketBase — auth at
https://pocketbase.ccllc.pro
Develop
bun install # if needed
bun run dev
Open http://localhost:5173. Unauthenticated users are redirected to /login.
Login
- Login:
/login— email + password. - Logout: header dropdown → “Log out” or visit
/logout. - Auth is stored in a
pb_authcookie and restored insrc/hooks.server.ts.
PocketBase
- Client:
import { pb } from '$lib/pocketbase'for browser-side API. - Server: use
event.locals.pbandevent.locals.userin load functions and form actions. - Configure URL via
VITE_POCKETBASE_URL(build/env) and insrc/lib/pocketbase.ts/src/hooks.server.ts.
Homepage
Links to:
Add more components
bunx shadcn-svelte@latest add <component-name>
Build
bun run build
bun run preview # preview production build
CI
.github/workflows/ci.yml runs on push/PR to main:
- PRs: build only (Bun,
bun run build). - Push to main: build, then deploy via rsync and restart with pm2 (app name
base).
Set repo secrets: DEPLOY_USER, DEPLOY_PASSWORD, DEPLOY_HOST (or use env DEPLOY_HOST), DEPLOY_PATH (or env), DEPLOY_SSH_PORT (optional), VITE_POCKETBASE_URL (optional).
Description
Languages
JavaScript
94.6%
Svelte
3.5%
TypeScript
1.6%
CSS
0.3%