Skip to content

M6: prompt mode + status + docs + release - #16

Merged
rwrife merged 1 commit into
mainfrom
issue-6-prompt-status-docs
Jul 5, 2026
Merged

rwrife merged 1 commit into
mainfrom
issue-6-prompt-status-docs

Conversation

@rwrife

@rwrife rwrife commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Closes #6

Ships the M6 milestone: prompt integration, a polished status command, real docs, and a release pipeline.

What changed

commit-sprout status — new subcommand. Compact, plain-text (script-friendly) summary: stage + health, current streak (with remembered best), last commit in whole days, and a days-until-wilt nudge.

commit-sprout prompt (+ --prompt flag) — new one-line glyph for shell prompt / tmux / starship. Built for the hot path:

  • Read-only by default — a prompt renders on every command, so it skips the state write unless you pass --save.
  • Fails silently outside a git repo — prints nothing, exits 0, so it can never break your shell.

Shared pipeline refactor — root/status/prompt now ride one runPipeline() (read git activity → load state → compute) + persist() helper, so the three commands stay consistent and DRY. No behavior change to the existing root render.

Docs — README now has: prebuilt-binary install from Releases, status/prompt usage with sample output, and copy-paste starship, tmux, bash, and zsh prompt snippets. Status banner bumped to v0.1; LICENSE link fixed.

LICENSE — MIT added.

Release.goreleaser.yaml (CGO-free static binaries for linux/macos/windows × amd64/arm64, archives + checksums, version injected into --version from the tag) and .github/workflows/release.yml (runs GoReleaser on v* tags). Validated locally with goreleaser check and a snapshot build (version ldflag confirmed).

Checklist mapping

  • --prompt emits a compact glyph + stage
  • Prompt mode is fast + never blocks the shell (read-only default, silent-fail)
  • status shows streak, last commit, days-until-wilt
  • README: install, starship snippet, tmux snippet
  • LICENSE (MIT)
  • GoReleaser builds static binaries on tag

Testing

  • gofmt -l . clean, go vet ./..., go build ./..., go test ./... all pass
  • New cmd/status_test.go covers the status/streak/wilt phrasing helpers
  • Manually verified status, prompt, --prompt, and silent-outside-repo behavior
  • goreleaser check + snapshot build pass; --version ldflag injection confirmed

Not included

  • Screenshots/asciinema (needs a real terminal capture) and the actual v0.1.0 tag cut — the release pipeline is ready; tagging is a maintainer action.

@rwrife rwrife mentioned this pull request Jul 4, 2026
6 tasks
@rwrife
rwrife merged commit a66bad7 into main Jul 5, 2026
1 check passed
@rwrife
rwrife deleted the issue-6-prompt-status-docs branch July 5, 2026 09:01
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.

[M6] Prompt mode + status + docs

1 participant