Title: recap-wins | Novarch LLC
URL: https://novarch.lol/recap-wins.html
Description: recap-wins (rw) is a git-native CLI: point it at a branch and it reads your commits and diff, tells you what you actually shipped, then turns it into the PR, the App Store note, and the launch copy. Offline facts, free; the writing runs on your key or your agent.
Publisher: Novarch LLC (https://novarch.lol)

---

How it works HTML Voice Install [GitHub →](https://github.com/yohannescodes/recap-wins) [Back to Novarch](https://novarch.lol/index.html)

v0.3 · git-native CLI · macOS · Swift

# You shipped the branch. Now write the PR, the release notes, the tweet.

Point rw at a branch and it reads your commits and diff, tells you what you actually shipped — then turns it into the PR, the App Store note, the launch copy. Render any of it to an offline HTML proof sheet with one flag.

$ brew install recap-wins

[User Guide →](https://novarch.lol/rw-guide.html)

The facts are free & offline. The writing runs on your key — or your agent, no key.

v0.3.0 · 2026-06-27

**`--html` and `--json` now land on every subcommand, including `rw align`.** Use `rw align --html --open` for the filterable parity matrix, or `rw vitals --json` for the structured vitals report. Bare `rw` still prints the formatted dashboard — only the flag plumbing changed.

[Read the v0.3.0 changelog →](https://novarch.lol/recap-wins/changelogs/v0.3.0.html)

ledgerly — feature/payments — rw

$ rw --base main

CHANGES

4 features 2 fixes 3 chores 9 commits

23 files changed+1,204−318

HOTSPOTS

ledgerly/Views/Budgets/BudgetFormView.swift+412 −44

RISK

⚠ BudgetFormView.swift — large diff, no tests added

⚠ touches core — StoreKitClient

next: rw new · rw notes --pr · rw market

$ rw new

NEW IN feature/payments

Apple Pay checkout, built into the payment sheet

Tax-inclusive receipt totals, per-currency rounding

Retry on StoreKit transaction timeout

Receipt share-sheet export to PDF

4 features · chores & refactors filtered out

$ rw notes --pr

## Apple Pay checkout & tax-inclusive receipts

Wires Apple Pay into the payment sheet and reworks receipt math so totals include tax before they're shown.

### What changed

- Apple Pay button + sheet presentation

- Receipt totals now tax-inclusive, per-currency rounding

- StoreKit client retries timed-out transactions once

### Risk

PaymentSheet has no new tests — flagged for review.

✓ copied to clipboard

$ rw market --product ledgerly

LEDGERLY · voice: clear, trustworthy, private-by-default

WHAT'S NEW≤ 4000

Pay faster — Apple Pay is now built right into checkout. And every receipt shows the real, tax-inclusive total up front.

PROMO TEXT≤ 170

Apple Pay at checkout, plus clearer tax-inclusive receipts.

TWEET≤ 280

Ledgerly now does Apple Pay at checkout ⚡ and receipts that show the real, tax-inclusive total — no surprises. Out now.

$ rw market --product ledgerly --html --open

writing.rw/market-feature-payments.html opening in browser…

PROMO TEXT142 / 170 charscopy

Apple Pay at checkout, plus clearer tax-inclusive receipts — no surprises at the end.

TWEET259 / 280 charscopy

Ledgerly now does Apple Pay at checkout ⚡ and every receipt shows the real, tax-inclusive total up front. No mental math, no surprises at the end. Out today.

SUBTITLE34 / 30 charscopy

Apple Pay & tax-inclusive receipts

↑ click a command — same branch, five different things to ship · --html renders any of them to an offline proof sheet

// two kinds of output

## The facts are free. The writing is one command away.

no key · offline

### The facts

Counts, hotspots, who-touched-what, risk flags. Pure git — never leaves your machine, instant, always free.

rw # vitals for this branch rw many # feature / fix / chore counts rw blame # who changed what

your key · or your agent

### The writing

PR descriptions, release notes, marketing copy. Runs on your Anthropic or Gemini key — or free through an agent like Claude Code.

rw new # features you actually added rw notes --pr # PR, ready to paste rw market # launch copy pack

// ship more than one app?

## Every app keeps its own voice.

Describe each product's tone once. Then rw market --product writes App Store, Play, and social copy in that voice — each piece inside its store's character cap, warned on overflow, never truncated.

A Ledgerly update never reads like a DOTS one.

ledgerly

clear · trustworthy · private-by-default

dots

calm · reflective · unhurried

novarch

sharp · technical · no fluff

// new in v0.2

## The terminal isn't always the right surface.

Add --html to any command and the same report renders to a single self-contained, offline page — inline CSS/JS, no CDN, no server, no extra model calls. Pair it with --open to launch in your default browser.

M

### Proof sheet for `rw market`

App Store / Play Console preview — every piece in its own block with a live char meter against its store cap and a copy button. The page you'd want before pasting into a store form.

`rw market --html --open`

N

### Notes with a live cap meter

Plain at first, amber as you near the limit, red when you exceed it — the meter is part of the page, not a warning you scroll past. rw still never silently truncates.

`rw notes --asc-update --html`

C

### `rw notes --changelog`

A dedicated release-page changelog — always HTML, defaults under `docs/changelogs/v<version>.html`. Clean *Added / Changed / Fixed* with a "Generated by rw" credit. The canonical "what changed" artifact you commit per version.

`rw notes --changelog`

// get it

## One command. It's its own Homebrew tap.

Terminal

# its own tap — one command installs the rw binary

$ brew tap yohannescodes/recap-wins https://github.com/yohannescodes/recap-wins

$ brew install recap-wins

# then, in any repo

$ rw

[View on GitHub →](https://github.com/yohannescodes/recap-wins) [User Guide →](https://novarch.lol/rw-guide.html)
