Document Libre Study project state
This commit is contained in:
+25
-9
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user