Skip to content

Explain installing, running and updating the program - #45

Merged
taskinen merged 1 commit into
mainfrom
docs/install-and-update
Oct 16, 2026
Merged

taskinen merged 1 commit into
mainfrom
docs/install-and-update

Conversation

@taskinen

Copy link
Copy Markdown
Owner

Why

The README told users to clone the repository and go run main.go. For v1.0.0, users will install the program instead. This is the third and last PR before the release:

  1. Prepare the binary for installing: version, example config, config location #43, the flags, version and config location;
  2. Build release binaries with GoReleaser #44, GoReleaser builds;
  3. this PR.

Merge it after #43 and #44: it documents their features. It must also be merged before the tag, because the release archives and pkg.go.dev show the tagged commit's README.

Changes

README.md only. The old "Setup" section becomes Installation:

  • With Go: go install github.com/taskinen/mailboxzero@latest.
    • It needs Go 1.26+; Go 1.21+ downloads Go 1.26 by itself.
    • The program lands in $(go env GOPATH)/bin, which must be on PATH.
  • Ready-built program:
    • Which archive to download, and checking it against checksums.txt (sha256sum or shasum --ignore-missing -c; checked on macOS).
    • What the archive contains.
    • Allowing the unsigned program on macOS (xattr -d com.apple.quarantine, or Open Anyway) and Windows (SmartScreen).
  • First Run: create ~/.config/mailboxzero/config.yaml with -example-config (with chmod 600, since it holds the token, plus PowerShell commands for Windows), add the token, start the program and open the page.
    • Also covers XDG_CONFIG_HOME and -config.
    • I checked that a config written by Windows PowerShell's > (UTF-16 with a byte-order mark) loads.
  • Updating: run go install …@latest again, or download the new release. @v1.0.0 installs a particular version. -version and the page header show the version, and the release notes say what changed.

Also:

  • The Getting Fastmail API Token steps stay.
  • Mock mode becomes go run . -config config-mock.yaml.example.
  • Enabling Real Changes and Configuration Options name the config file's location.
  • A new "Config File Not Found" troubleshooting entry.
  • Development: running from source (go run ., go build ., and why it's the package rather than main.go), plus GoReleaser and the version package in the project tree.

Checked

The README told users to clone the repository and go run main.go. It
now covers what users of v1.0.0 will do:

- Install with go install github.com/taskinen/mailboxzero@latest, or
  download a ready-built program from the release, check it against
  checksums.txt, and allow the unsigned program on macOS or Windows.
- First run: create ~/.config/mailboxzero/config.yaml with
  -example-config (PowerShell too), add the API token, start the
  program and open the page.
- Update by running go install again or downloading the new release;
  -version and the page header show the version.
- Running from source, the config location, a troubleshooting entry
  for a missing config file, and the updated project tree.
@taskinen
taskinen merged commit a6d5357 into main Oct 16, 2026
6 checks passed
@taskinen
taskinen deleted the docs/install-and-update branch October 16, 2026 19:53
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.

1 participant