Skip to content

File audit + one-file install bundle (mailpress-installer.zip) - #4

Closed
Turetsky wants to merge 2 commits into
mainfrom
claude/install-bundle
Closed

File audit + one-file install bundle (mailpress-installer.zip)#4
Turetsky wants to merge 2 commits into
mainfrom
claude/install-bundle

Conversation

@Turetsky

Copy link
Copy Markdown
Owner

Summary

File audit: Removed assets/icon-preview-256.png (only ever used once to show you the icon — not consumed by build or runtime). Everything else in the repo (cli.mjs, the 11 files in lib/, print-files.ps1, config.example.json, assets/icon.{svg,ico}, scripts/build.mjs, .github/workflows/release.yml) has a clear single role.

Install bundle:

  • scripts/build.mjs now writes dist/INSTALL.txt — plain-text install guide + command reference, so anyone who unzips the bundle has everything they need on paper without internet.
  • .github/workflows/release.yml zips dist/ into mailpress-installer.zip (PowerShell Compress-Archive) and attaches it to both the workflow artifact and the GitHub Release. One-click download, unzip, double-click mailpress.exe.
  • README.md install section updated to point at the single zip and shows what's inside.

After this lands, tagging v0.1.0 on main will trigger CI to publish a release with mailpress-installer.zip as the primary download.

Test plan

  • node scripts/build.mjs produces dist/ with INSTALL.txt included
  • INSTALL.txt content reads cleanly (no CRLF, no mojibake)
  • CI builds successfully (will verify on this PR run)
  • After merge: tag v0.1.0, confirm release page shows mailpress-installer.zip as a single download

https://claude.ai/code/session_01CfsRS2PZ4t8RUnhPdVEWHF


Generated by Claude Code

claude added 2 commits May 26, 2026 16:58
Audit: only one file in the repo wasn't earning its keep —
assets/icon-preview-256.png was generated once for documentation and
never used by build or runtime. Removed. Everything else (cli.mjs,
lib/* x11, print-files.ps1, config.example.json, assets/icon.{svg,ico},
scripts/build.mjs, .github/workflows/release.yml) has a clear role and
stays.

Installer bundle:

- scripts/build.mjs now also writes dist/INSTALL.txt — plain-text
  step-by-step install guide + command reference, so anyone who unzips
  the bundle has everything they need on paper without internet.
- .github/workflows/release.yml zips dist/ into mailpress-installer.zip
  (PowerShell Compress-Archive) and attaches it to both the workflow
  artifact and the GitHub Release. One-click download: unzip,
  double-click mailpress.exe, done.
- README's "Install" section updated to point at the single
  mailpress-installer.zip and shows the file tree of what's inside.

https://claude.ai/code/session_01CfsRS2PZ4t8RUnhPdVEWHF
Audit follow-up: config.example.json is never read at runtime. The
wizard creates config.local.json from scratch and the only function
that ever referenced the example file (examplePath in lib/config.mjs)
had no callers. Removed the file and the dead export.

Also removed two other dead exports surfaced by the grep:
- isConfigured in lib/config.mjs — never called
- SCOPES re-export in lib/oauth.mjs — only used internally

Install bundle is now down to exactly three files:
  mailpress.exe       (the app + embedded icon)
  print-files.ps1     (runtime helper; lib/printer.mjs invokes it)
  INSTALL.txt         (paper install guide)

Removed from the install bundle:
- config.example.json — wizard creates the config; no one needs the
  template
- mailpress.ico — icon already embedded in the exe; the loose .ico
  only matters if you want to pin a custom shortcut

INSTALL.txt updated to list the actual contents + the auto-generated
files that appear after the wizard runs.

https://claude.ai/code/session_01CfsRS2PZ4t8RUnhPdVEWHF
@Turetsky Turetsky closed this May 26, 2026
@Turetsky
Turetsky deleted the claude/install-bundle branch May 26, 2026 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants