Document Libre Study project state

This commit is contained in:
2026-07-15 17:43:15 -05:00
parent ddd7e869ef
commit 759a75f50e
4 changed files with 120 additions and 9 deletions
+25 -9
View File
@@ -1,6 +1,6 @@
# Libre Study Conventions
Libre Study is the desktop-first Bible study application. Its job is to provide a fast, local, searchable, taggable study workspace that can consume normalized Bible and study-resource packages from `libre-bible-data`.
Libre Study is the platform-agnostic Bible study application. Its job is to provide a fast, searchable, taggable study workspace that can consume normalized Bible and study-resource packages from `libre-bible-data` while staying open-source and free to use where licensing permits.
## Repository Role
@@ -12,6 +12,9 @@ Libre Study is the desktop-first Bible study application. Its job is to provide
## Development Workflow
- Local development happens in the workspace repo on drive `W:`.
- During active product shaping, HotView/hot reload is the primary test loop. Do not spend cycles on web builds, local builds, installer builds, or hosted deployments unless Jason explicitly asks for a release/deploy pass.
- HotView should stay reachable on the private Tailscale/local intranet, not the public internet. The normal connected-device URL is `http://desktop:5174/`.
- Vite HMR should use the machine's Tailscale IPv4 address when available, with `VITE_HMR_HOST` as the private-address override.
- The Christ Unscripted Gitea remote is the remote backup, collaboration, and publishing copy.
- Do not treat work as durable until it is committed locally and pushed to Gitea.
- Every named implementation phase should bump the app version and be recorded in Git both locally and remotely.
@@ -32,7 +35,7 @@ npm.cmd run dev:web
npm.cmd run dev:tauri
```
- Use packaged builds only when testing installers, app signing, updater behavior, or desktop release behavior.
- Use packaged builds only when testing installers, app signing, updater behavior, desktop release behavior, or an explicitly requested release/deploy pass.
- Browser dev mode may use mock/localStorage data. Tauri mode should use the native SQLite-backed commands.
- If a command starts failing because of PowerShell, Bash, WSL, quoting, heredocs, pipes, regexes, `$` variables, or nested shell layers, stop retrying the same command shape. Move the logic into a script file or use argv-style execution.
- Prefer PowerShell for normal Windows-local Node/Tauri work in this repo. Use WSL Bash only when a tool or script is genuinely Linux-oriented.
@@ -78,10 +81,11 @@ git@git.christit.com:libre-study/libre-study.git
## Product Direction
- First target: Windows desktop.
- First study source: KJV with Strong's-linked data.
- Core experience: parallel reading, search, tags, notes, highlights, Strong's lookup, and saved study workspaces.
- Later targets may include macOS, Linux, web/PWA, and mobile, but do not let those future targets compromise the desktop study workflow.
- Product goal: a full-featured, open-source, free-to-use Bible study program where public resources are reusable and license-attributed.
- Current lead lane: HotView/browser development on the private Tailscale/local intranet.
- Platform target: one shared app core with adapters for browser/HotView, hosted web, Tauri desktop, and later PWA/mobile surfaces.
- Core experience: page-first reading, search, tags, notes, highlights, Strong's lookup, maps, audio, exports, and saved study workspaces.
- Desktop should remain account-optional/offline-capable when that lane resumes. Hosted web may add accounts, persistence, and collaboration after the single-user workflow is proven.
## Engineering Rules
@@ -90,11 +94,23 @@ git@git.christit.com:libre-study/libre-study.git
- Do not hardcode Windows-only paths in app logic unless wrapped behind a platform adapter.
- Treat installer output as a release artifact, not a normal development artifact.
- Public release readiness is separate from internal app maturity. A build can be useful for local testing without being ready for public distribution.
- Run at minimum:
- For normal HotView feature work, run the checks relevant to touched code, typically:
```powershell
npm.cmd run lint
npm.cmd run build
npx.cmd tsc --noEmit -p tsconfig.app.json
```
before considering app changes complete.
- For Vite config or Node-side tooling changes, also run:
```powershell
npx.cmd tsc --noEmit -p tsconfig.node.json
```
- For Tauri/Rust changes, run:
```powershell
cargo test
```
- Do not run builds as routine validation during HotView development unless explicitly requested.