bol-svelte Svelte Themes

Bol Svelte

Bread of Life - Local-first Linux desktop Bible companion app

Bread of Life

Linux-first, local-first desktop Bible companion built with Tauri v2 + SvelteKit (TypeScript), SQLite (WAL + FTS5), and a minimal, atomic package structure. This repo is intentionally organized to be LLM-friendly, with schema-first contracts and small, focused packages.

Date scaffolded: 2025-08-17

Monorepo layout

bread-of-life/
  apps/desktop/              # SvelteKit frontend (Tailwind + daisyUI + Bits UI + Melt UI hooks)
  crates/
    bible-ingest/            # Rust lib: OSIS/USFM ingestion -> SQLite
    search/                  # Rust lib: (future) Tantivy index support
  docs/
    ADR/                     # Architecture Decision Records
    SPEC.md                  # Main product spec (v1)
    SPEC-ADDENDUM.md         # Spec templates for atomic units
    assets.yml               # Bundled and user-added content, licenses, attribution
  packages/
    core/                    # Domain types (TS), Zod schemas, enums
    prompts/                 # Prompts/specs for AI agents (MCP optional)
    ui/                      # Svelte components (thin abstractions; prefer Bits/Melt)
  resources/
    devotionals/             # Public-domain devotional datasets or import scripts
    fonts/                   # Suggested font stacks (Charis SIL / Inter / Noto)
  src-tauri/                 # Tauri v2 (Rust) backend, migrations, plugins
  .editorconfig
  .gitignore
  justfile
  pnpm-workspace.yaml
  package.json
  Cargo.toml

Quick start (two terminals; dev URL approach)

  1. Install deps:

    pnpm i --recursive
    
  2. Frontend dev (Terminal A):

    pnpm -C apps/desktop dev
    
  3. Desktop shell (Terminal B):

    # Uses devUrl http://localhost:5173 from Tauri
    cargo run -p bread-of-life-tauri
    

First launch will initialize ~/.local/share/bread-of-life/ and db.sqlite (WAL + FTS5) and run migrations.

Packaging (Linux)

  • AppImage / .deb / .rpm via Tauri bundler:
    pnpm -C apps/desktop build
    cargo tauri build
    

UI libraries

  • Behavior primitives: Bits UI and/or Melt UI
  • Styling: TailwindCSS + daisyUI (explicit classes; diff-friendly)
  • Selective complex widgets: shadcn-svelte (own the source for tables/date pickers)

Data

  • SQLite (WAL) for all structured data; FTS5 for search v1.
  • Journals are Markdown files on disk; DB stores metadata (tags, created_at, updated_at, links to verses).
  • Seed with public-domain devotionals and at least one PD Bible translation.
  • No cloud data. Export/import tarball provided later.

Top categories

svelte logo

Need a Svelte website built?

Hire a professional Svelte developer today.
Loading Svelte Themes