Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 8 additions & 14 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -321,22 +321,16 @@ jobs:
cat > /tmp/release-notes.md <<- NOTE_EOF
Release ${GITHUB_REF_NAME}.

## MSIX Distribution (v1.2.0+)
## Assets

Starting with v1.2.0, Windows distribution is migrating to MSIX/App Installer.
In-app self-updating (downloading and running Setup.exe) has been removed.
Update responsibility belongs to Windows packaging, not the app itself.
### Windows
- \`OpenReader.msix\` — MSIX package. May be unsigned — requires Windows Developer Mode for sideloading.
- \`OpenReader-Setup.exe\` — Legacy Inno Setup installer for manual recovery. Requires administrator rights.
- \`OpenReader-Windows.zip\` — Portable/manual recovery ZIP.

### Assets for Windows
- **\`OpenReader.msix\`** — ✅ **Recommended for v1.2.0+.** MSIX package with App Installer support for automatic Windows-managed updates. No admin required for per-user install when signed. *(Currently unsigned — requires Windows Developer Mode for sideloading until code signing is procured.)*
- **\`OpenReader-Setup.exe\`** — ✅ **Legacy fallback.** Inno Setup installer with PDF file association, Start Menu shortcut, desktop shortcut, and Add/Remove Programs entry. Requires admin rights.
- \`OpenReader-Windows.zip\` — Portable/manual recovery package. Use only if you need a portable copy or are following SUPPORT.md recovery steps.

### Assets for macOS
- \`OpenReader-macOS-Apple-Silicon.zip\` — macOS Apple Silicon app bundle.
- \`OpenReader-macOS-Intel.zip\` — macOS Intel app bundle.

Packaged builds include the tag-injected app version and canonical release asset names.
### macOS
- \`OpenReader-macOS-Apple-Silicon.zip\` — Experimental macOS Apple Silicon app bundle.
- \`OpenReader-macOS-Intel.zip\` — Experimental macOS Intel app bundle.
NOTE_EOF

- name: Publish release
Expand Down
7 changes: 5 additions & 2 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ This repository is a local-first desktop PDF utility. Keep maintenance changes b

## Release and Update Rules

- The updater depends on GitHub Release assets, not GitHub Actions artifacts.
- The app detects updates via GitHub API and opens the releases page in a browser. It does not download or install updates.
- Canonical release assets must keep these exact names:
- `OpenReader-Windows.zip`
- `OpenReader-macOS-Apple-Silicon.zip`
- `OpenReader-macOS-Intel.zip`
- `OpenReader.msix` (MSIX package for Store submission/advanced use)
- `OpenReader-Setup.exe` (legacy Inno Setup installer)
- The Microsoft Store identity (`SparshSam.OpenReader`) is frozen — never change.
- Tag releases with `vMAJOR.MINOR.PATCH`.
- Packaged builds must inject the tag version into `main.py` via `scripts/inject_version.py`.
- Source builds may remain `-dev`.
Expand All @@ -42,7 +45,7 @@ This repository is a local-first desktop PDF utility. Keep maintenance changes b
## Documentation Rules

- README should describe shipped behavior only.
- Do not overclaim auto-update. It works for packaged builds only when canonical release assets are attached to the latest GitHub Release.
- OpenReader does not install updates itself. Store installations update automatically; GitHub MSIX installations are manual.
- Keep Mac signing/Gatekeeper caveats visible until releases are signed and notarized.

## MCP Server (AI Agent Integration)
Expand Down
30 changes: 22 additions & 8 deletions CLAUDE.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,29 @@
# PDF Reader by Sparsh — Agent Instructions
# OpenReader — Agent Instructions

## Overview

Private, local-first desktop PDF tool for reading, annotation, search, diff, and workspace restore.
Windows primary target; macOS source-build only.
Privacy-first, local-only desktop PDF utility for Windows.
macOS experimental; Linux unsupported.

## Architecture Constraints

1. **Local-first.** No cloud dependency. No network calls beyond the explicit GitHub release update check.
1. **Local-first.** No cloud dependency. No network calls beyond the optional GitHub release update check (no downloads).
2. **Privacy by design.** Treat PDFs as local/private user data. Never upload or transmit document content.
3. **Cross-platform** (Windows primary, macOS secondary).
3. **Cross-platform** (Windows primary, macOS experimental).

## Distribution and Updates

- **Microsoft Store** (in certification) — automatic updates after approval.
- **GitHub MSIX** — advanced users, unsigned, requires Developer Mode for sideloading.
- **Legacy Setup.exe** — manual recovery only.
- The app detects updates via GitHub API (opens browser). It never downloads or runs installers.

## Frozen Identity — Never Change

- Identity Name: `SparshSam.OpenReader`
- Publisher: `CN=E6186421-BF8A-47E0-A89C-0F513DFF91C0`
- PFN: `SparshSam.OpenReader_yh0byntbzd2qw`
- Store ID: `9MXDVW2645LL`

## Commands

Expand Down Expand Up @@ -42,8 +56,8 @@ python -m pytest tests/ -v
- `OpenReader-Windows.zip`
- `OpenReader-macOS-Apple-Silicon.zip`
- `OpenReader-macOS-Intel.zip`
- `OpenReader.msix` (MSIX package for beta testing/Store submission)
- `OpenReader-Setup.exe` (legacy Inno Setup installer, when published)
- `OpenReader.msix` (MSIX package)
- `OpenReader-Setup.exe` (legacy installer)
- MSIX identity (`SparshSam.OpenReader`) is frozen — never change.
- Tag releases with `vMAJOR.MINOR.PATCH`.
- Version injected from tag via `scripts/inject_version.py`.
Expand All @@ -64,7 +78,7 @@ python -m pytest tests/ -v
- ARCHITECTURE.md is the canonical architecture reference.
- VERSIONING.md documents the versioning scheme.
- Keep CHANGELOG.md updated per Keep a Changelog format.
- Keep Mac signing/Gatekeeper caveats visible until releases are signed.
- Keep Mac caveats visible for experimental platform status.

## Security Rules

Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

Thanks for your interest in improving OpenReader.

This project is source-available for non-commercial use. Contributions are accepted under the same PolyForm Noncommercial License 1.0.0 used by the project.
This project is free software. Contributions are accepted under the same [GNU AGPLv3](LICENSE) used by the project.

## Local Setup

Expand Down
Loading