feat(ui,infra): SvelteKit ui scaffold, Makefile, pre-commit, claude hooks

ui/: SvelteKit 2 + Svelte 5 + Tailwind 4 + shadcn-svelte (luma, lucide)
on bun with ultracite; adapter-static with SPA fallback; theme tokens
taken from msos. Dockerfile gains a bun stage that builds ui/build.
Makefile and pre-commit cover ruff, ty, ultracite and svelte-check;
.claude settings run the matching fixer after edits. docs/PRODUCT.md
captures product truth for the UI work.
This commit is contained in:
hh
2026-08-27 23:22:18 +02:00
parent 0e7dc263ad
commit d33039f497
31 changed files with 1449 additions and 7 deletions
+19
View File
@@ -0,0 +1,19 @@
import adapter from "@sveltejs/adapter-static";
import { sveltekit } from "@sveltejs/kit/vite";
import tailwindcss from "@tailwindcss/vite";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [
tailwindcss(),
sveltekit({
adapter: adapter({ fallback: "index.html" }),
compilerOptions: {
// Force runes mode for the project, except for libraries. Can be removed in svelte 6.
runes: ({ filename }) =>
// biome-ignore lint/performance/useTopLevelRegex: svelte default
filename.split(/[/\\]/).includes("node_modules") ? undefined : true,
},
}),
],
});