A calm, local-first desktop PDF reader designed to make sure you remember what you read.
TypeScript
0
103 commits
updated Sep 11, 2026
Mereth Reader is a local-first desktop workspace for reading technical PDFs. It connects PDF passages and figure captures to source-linked notes, then lets you explicitly turn selected ideas into review prompts. Core data is intended to remain on the device; Mereth has no account or cloud-service dependency.
Pre-release software. Do not rely on it as the sole copy of important research. The repository contains an implemented reader, SQLite persistence, annotations, notes, review, import/recovery flows, and Markdown/JSON export paths. Those source-level capabilities are not a release validation result.
The current release gate has not been satisfied. In particular, this project does not yet have recorded evidence for the complete installed Windows journey, clean-profile restore, Windows path/activation matrix, accessibility and display scaling checks, performance measurements, or a signed installer. The precise evidence boundary and known limitations are in RELEASE_STATUS.md.
The v1 target is the offline path from PDF evidence to user-authored notes and deliberate review. Optional local AI, OCR, macOS/Linux packaging, EPUB/DjVu, sync, collaboration, and citation-management breadth are deferred.
Scanned PDFs can be viewed and area-annotated, but OCR-dependent text search and text annotations are outside v1.
package.json)pnpm is the supported package manager. Use the committed lockfile; do not
substitute npm, Yarn, or Bun.
pnpm install --frozen-lockfile
pnpm tauri:dev
Run the local gates before treating a change as demonstrated:
pnpm build
pnpm test
cargo fmt --manifest-path src-tauri/Cargo.toml --check
cargo check --manifest-path src-tauri/Cargo.toml
cargo test --manifest-path src-tauri/Cargo.toml --lib
The repository defines a Linux quality workflow for the build, frontend tests,
Rust check, and Rust unit tests. A separate workflow builds an NSIS installer
and uploads it to a draft GitHub Release when a version tag such as v0.1.4 is
pushed. The tag must match the version in src-tauri/tauri.conf.json.
Configuration is not proof of a successful run or installer behavior; verify
the workflow run and downloaded installer for each release.
pnpm tauri:build
Tauri is configured to target an NSIS installer on Windows with per-user installation and a PDF file association. The installer is unsigned unless and until a signing process is added and verified; expect Windows trust warnings for an unsigned pre-release build.
To publish the configured version after its commit is on master:
git tag v0.1.4
git push origin v0.1.4
The tag push starts the Windows release workflow. After it succeeds, download
the .exe from the draft on the repository's GitHub Releases page, validate the
installed application, and publish the draft to make the update available.
Use a new version and tag
for every later release; do not move or reuse published tags.
Node-only restart durability probe: node scripts/r3r4_durable_recovery_probe.mjs. It uses two child
processes running the production autosave coordinator with an atomic rename + fsync file store. It
verifies restart recovery and measures durable-save latency for that adapter, not Tauri/SQLite or
browser localStorage durability. The in-process recovery gate reports its separate storage scope.
103 commits
TypeScript
64.7%
Rust
26.4%
CSS
4.5%
Python
2.0%
JavaScript
1.9%
A calm, local-first desktop PDF reader designed to make sure you remember what you read.
TypeScript
0
103 commits
updated Sep 11, 2026
Mereth Reader is a local-first desktop workspace for reading technical PDFs. It connects PDF passages and figure captures to source-linked notes, then lets you explicitly turn selected ideas into review prompts. Core data is intended to remain on the device; Mereth has no account or cloud-service dependency.
Pre-release software. Do not rely on it as the sole copy of important research. The repository contains an implemented reader, SQLite persistence, annotations, notes, review, import/recovery flows, and Markdown/JSON export paths. Those source-level capabilities are not a release validation result.
The current release gate has not been satisfied. In particular, this project does not yet have recorded evidence for the complete installed Windows journey, clean-profile restore, Windows path/activation matrix, accessibility and display scaling checks, performance measurements, or a signed installer. The precise evidence boundary and known limitations are in RELEASE_STATUS.md.
The v1 target is the offline path from PDF evidence to user-authored notes and deliberate review. Optional local AI, OCR, macOS/Linux packaging, EPUB/DjVu, sync, collaboration, and citation-management breadth are deferred.
Scanned PDFs can be viewed and area-annotated, but OCR-dependent text search and text annotations are outside v1.
package.json)pnpm is the supported package manager. Use the committed lockfile; do not
substitute npm, Yarn, or Bun.
pnpm install --frozen-lockfile
pnpm tauri:dev
Run the local gates before treating a change as demonstrated:
pnpm build
pnpm test
cargo fmt --manifest-path src-tauri/Cargo.toml --check
cargo check --manifest-path src-tauri/Cargo.toml
cargo test --manifest-path src-tauri/Cargo.toml --lib
The repository defines a Linux quality workflow for the build, frontend tests,
Rust check, and Rust unit tests. A separate workflow builds an NSIS installer
and uploads it to a draft GitHub Release when a version tag such as v0.1.4 is
pushed. The tag must match the version in src-tauri/tauri.conf.json.
Configuration is not proof of a successful run or installer behavior; verify
the workflow run and downloaded installer for each release.
pnpm tauri:build
Tauri is configured to target an NSIS installer on Windows with per-user installation and a PDF file association. The installer is unsigned unless and until a signing process is added and verified; expect Windows trust warnings for an unsigned pre-release build.
To publish the configured version after its commit is on master:
git tag v0.1.4
git push origin v0.1.4
The tag push starts the Windows release workflow. After it succeeds, download
the .exe from the draft on the repository's GitHub Releases page, validate the
installed application, and publish the draft to make the update available.
Use a new version and tag
for every later release; do not move or reuse published tags.
Node-only restart durability probe: node scripts/r3r4_durable_recovery_probe.mjs. It uses two child
processes running the production autosave coordinator with an atomic rename + fsync file store. It
verifies restart recovery and measures durable-save latency for that adapter, not Tauri/SQLite or
browser localStorage durability. The in-process recovery gate reports its separate storage scope.
103 commits
TypeScript
64.7%
Rust
26.4%
CSS
4.5%
Python
2.0%
JavaScript
1.9%