Skip to content

[M6] Polish + personality + ship v0.1.0 #6

Closed

Description

@rwrife

Goal: Make it feel finished and ship a real release.

Acceptance criteria

  • Tombstone-flavored personality in user-facing messages (tasteful, not noisy)
  • sp doctor — store health check: orphaned files (no index entry), index entries with missing files, store size
  • Shell completion generation (sp completion bash|zsh|fish)
  • --json output mode for ls (and other read commands) for scripting
  • GoReleaser config for cross-platform binaries
  • Tag and publish first release v0.1.0 with built artifacts
  • README install section updated to point at the release

Notes

  • Personality should never get in the way of --json/scripting output.

Activity

  1. rwrife commented on Jun 29, 2026

    @rwrife
    OwnerAuthor

    Opened #16 — first M6 slice: sp doctor, a read-only store health check (orphaned files, missing content, on-disk footprint) plus the tombstone-flavored personality in its report. Strictly read-only; 15 new tests incl. a before/after snapshot proving it changes nothing. Still to come for M6: shell completion, --json output, GoReleaser config, and the v0.1.0 tag/release — each as its own slice.

  2. rwrife commented on Jun 30, 2026

    @rwrife
    OwnerAuthor

    Started chipping at the M6 checklist in #17: sp completion bash|zsh|fish and --json output for sp ls / sp ls --morgue (color- and personality-free, stable array shape for scripting). Two boxes ticked; the rest of M6 (tombstone personality, GoReleaser, the v0.1.0 tag + README install bump) is still open here.

  3. added a commit that references this issue on Jul 1, 2026
  4. rwrife commented on Jul 1, 2026

    @rwrife
    OwnerAuthor

    PR #17 merged (squash, commit 26fb19e) — delivers two M6 checklist items:

    • sp completion bash|zsh|fish (shell completion generation)
    • sp ls --json / sp ls --morgue --json (machine-readable output)

    Remaining on this issue: tombstone personality, GoReleaser config, and the actual v0.1.0 tag.

  5. rwrife commented on Jul 2, 2026

    @rwrife
    OwnerAuthor

    PR #19 tackles the GoReleaser config for cross-platform binaries item: adds .goreleaser.yaml (linux/darwin/windows × amd64/arm64, checksums, version-injection via the existing internal/cli.Version ldflags path) and a tag-driven Release workflow. Validated end-to-end with a local goreleaser release --snapshot — all 6 archives + checksums.txt build and sp version reads the injected version.

    Deliberately left v0.1.0 untagged — cutting the release is a maintainer call; once you push the tag, the workflow does the rest.

    Remaining M6 checkboxes after this: tag/publish v0.1.0 (needs the tag push). The other items — tombstone personality, sp doctor, shell completion, --json for ls — already appear implemented on main.

  6. rwrife commented on Jul 4, 2026

    @rwrife
    OwnerAuthor

    Chipped another item off the M6 checklist: --json output mode for other read commands — sp doctor now has a --json mode (stable object: healthy flag, counts, tracked/orphan/total sizes, and orphans/missing arrays; color- and personality-free like sp ls --json). PR: #21

    Remaining M6 items: tag + publish v0.1.0 with artifacts, and update the README install section to point at the release (both maintainer-driven since the release workflow fires on a version tag).

  7. rwrife commented on Jul 6, 2026

    @rwrife
    OwnerAuthor

    Started the M6 polish pass: #23 gives the direct command confirmation lines (new/open/rm/resurrect/promote) the same tasteful tombstone voice the render layer already has — without disturbing the stable output anchors. Build/vet/gofmt/tests all green.

    Remaining M6 work after this: cut the actual v0.1.0 tag/release (triggers GoReleaser + publishes artifacts) — leaving that as a maintainer action rather than automating it. Keeping this issue open until the release ships.

  8. rwrife commented on Jul 8, 2026

    @rwrife
    OwnerAuthor

    🪦 v0.1.0 is shipped.

    Tagged v0.1.0 → the Release workflow ran GoReleaser and published the release:

    https://github.com/rwrife/scratchpatch/releases/tag/v0.1.0 (marked Latest, not a prerelease)

    Artifacts (all uploaded, with checksums.txt):

    • scratchpatch_0.1.0_linux_x86_64.tar.gz / _linux_arm64.tar.gz
    • scratchpatch_0.1.0_macos_x86_64.tar.gz / _macos_arm64.tar.gz
    • scratchpatch_0.1.0_windows_x86_64.zip / _windows_arm64.zip

    Verified end-to-end: downloaded the linux/x86_64 archive, sha256sum -c checksums.txt → OK, and sp version reports scratchpatch v0.1.0 (ldflags injection working).

    Acceptance criteria

    Leaving this issue open until #25 lands, which flips the last box.

  9. rwrife commented on Jul 9, 2026

    @rwrife
    OwnerAuthor

    ✅ M6 complete — v0.1.0 is shipped. All acceptance criteria delivered and verified:

    Sanity check on main @ HEAD: go build ./..., go vet ./..., go test ./..., and gofmt -l all clean. 🪦→🚀

    Closing the M6 milestone. Roadmap M1–M6 done.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    milestoneRoadmap milestone (M1..M6)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions