Skip to content

docs(readme): rewrite README as a concise, marketing-focused landing page#6736

Merged
proggeramlug merged 3 commits into
mainfrom
docs/readme-cleanup
Jul 21, 2026
Merged

docs(readme): rewrite README as a concise, marketing-focused landing page#6736
proggeramlug merged 3 commits into
mainfrom
docs/readme-cleanup

Conversation

@TheHypnoo

@TheHypnoo TheHypnoo commented Jul 21, 2026

Copy link
Copy Markdown
Member

Summary

Rewrites the README from 1042 lines to ~140, turning it into a landing page that sells Perry and defers all detail to the docs site.

New structure:

  • Hero: "Write TypeScript. Ship native. Everywhere." + install-to-binary in two commands
  • Problem framing: shipping TypeScript has always meant shipping a JS engine — Perry removes the engine
  • Comparison table vs Node.js / Bun / Electron (what you ship, AOT vs JIT, cold start, native UI, mobile targets, threads) — qualitative and factual
  • Performance section: 6 measured wins from the published harnesses (convolution 3.4× vs Node, fibonacci 3.2×, JSON 3.7×, allocation 4×, array write 3×, 10× less peak memory), each row sourced to benchmarks/honest_bench/REPORT.md or benchmarks/polyglot/RESULTS.md, with the explicit note that we also publish the workloads where V8 still wins and an invitation to run ./benchmarks/run_public_baseline.sh
  • Why-Perry bullets, 60-second quick start, Built with Perry (trimmed to 4 projects + 2 screenshots), docs link map, Community (Discord CTA), one-paragraph opt-in privacy note, sponsors, license

Removed (all covered by the docs site): language/stdlib/package feature tables, compiler flags, project structure, compiler optimizations list, plugins/Geisterhand/containers/i18n/widgets sections, dev commands.

Content that existed only in the README — the full telemetry payload/redaction writeup and the release runbook — is migrated into docs/src/ in #6737 (merge that one first so the README's telemetry-docs link resolves; the README also keeps a short privacy summary).

No version bump / CHANGELOG entry per contribution guidelines — maintainer folds those in at merge.

Validation

  • All relative links in the new README point at existing files (benchmarks/, showcase/sponsor images)
  • All docs-site links match pages in docs/src/SUMMARY.md
  • Every benchmark figure traces to a published results file in-repo

Summary by CodeRabbit

  • Documentation
    • Refreshed the README introduction with updated badges, links, and a simplified compile example.
    • Added/updated sections explaining the “language you know” approach and refreshed runtime comparison content.
    • Replaced the Performance section with new benchmark workloads, updated results, and “run it yourself” instructions.
    • Updated getting-started guidance (including a Fastify example), plus refreshed showcase content, screenshots, and community links.
    • Condensed the Privacy/telemetry description and refreshed sponsor details.

…page

Cut the README from 1042 to ~140 lines. Detailed content (language
feature tables, CLI flags, project structure, release runbook, telemetry
payload schema) now lives in the docs site; the README focuses on the
pitch: comparison table vs Node/Bun/Electron, measured benchmark
highlights with linked sources, showcase, quick start, and community
links.
@coderabbitai

coderabbitai Bot commented Jul 21, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 653ee2f0-bfaa-4f6d-b1b3-3b7fe7e1032e

📥 Commits

Reviewing files that changed from the base of the PR and between da25799 and 1718ed9.

📒 Files selected for processing (1)
  • README.md

📝 Walkthrough

Walkthrough

The README is substantially rewritten to update Perry’s positioning, runtime comparisons, benchmarks, feature claims, onboarding examples, showcase content, documentation links, community resources, privacy guidance, and sponsor presentation.

Changes

README refresh

