Skip to content

chore: rewrite README to lead with the problem, not the metaphor#19

Merged
justi merged 1 commit into
mainfrom
chore/readme-rewrite
May 10, 2026
Merged

chore: rewrite README to lead with the problem, not the metaphor#19
justi merged 1 commit into
mainfrom
chore/readme-rewrite

Conversation

@justi
Copy link
Copy Markdown
Owner

@justi justi commented May 10, 2026

Summary

  • README rewritten end-to-end. Old version led with an airplane/no-wifi metaphor; new version leads with the actual daily pain (LLM hallucinations on stale gem knowledge) and shows the sample output immediately.
  • No code changes. Documentation only. Tests untouched.

Why

Old README buried the problem statement. A Rails dev landing on the page had to scroll past Install + Usage + Modes to reach the sample document that demonstrated value. By that point most readers had bounced.

Rewrite informed by an internal multi-perspective copy review. Universal findings: tagline buries the real problem, sample output should appear early, "Why this exists" needs to be explicit, audience needs to be named in customer language. Follow-up review pass surfaced 5 additional refinements — all applied (subtitle now mentions GPT alongside Claude, Usage leads with single-model invocation, "in flight" motif moved to footer, ~205 test count surfaced in Status, Roadmap last paragraph trimmed, Why-I-built-this moved between Status and Roadmap).

Concrete changes

Element Before After
Tagline "Offline-prep dependency context for your LLM. Run before you fly..." "Stop Claude from hallucinating on your Gemfile." (+ subtitle naming artifact, inputs, supported models)
Sample output line ~50 (mid-page) line ~6 (right after tagline)
Why section implicit explicit, 4 lines
Install 60-word installer-deep-dive paragraph 1 sentence + curl + manual
Usage config-first single-model first, config positioned as repeat-use path
Modes preface 2 paragraphs 1 line; the table speaks for itself
Status release-notes-style + test count, + first-person daily smoke test
Roadmap solo declaration "where I need help" with adapter:node issue tag
Community absent new section: issues, discussions, feedback
Why I built this airplane metaphor as headline first-person Tokyo flight story as footer
Section order Status → Roadmap → Community → License Status → Why I built this → Roadmap → Community → License

Stats

  • 138 lines (vs 135 original)
  • 68 insertions, 65 deletions
  • 4 new sections (Why this exists, Why I built this, Community, "Where I need help")
  • 3 cuts (installer-deep-dive paragraph, Modes preface, "What you gain with the local path" bullets — table now speaks for itself)

Test plan

  • markdown lint (manual eyeball — proper heading hierarchy, no broken code blocks)
  • wc -l README.md → 138
  • Full bash test suite still 205/205 (untouched, but verified)
  • Caveman test: show first 5 seconds to a Rails dev, ask "what does this do" — recommended before merge

🤖 Generated with Claude Code

Old README led with "offline-prep dependency context for your LLM. Run
before you fly..." — clever metaphor, but the airplane/no-wifi case is
a niche use of the tool. The actual daily pain — "Claude suggests Rails
7 syntax on a Rails 8 app, misses CVEs from the last 6 months" — was
implicit and only landed once you scrolled past Install + Usage to the
sample document.

Rewrite informed by an internal multi-perspective copy review. Universal
findings: tagline buries the problem, sample output should appear early,
"Why" needs to be explicit, audience needs to be named in customer
language. A follow-up review pass on the rewrite itself surfaced five
additional refinements — all applied.

Changes:

- Tagline rewritten as a problem statement ("Stop Claude from
  hallucinating on your Gemfile") with a subtitle that names the
  artifact (markdown brief), the inputs (CVEs, breaking changes,
  version deltas), and the supported models (Claude, GPT, or whatever).

- Sample output moved from the middle of the README to the very top —
  immediately after the tagline. Demo before pitch.

- New "Why this exists" section makes the LLM-cutoff-vs-lockfile gap
  explicit in four lines instead of leaving it implicit.

- Install paragraph compressed from a 60-word installer-deep-dive into
  one sentence. The deep-dive belongs in INSTALL.md or FAQ, not on the
  conversion path.

- Usage now leads with the simplest single-model invocation
  (`postcut --model claude-opus-4-7`) so a first-run user isn't asked
  to configure a models file before seeing output. Multi-model config
  is positioned as the repeat-use path.

- Modes section preface trimmed — the table speaks for itself.

- Status now mentions the bash test count (~205, CI on every PR) so
  the "I use postcut daily" line stands on credibility, not just on
  vibes.

- Roadmap reframed as "where I need help": each entry has an explicit
  contributor signal (`adapter:node` issue tag, "I'll pair on it") so
  it's an invitation, not a solo declaration.

- New Community section — issues, discussions, and feedback channels
  positioned as community signals rather than buried under Status.

- New "Why I built this" footer with the Tokyo-flight story moves the
  airplane reference from headline (where it confused) to evidence
  (where it adds personal texture). Founder signature at the bottom.

- Section order: Status → Why I built this → Roadmap → Community →
  License. Personal note builds connection before the contributor ask
  and the community channels.

No code changes. Tests untouched. Documentation only.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@justi justi force-pushed the chore/readme-rewrite branch from 00976ee to ef41332 Compare May 10, 2026 18:14
@justi justi merged commit f0c1fe8 into main May 10, 2026
2 checks passed
@justi justi deleted the chore/readme-rewrite branch May 10, 2026 18:14
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