Skip to content

Latest commit

 

History

History
84 lines (66 loc) · 2.45 KB

File metadata and controls

84 lines (66 loc) · 2.45 KB

Contributing

Thank you for your interest in Bookie! Here's everything you need to get started.

Prerequisites

  • Rust (stable) — rustup.rs
  • Bunbun.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)

Project Setup

git clone https://github.com/logscale-it/bookie.git
cd bookie
bun install
bun run tauri dev

Development

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

Code Style

Frontend (TypeScript / Svelte)

  • 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}"

Backend (Rust)

  • 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

Pull Requests

  1. Create a branch from master
  2. Make small, focused commits
  3. Run bun run test:all and ensure it exits 0.
  4. Include a summary of changes in the PR description
  5. One feature or bugfix per PR

Database Migrations

  • Create new migrations under src-tauri/migrations/NNNN/
  • Always create a corresponding rollback migration under NNNN_down/
  • Migrations run automatically on app startup

Supply-chain advisories

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.