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
+55
View File
@@ -0,0 +1,55 @@
{
"$schema": "./node_modules/@biomejs/biome/configuration_schema.json",
"extends": ["ultracite/biome/core", "ultracite/biome/svelte"],
"javascript": {
"globals": ["Bun"]
},
"linter": {
"rules": {
"performance": {
"noNamespaceImport": "off"
}
}
},
"overrides": [
{
"includes": ["**/*.svelte"],
"linter": {
"rules": {
"correctness": {
"noUndeclaredVariables": "off",
"noUnusedFunctionParameters": "off",
"noUnusedVariables": "off"
},
"style": {
"useFilenamingConvention": "off"
},
"a11y": {
"noSvgWithoutTitle": "warn",
"useButtonType": "warn"
}
}
}
},
{
"includes": ["src/app.d.ts"],
"linter": {
"rules": {
"style": {
"noNamespace": "off"
}
}
}
},
{
"includes": ["src/app.html"],
"linter": { "enabled": false },
"formatter": { "enabled": false }
},
{
"includes": ["src/lib/components/ui/**"],
"linter": { "enabled": false },
"assist": { "enabled": false }
}
]
}