Thank you for your interest in Bookie! Here's everything you need to get started.
- Rust (stable) — rustup.rs
- Bun — bun.sh
- Linux: Install system dependencies:
sudo apt install libwebkit2gtk-4.1-dev libappindicator3-dev librsvg2-dev patchelf libssl-dev libdbus-1-dev
- macOS: Xcode Command Line Tools (
xcode-select --install) - Windows: Microsoft C++ Build Tools, WebView2 (pre-installed on Windows 10/11)
git clone https://github.com/logscale-it/bookie.git
cd bookie
bun install
bun run tauri dev| Command | Description |
|---|---|
bun run tauri dev |
Start the app with hot-reload |
bun run check |
TypeScript / Svelte type checking |
bun run tauri build |
Production build of the desktop app |
- Svelte 5 runes syntax (
$state,$derived,$bindable) - Tailwind CSS for styling, no component library
- German UI labels, English code
- Check formatting:
bunx prettier --check "src/**/*.{svelte,ts,js,css,html}" - Apply formatting:
bunx prettier --write "src/**/*.{svelte,ts,js,css,html}"
- Check formatting:
cargo fmt --check --manifest-path src-tauri/Cargo.toml
- Apply formatting:
cargo fmt --manifest-path src-tauri/Cargo.toml
- Linting:
cargo clippy --manifest-path src-tauri/Cargo.toml -- -D warnings
- Create a branch from
master - Make small, focused commits
- Run
bun run test:alland ensure it exits 0. - Include a summary of changes in the PR description
- One feature or bugfix per PR
- Create new migrations under
src-tauri/migrations/NNNN/ - Always create a corresponding rollback migration under
NNNN_down/ - Migrations run automatically on app startup
Dependency CVE advisories surface as Dependabot pull requests, configured in
.github/dependabot.yml (monthly cadence, up to 3 open PRs per ecosystem for
npm and cargo). Review and merge them like any other PR; the local
pre-push gate (bun run test:all) is the source of truth for correctness
since GitHub Actions CI is disabled.