The suite source archive is an editable repository tree. Extract it and read the root README.md before building. Each application lives under apps/, the integration under server-patch/, and this manual’s source under manual/.…
Tags: Reference
[download original] [view raw text] — 9,177 bytes
On this page
Developer and maintainer reference
The suite source archive is an editable repository tree. Extract it and read the root README.md before building. Each application lives under apps/, the integration under server-patch/, and this manual’s source under manual/. The generated Gopher website is under docs/.
Build documentation
Follow the root maintainer instructions for the pinned Node.js 26.13.0/managed npm 12.2.2 toolchain, dependency installation, native packaging and release checks. All three public 1.4.5 applications use Electron 45.2.3 with Chromium 156.0.8078.80. The runtime’s embedded Node.js is separate from the development Node.js toolchain. Use the component’s own build guide when working on one application. Keep source code, dependency lockfiles and license notices together.
The source uses build scripts for development; the delivered Windows/Linux GUI packages launch native executables. A build script is not a portable-app launcher.
| Task | Source reference |
|---|---|
| Repository setup, release process and workflow configuration | Root README and maintainer/ |
| Reader development and packaging | apps/reader/ build documentation |
| Analytics development and packaging | apps/analytics/ build documentation |
| Alternative development and packaging | apps/alternative/docs/BUILD.md |
| Server baseline, patch and rollback | server-patch/README.md |
| Rebuild the Suite archive’s bundled manual | manual/README.md |
| Edit/rebuild the published manual website | Website checkout: _manual-source/README.md |
Native dependency sources and runtime rebuilds
The current application source archive contains the editable suite, manual, dependency lockfiles, build tools and retained notices. The desktop packages include their runtime, so normal installation does not require development source downloads.
This release preserves the pinned runtime and existing native dependencies. Their matching source offers remain at the releases where they were introduced:
| Source material | Matching offer and scope |
|---|---|
| Application source | The 1.4.5 suite Source archive, including the speech service and its preparation/build instructions |
| Electron 45.2.3 / Chromium 156.0.8078.80 | All six numbered ThreadShelf-Local-Suite-1.3.0-Runtime-Sources-01.zip through -06.zip, plus the Runtime-Sources-Metadata ZIP, in the v1.3.0 release, plus the v1.4.5 runtime source update |
| Reader ONNX Runtime 1.31.1 | The source/provenance companion identified by Reader's licenses/ONNX-SOURCE-ACCESS.md, associated with v1.3.0 |
| Unchanged Reader sharp/libvips dependencies | The v1.0.0 Native-Sources companion, reused only for its verified unchanged sharp/libvips scope |
| Speech engines, model assets and their runtime dependencies | The TTS preparation instructions, pinned asset inventory and third-party notices in each speech-enabled application's source/package |
Verify downloaded source parts with the checksum manifest from the release that supplies them. The old Electron 44.9.1 collection does not establish source coverage for Electron 45.2.3; similarly, the historical native companion does not establish ONNX Runtime 1.31.1 source coverage.
For the current Electron collection, retain all six numbered ZIPs together. Extract only the metadata ZIP, which creates source-publication/. The assembler reads the numbered ZIPs directly; do not extract their repeated PART-MANIFEST.json files over one another. With Python 3.10+:
sh
python source-publication/assemble-runtime-sources.py --manifest source-publication/final-runtime/SOURCE-MANIFEST.json --parts-dir /path/to/source-parts
To assemble a new inspectable source tree with the retained Electron patches, add --destination /path/to/new-source-tree --apply-patches. Git, symlink support and enough space for expanded sources are required. The assembler verifies and extracts retained data; it does not download sources, run upstream hooks or compile the runtime.
Apply the versioned runtime source update to the historical assembled tree using its included offline update instructions. The historical parts alone do not match Electron 45.2.3.
Read each application's licenses/ELECTRON-SOURCE-ACCESS.md for exact source revisions and platform build requirements. Reader additionally includes licenses/SOURCE-AND-REBUILD.md and licenses/ONNX-SOURCE-ACCESS.md. These guides distinguish source preservation from rebuilding and explain compatible replacement procedures. Keep source inventories, provenance, original notices and build inputs together. A source collection does not replace platform compilers, SDKs or ordinary build utilities, and does not claim byte-identical reproduction of upstream binaries.
Reader and Alternative source builds must prepare and verify the required CPU speech assets before packaging. A source-only checkout is not an installed speech runtime. Follow the component build guide and retain engine/model licenses; do not omit required assets to produce a package that advertises unavailable built-in voices.
When redistributing desktop binaries, preserve the application source, all required matching source companions or their documented accessible offers, and the source-access instructions and licenses inside each package. The suite's MIT license does not replace third-party terms.
Rebuild the manual
Both build routes require Python 3.10+ and PHP CLI 8.2+ with ctype. To rebuild the manual bundled in the Suite source archive, run from the suite root:
sh
python3 manual/build.py --check-only
python3 manual/build.py
This validates the authored content with the bundled Gopher HTTP 3.0.0 engine and builds docs/.
The separate manual website checkout includes its current authoring snapshot, galleries and screenshots under _manual-source/. Edit Markdown and metadata in _manual-source/manual/content/, then run from the website root:
sh
python3 _manual-source/rebuild.py --check-only
python3 _manual-source/rebuild.py --output ../rebuilt-manual
Choose an output directory that does not already exist. The offline wrapper restores source PNGs from the published image payloads, verifies their SHA-256 checksums and retains the current authoring snapshot in the rebuilt site. Follow _manual-source/README.md when replacing screenshots; do not overwrite website-specific captures and captions with an older Suite archive build.
On Windows, use py -3 instead of python3. Both routes accept --php PATH when PHP is outside PATH. The generated site requires neither PHP nor Python for browsing. Keep private application profiles and raw conversation exports out of public manual inputs.
Publish the GitHub repository and website
The intended repository is Davoda1/ThreadShelf-Local-Suite. Commit the extracted source tree, then use the included maintainer guide to configure GitHub Actions, the public release and GitHub Pages. Upload the current native application packages, suite Source archive, manual and preview assets and consolidated SHA256SUM.txt. Preserve the matching dependency-source offers and access links described above alongside the corresponding binaries; do not relabel historical runtime sources as a new dependency version.
The hosted manual is available at davoda1.github.io/ThreadShelf-Local-Suite-Manual. A separate public manual website repository publishes the generated docs/ files and required notices. Application sources and desktop releases remain in the public main suite repository. The built site uses relative navigation and supports the website subdirectory as well as offline browsing. For website maintenance, rebuild from that website checkout’s _manual-source/ as described above. Review the result, then synchronize the rebuilt contents with deletion of obsolete generated files while retaining its README, authoring source, current screenshots, captions and required notices.
Upstream and licensing
The suite’s original code/documentation is MIT licensed with Copyright (c) 2026 davoda1. Upstream components keep their own notices and terms. The original ThreadShelf repository supplies the server; Gopher HTTP 3.0.0 supplies this manual’s publisher. Consult the root and component license inventories for bundled rendering libraries, native dependencies, fonts and other assets.
The suite’s GitHub repository is an independent project. Attribution and dependency information establish the suite’s relationship to upstream; it is not a GitHub fork of the server.