Layer / File(s) Summary
Product positioning and performance
README.md
The hero, runtime comparison, benchmark tables, performance commentary, and feature claims are replaced with updated messaging and figures.
Onboarding and showcase
README.md
Installation, project setup, Fastify usage, compilation examples, and showcase entries are refreshed.
Project resources and support
README.md
Documentation, community, privacy, telemetry, and sponsor sections are updated.

Estimated code review effort: 1 (Trivial) | ~3 minutes

Possibly related PRs

  • PerryTS/perry#6737: Moves related privacy and telemetry documentation from the README into new mdBook pages.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly matches the main change: a concise README rewrite into a marketing-focused landing page.
Description check ✅ Passed The description covers the summary, major changes, and validation, though some template sections like Related issue and Checklist are missing.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch docs/readme-cleanup

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (1)
README.md (1)

104-113: 📐 Maintainability & Code Quality | 🔵 Trivial

Track the deferred documentation migration.

The README now redirects “everything else” to the docs site, but the PR objectives identify telemetry details and the release runbook as requiring follow-up migration into docs/src/. Confirm those pages exist or add a tracked follow-up and links before treating the documentation transition as complete.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@README.md` around lines 104 - 113, Update the Documentation section to track
the deferred migration of telemetry details and the release runbook: verify
corresponding pages exist under docs/src/, add the missing pages or a tracked
follow-up if needed, and link them from README.md before considering the
documentation transition complete.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@README.md`:
- Line 5: Revise the README hero claims and the comparison table covering lines
21–28 to qualify “no runtime,” “just a binary,” and native machine-code behavior
as applying only to native targets. Add an explicit caveat that web/WASM output
runs within a browser or host runtime, while preserving the existing
native-target messaging.

---

Nitpick comments:
In `@README.md`:
- Around line 104-113: Update the Documentation section to track the deferred
migration of telemetry details and the release runbook: verify corresponding
pages exist under docs/src/, add the missing pages or a tracked follow-up if
needed, and link them from README.md before considering the documentation
transition complete.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 336a918d-a53b-41d9-b5d3-472e0c3c4f0f

📥 Commits

Reviewing files that changed from the base of the PR and between 0adf0d2 and fab1da5.

📒 Files selected for processing (1)
  • README.md

Comment thread README.md Outdated
- Qualify the no-runtime claim: hero lists native targets only, web/WASM
  moved to an explicit caveat (also footnoted under the comparison table)
- Link the migrated telemetry and releasing docs pages (#6737) from the
  Documentation section
@proggeramlug
proggeramlug merged commit c6d66eb into main Jul 21, 2026
2 checks passed
@proggeramlug
proggeramlug deleted the docs/readme-cleanup branch July 21, 2026 10:20
proggeramlug added a commit that referenced this pull request Jul 21, 2026
…reshness gate (#6739)

#6736 rewrote README.md as a concise marketing landing page with a different,
hand-curated performance section and intentionally dropped the auto-generated
`<!-- public-node-bun:start/end -->` block. The lint job's "Public benchmark
evidence freshness" step still ran `public_baseline.py check`, which *requires*
that block, so it failed on every PR ("README generated markers are missing") —
a repo-wide lint breakage unrelated to any PR's code.

Relax the gate without touching the README: a new `benchmarks/
ci_public_baseline_check.py` reuses `public_baseline`'s functions to enforce
artifact freshness/integrity (age, schema, source + harness fingerprints) and
`suite/results/RESULTS.md` drift, but validates the README table only when its
generated markers are present. The lint step now calls it instead of
`public_baseline.py check`.

The policy lives in a separate module on purpose: `public_baseline.py` is a
fingerprinted harness file (`HARNESS_PATHS`), so relaxing the check *inside* it
would change `harness_fingerprint` and trip `validate_public`'s "harness changed;
regenerate" guard — unsatisfiable without re-running the full Node/Bun/Perry
suite. Importing its functions from a new file leaves the fingerprint intact.

README.md is unchanged.

Co-authored-by: Ralph Küpper <ralph@skelpo.com>
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.

2 participants