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.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
hh
2026-08-27 23:22:18 +02:00
co-authored by Claude Fable 5
parent 0e7dc263ad
commit e4282b38cd
31 changed files with 1449 additions and 7 deletions
+22
View File
@@ -0,0 +1,22 @@
## Code Principles
- **Simplicity**: Write simple, straightforward code
- **Readability**: Make code easy to understand
- **Maintainability**: Write code that's easy to update
- **Less Code = Less Debt**: Minimize code footprint
- **NEVER write comments** - code should be self-documenting
## Layout
- `src/beaver_gateway` - python, unopinionated primitives (no vault paths, no agent names)
- `ui` - SvelteKit SPA (admin + Obsidian panel), served by the gateway from `ui/build`
- `docs/MISSION.md`, `docs/PRD.md`, `docs/PLAN.md`, `docs/PROGRESS.md` - keep PROGRESS.md current
## Checking commands
After writing code, always run (or `make check`):
```shell
ruff format # python formatter
ruff check --fix # python linter
ty check # python type-checker
cd ui && bun fix # frontend linter+formatter (ultracite)
cd ui && bun check # svelte-check
```
Dependencies: `uv add` / `cd ui && bun add`, never edit lock files by hand.