Menu
Bercail docs

Development

Requires Bun. prek comes in as a dev dependency.

bun install   # also installs the git hooks
bun dev
CommandWhat it does
bun run checkType check
bun run lintLint with Biome
bun run lint:fixLint and apply fixes
bun run formatFormat TypeScript, Svelte and Markdown
bun run testRun the test suite
bun run screenshotsRegenerate the screenshots in docs/images/
bun x prek run -aRun every git hook against the whole repository

The hooks format, lint, type check and test on commit, scan for secrets and typos, and require Conventional Commits messages.

#Screenshots

bun run screenshots builds the app, starts it on a blank database and drives it with Playwright: it restores a backup of common homelab apps, connects Umami, then captures the dashboard, the search palette, Settings and the appearance options in light and dark. A local stand-in answers the link checks and the Umami API, so nothing outside your machine is needed besides the weather and the icons. Run bunx playwright install chromium once first.

It then runs bun run graphics, which frames dashboard-dark.webp in a browser window next to a tagline and writes feature.webp: the README hero and the project image on orochibraru.com. Run it alone to re-lay the hero without retaking the shots.

CI reruns both after every release and commits the result to main, so images changed in a pull request get overwritten by the next release.

#Stack

SvelteKit 3 (prerelease) on Bun with remote functions, SQLite with Drizzle ORM, Tailwind CSS and shadcn-svelte components.

This guide lives in the project repo: edit it there, and this page follows with the next release.