Skip to content

docs: refresh setup and runtime guidance#2857

Merged
ihabadham merged 8 commits intomainfrom
jg-codex/docs-review-pass-3
Mar 27, 2026
Merged

docs: refresh setup and runtime guidance#2857
ihabadham merged 8 commits intomainfrom
jg-codex/docs-review-pass-3

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 26, 2026

Summary

This applies another docs review pass focused on current copy-paste hazards and published-site mismatches.

Changes in this PR:

  • fix broken setup snippets in llms.txt and the tutorial/install guides
  • refresh documented runtime floors to match current validators and gemspec support (Ruby 3.0+, Node 18+)
  • replace stale Node Renderer debugging steps with the current pnpm + Pro dummy app workflow
  • fix the docs landing page changelog link so the published docs site no longer points at a dead route
  • refresh Pro/RSC entry docs to current version guidance and supported react-on-rails-rsc compatibility wording
  • fix the bad Pro link in docs/pro/js-memory-leaks.md

Follow-up filed separately:

Test plan

  • pnpm run lint
  • pnpm start format.listDifferent
  • git diff --check
  • lychee --offline --no-progress --format compact llms.txt README.md AGENTS_USER_GUIDE.md docs/README.md docs/oss/api-reference/generator-details.md docs/oss/building-features/node-renderer/basics.md docs/oss/building-features/node-renderer/debugging.md docs/oss/deployment/troubleshooting.md docs/oss/getting-started/installation-into-an-existing-rails-app.md docs/oss/getting-started/quick-start.md docs/oss/getting-started/tutorial.md docs/oss/introduction.md docs/pro/home-pro.md docs/pro/installation.md docs/pro/js-memory-leaks.md docs/pro/react-server-components/create-without-ssr.md docs/pro/react-server-components/index.md docs/pro/react-server-components/upgrading-existing-pro-app.md
  • verified live destinations return 200:
    • https://github.com/shakacode/react_on_rails/blob/main/CHANGELOG.md
    • https://reactonrails.com/docs/pro/
    • https://pro.reactonrails.com/

Notes

  • bundle exec rubocop still fails on the repo baseline due hundreds of unrelated existing offenses in generated/bin and legacy files; this PR changes no .rb files.

Note

Low Risk
Low risk: documentation-only updates adjusting stated runtime minimums and setup/debugging instructions; no code or runtime behavior changes.

Overview
Updates docs to reflect minimum supported runtimes (Ruby 3.0+, Node 18+) and modernizes setup snippets to be more copy/paste-safe (e.g., bundle add ... --strict, bundle exec rails generate ..., and package-manager-agnostic install commands including bun).

Refreshes Pro / Node Renderer / RSC documentation: replaces stale renderer debugging instructions with the current pnpm monorepo dummy-app workflow, clarifies RSC compatibility as “React 19 + compatible react-on-rails-rsc”, and fixes/updates links (notably the docs changelog URL and Pro docs link in js-memory-leaks.md).

Written by Cursor Bugbot for commit 5acee11. This will update automatically on new commits. Configure here.

Summary by CodeRabbit

  • Documentation
    • Lowered documented minimums: Ruby 3.0+ and Node.js 18+; CI-tested ranges unchanged.
    • Made install/setup steps package-manager-agnostic (npm/pnpm/Yarn/bun) and added bun guidance.
    • Clarified React Server Components compatibility and updated Pro/prerequisite guidance to v16.4.0 with example React/RSC pins (19.0.4).
    • Strengthened generator/install instructions to use Bundler/strict flags.
    • Improved debugging/monorepo workflow, troubleshooting guidance, and changelog/navigation links.

@chatgpt-codex-connector
Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Mar 26, 2026

Note

Reviews paused

It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.

Use the following commands to manage reviews:

  • @coderabbitai resume to resume automatic reviews.
  • @coderabbitai review to trigger a single review.

Use the checkboxes below for quick actions:

  • ▶️ Resume reviews
  • 🔍 Trigger review

Walkthrough

Lowered documented Ruby minimum from 3.2+ to 3.0+ and Node minimum from 20+ to 18+ across docs; broadened package-manager guidance (npm/pnpm/Yarn/bun); revised React/RSC compatibility wording; updated package pins to 16.4.0/19.0.4 in places; changed some installer examples to use bundle exec and --strict.

Changes

Cohort / File(s) Summary
Top-level docs
AGENTS_USER_GUIDE.md, README.md, docs/README.md, docs/oss/introduction.md
Lowered Ruby minimum (3.2 → 3.0) and Node minimum (20 → 18); README marks minima as package minima; changelog link switched to external GitHub URL.
Getting started / installation
docs/oss/getting-started/quick-start.md, docs/oss/getting-started/tutorial.md, docs/oss/getting-started/installation-into-an-existing-rails-app.md
Node minimum → 18+; added bun as package-manager option; updated git commit guidance; pinned react_on_rails / react-on-rails installs to 16.4.0.
Node renderer & debugging
docs/oss/building-features/node-renderer/basics.md, docs/oss/building-features/node-renderer/debugging.md
Node baseline → 18+; replaced Yarn-first commands with package-manager-agnostic examples (npm/pnpm/yarn/bun); debugging workflow updated to pnpm monorepo commands and adjusted renderer start/build/rebuild and GC startup examples.
Deployment & troubleshooting
docs/oss/deployment/troubleshooting.md
Renamed guidance to include npm; expanded "Node or package manager not found" checks; updated install examples to include pnpm, npm, yarn, and bun.
Pro docs / React Server Components
docs/pro/react-server-components/..., docs/pro/home-pro.md, docs/pro/installation.md, docs/pro/react-server-components/create-without-ssr.md
Replaced strict React 19.0.x phrasing with "React 19 with a compatible react-on-rails-rsc version"; updated example pins to 19.0.4; adjusted Pro requirement wording and pinned Pro package examples to 16.4.0.
API / generator reference
docs/oss/api-reference/generator-details.md
react_on_rails:install --rsc wording now requires React 19 with a compatible react-on-rails-rsc instead of a hard 19.0.x restriction.
Docs navigation & misc
docs/pro/js-memory-leaks.md, docs/README.md, docs/pro/home-pro.md
Adjusted Pro homepage copy and updated documentation link targets (CHANGELOG / pro docs).
LLMs / installer examples
llms.txt
Generator invocations switched to bundle exec rails generate ...; bundle add examples include --strict.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • AbanoubGhadban
  • rameziophobia

Poem

🐇 I hopped through docs with a cheerful clack,
Trimmed version hurdles, widened the pack.
Node at eighteen, gems at three-oh-oh,
pnpm, npm, bun — let the toolchains flow!
A rabbit's nibble made the guides all aglow.

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'docs: refresh setup and runtime guidance' accurately reflects the primary focus of this documentation-only PR, which systematically updates setup instructions, runtime version requirements, and guidance across multiple documentation files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jg-codex/docs-review-pass-3

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 and usage tips.

@coderabbitai coderabbitai bot added review-needed documentation docs-cleanup Documentation cleanup or migration P3 Parked priority labels Mar 26, 2026
@greptile-apps
Copy link
Copy Markdown

greptile-apps bot commented Mar 26, 2026

Greptile Summary

This PR is a focused documentation refresh across 18 files, correcting copy-paste hazards, updating runtime floor versions, replacing the stale yalc/yarn Node Renderer debugging workflow with the current pnpm monorepo approach, fixing dead links, and bumping version references from 16.4.0 to 16.5.0.\n\nKey changes:\n- Runtime floors corrected: Ruby floor lowered to 3.0+ and Node floor to 18+ across README.md, AGENTS_USER_GUIDE.md, introduction.md, quick-start.md, and upgrading-existing-pro-app.md — now consistent with the gemspec (required_ruby_version >= 3.0.0)\n- llms.txt setup snippets fixed: Added missing bundle add steps and bundle exec prefix so snippets are immediately copy-paste safe\n- Changelog link fixed in docs/README.md: dead relative path replaced with the live GitHub URL\n- Dead Pro link fixed in docs/pro/js-memory-leaks.md: pro.reactrails.comreactonrails.com/docs/pro/\n- Node Renderer debugging guide modernised: yalc/yarn instructions replaced with the current pnpm + monorepo dummy-app workflow\n- RSC compatibility wording generalised: removes the overly narrow React 19.0.x constraint and replaces it with a react-on-rails-rsc semver range (>= 19.0.2 <= 19.2.3)\n- One inconsistency: create-without-ssr.md still pins react@19.0.3 / react-dom@19.0.3 in the install snippet, while the upgrade guide (updated in this same PR) explicitly flags 19.0.0–19.0.3 as containing known security vulnerabilities and requires 19.0.4+

Confidence Score: 4/5

Safe to merge after fixing the one React 19.0.3 security-version pin in create-without-ssr.md.

The PR is a well-scoped docs pass with clear intent and consistent improvements throughout. One concrete issue remains: the fresh-install RSC snippet points users at react@19.0.3/react-dom@19.0.3, which the same PR explicitly labels as a known-security-vulnerability version requiring upgrade to 19.0.4+. That one-line fix is the only blocker.

docs/pro/react-server-components/create-without-ssr.md — react@19.0.3 pin should be bumped to 19.0.4 to match the security guidance in upgrading-existing-pro-app.md

Important Files Changed

Filename Overview
docs/pro/react-server-components/create-without-ssr.md Updated version pins from 16.4.0 → 16.5.0 and broadened RSC compatibility wording, but the new React install snippet uses 19.0.3 which other docs in this same PR flag as a known-security-vulnerability version (19.0.4+ required).
docs/pro/react-server-components/upgrading-existing-pro-app.md Updated version requirements to 16.5.0+, added react-on-rails-rsc to prerequisite table, bumped Node floor to 18+, and corrected pnpm upgrade command to pin all three packages including react-on-rails-rsc.
docs/oss/building-features/node-renderer/debugging.md Replaced stale yalc/yarn workflow with current pnpm monorepo dummy-app steps; added external-app fallback guidance and a correct node-renderer heap-snapshot command.
llms.txt Added missing bundle add steps and bundle exec prefix to all three install snippets so they are copy-paste safe.
README.md Lowered documented Ruby floor to 3.0 and Node floor to 18 to match gemspec and current CI matrix.
docs/README.md Fixed broken changelog link from a dead relative path to the live GitHub URL.
docs/pro/js-memory-leaks.md Replaced dead pro.reactrails.com link with the correct reactonrails.com/docs/pro/ destination.
docs/oss/getting-started/tutorial.md Changed git commit -am to git add . && git commit -m so untracked new files generated by shakapacker:install are also staged.
docs/oss/getting-started/installation-into-an-existing-rails-app.md Bumped example version snippets from the rc.10 pre-release to the stable 16.5.0 release.
docs/pro/installation.md Updated version floor references from 16.4.0 to 16.5.0 and broadened RSC React compatibility wording.
docs/pro/react-server-components/index.md Removed stale v4 version reference, updated requirements table to 16.5.0 and react-on-rails-rsc compatibility range.
AGENTS_USER_GUIDE.md Lowered documented Ruby and Node floors to 3.0+ and 18+ to match gemspec minimums.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User follows docs] --> B{Which guide?}
    B --> C[create-without-ssr.md\nfresh RSC install]
    B --> D[upgrading-existing-pro-app.md\nupgrade RSC]
    B --> E[installation.md\nPro install]
    B --> F[quick-start / tutorial\nbase install]

    C --> G["yarn add react@19.0.3 ⚠️\nreact-dom@19.0.3\nreact-on-rails-rsc@19.0.4"]
    D --> H["pnpm add react@19.0.4 ✅\nreact-dom@19.0.4\nreact-on-rails-rsc@19.0.4"]
    E --> I["bundle add react_on_rails_pro --strict\nrails g react_on_rails:install --rsc"]
    F --> J["bundle add react_on_rails --strict\nbundle exec rails g react_on_rails:install"]

    G -->|"⚠️ Known CVEs in 19.0.0-19.0.3\nshould match upgrading guide"| K["Inconsistency: install path\nshould also use 19.0.4"]
    H --> L[Consistent with security guidance]
Loading

Reviews (1): Last reviewed commit: "docs: refresh setup and runtime guidance" | Re-trigger Greptile

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 26, 2026

Review: docs: refresh setup and runtime guidance

Overall this is a solid docs cleanup — the pnpm monorepo workflow, multi-package-manager guidance, and RSC version clarifications are all improvements. One security issue needs fixing before merge; a few smaller inconsistencies are worth a look too.

🔴 Security issue (must fix)

docs/pro/react-server-components/create-without-ssr.md now installs react@19.0.3 and react-dom@19.0.3 in its example, but upgrading-existing-pro-app.md (also changed in this PR) explicitly warns that React 19.0.0–19.0.3 carry known security vulnerabilities and recommends 19.0.4+. Both files need to align on 19.0.4+. See inline comment.

🟡 Minimum version claims vs CI coverage

README.md, AGENTS_USER_GUIDE.md, and several getting-started docs now advertise Ruby >= 3.0 and Node.js >= 18, but the CI matrix only tests Ruby 3.2–3.4 and Node 20–22. Advertising lower floors than what's tested means we could silently ship regressions on Ruby 3.0/3.1 or Node 18/19 without noticing. Options:

  • Extend the CI matrix to cover the advertised minimums, or
  • Keep the stated minimums at 3.2 / 20 to match what's actually verified.

🟡 RSC version range upper bound (>= 19.0.2 <= 19.2.3)

The react-on-rails-rsc compatibility range hardcodes an upper bound of 19.2.3. If that version isn't released yet, this bound will become stale as the project evolves. A living pointer ("see CHANGELOG for the current tested range") would be more durable than a manually maintained upper bound. See inline comment.

🟡 Exact-version pinning in upgrade command

The upgrading-existing-pro-app.md snippet changed from pnpm add react@~19.0.4 (patch-compatible) to a bare exact version. For a one-time upgrade command this means users who copy-paste won't automatically pick up future security patches. Worth keeping the tilde or using a >= bound. See inline comment.

🟢 Everything else looks good

  • Changelog link fix in docs/README.md → correct GitHub URL
  • llms.txt bundle add --strict + bundle exec are the right patterns
  • Tutorial git add . && git commit -m is better than git commit -am (which silently skips untracked files)
  • Pro home page copy refresh is accurate
  • docs/pro/js-memory-leaks.md link fix is correct

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/pro/react-server-components/upgrading-existing-pro-app.md`:
- Line 26: The documentation currently shows a pnpm-only upgrade command ("pnpm
add react@19.0.4 react-dom@19.0.4 react-on-rails-rsc@19.0.4"); add the
equivalent npm and yarn variants so users have parity with other docs (e.g., an
npm install ... and yarn add ... line) and place them alongside the pnpm example
in the same block so all three package manager commands (pnpm, npm, yarn) are
present for the React/RSC upgrade.

In `@README.md`:
- Around line 203-204: The README currently states "Node.js >= 18" but the JS CI
workflow only runs Node 20 and 22; update either the CI or the docs: either add
Node 18 to the JS CI matrix (so the CI workflow that defines Node versions runs
18 in addition to 20 and 22) or change the README entry from "Node.js >= 18" to
"Node.js >= 20" (or to match the exact tested range), and ensure the README line
containing "Node.js >= 18" is updated accordingly so documentation matches CI
coverage.
🪄 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: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 24914245-354c-4491-9c6f-10e28bafd1cb

📥 Commits

Reviewing files that changed from the base of the PR and between aa9a002 and 1fed1aa.

📒 Files selected for processing (18)
  • AGENTS_USER_GUIDE.md
  • README.md
  • docs/README.md
  • docs/oss/api-reference/generator-details.md
  • docs/oss/building-features/node-renderer/basics.md
  • docs/oss/building-features/node-renderer/debugging.md
  • docs/oss/deployment/troubleshooting.md
  • docs/oss/getting-started/installation-into-an-existing-rails-app.md
  • docs/oss/getting-started/quick-start.md
  • docs/oss/getting-started/tutorial.md
  • docs/oss/introduction.md
  • docs/pro/home-pro.md
  • docs/pro/installation.md
  • docs/pro/js-memory-leaks.md
  • docs/pro/react-server-components/create-without-ssr.md
  • docs/pro/react-server-components/index.md
  • docs/pro/react-server-components/upgrading-existing-pro-app.md
  • llms.txt

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

♻️ Duplicate comments (1)
docs/pro/react-server-components/upgrading-existing-pro-app.md (1)

209-210: ⚠️ Potential issue | 🟡 Minor

Make the troubleshooting install command package-manager-agnostic too.

This section still gives a pnpm-only install command. Add yarn/npm equivalents for consistency with the rest of the page.

Suggested patch
-- **Missing `react-on-rails-rsc` package**: Run `pnpm add react-on-rails-rsc`
+- **Missing `react-on-rails-rsc` package**: Run `pnpm add react-on-rails-rsc`
+  (or `yarn add react-on-rails-rsc`, or `npm install react-on-rails-rsc`)

Based on learnings, in all end-user documentation under docs/, installation examples should include npm, yarn, and pnpm.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/pro/react-server-components/upgrading-existing-pro-app.md` around lines
209 - 210, The two troubleshooting bullets that currently show only pnpm
commands ("Missing `react-on-rails-rsc` package" with `pnpm add
react-on-rails-rsc` and the version-check bullet with `pnpm list react react-dom
react-on-rails-rsc`) must be updated to include npm and yarn equivalents;
replace or augment the pnpm install/list examples with three command variants
(npm, yarn, pnpm) so users of any package manager can follow the instructions
and keep wording consistent with the rest of the docs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@docs/pro/react-server-components/upgrading-existing-pro-app.md`:
- Around line 209-210: The two troubleshooting bullets that currently show only
pnpm commands ("Missing `react-on-rails-rsc` package" with `pnpm add
react-on-rails-rsc` and the version-check bullet with `pnpm list react react-dom
react-on-rails-rsc`) must be updated to include npm and yarn equivalents;
replace or augment the pnpm install/list examples with three command variants
(npm, yarn, pnpm) so users of any package manager can follow the instructions
and keep wording consistent with the rest of the docs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 217d2c28-764c-4d09-86e0-fd5ba18e5418

📥 Commits

Reviewing files that changed from the base of the PR and between 1fed1aa and 294ce30.

📒 Files selected for processing (5)
  • README.md
  • docs/oss/building-features/node-renderer/debugging.md
  • docs/pro/react-server-components/create-without-ssr.md
  • docs/pro/react-server-components/index.md
  • docs/pro/react-server-components/upgrading-existing-pro-app.md
✅ Files skipped from review due to trivial changes (2)
  • README.md
  • docs/oss/building-features/node-renderer/debugging.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/pro/react-server-components/create-without-ssr.md

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 26, 2026

Overall this is a solid docs-only cleanup pass. The runtime floor corrections (Ruby 3.0+ / Node 18+) match the gemspec and the create-react-on-rails-app package engines field, so those changes are factually grounded.\n\nIssues found:\n\n1. Missed version bump in docs/oss/getting-started/quick-start.md — Line 11 still reads React on Rails 16.4.0+ while every other version reference in this PR was updated to 16.5.0.\n\n2. Missing bun add option in docs/oss/getting-started/installation-into-an-existing-rails-app.md — The PR adds bun to the supported package manager list in README, quick-start, and node-renderer basics, but the install snippet here only shows npm / yarn / pnpm.\n\n3. Evergreen concern in docs/pro/react-server-components/create-without-ssr.md — The replaced note dropped the context explaining why the version pin exists (minor-version RSC bundler API instability per the React docs). The new note says the example uses the current stable 19.0.4 line, which will silently go stale as new patches ship.\n\nMinor observations (no action required):\n\n- node-renderer/debugging.md now points to react_on_rails_pro/spec/dummy. The Node Renderer is a Pro feature so this is appropriate, but a brief note that the workflow assumes the Pro monorepo checkout could save confusion for OSS-only readers.\n- git commit -am to git add . and git commit -m in the tutorial is a good correctness fix.\n- bundle add --strict in llms.txt and the addition of bundle exec before generator calls are both good fixes.\n- The docs/README.md changelog link now points at the raw GitHub URL instead of a dead docs route — correct call.

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 26, 2026

Review

Good, focused docs pass. The changes are accurate and well-scoped. A few notes:

Verified correct:

  • Ruby 3.0+ and Node 18+ minimums match the gemspec (required_ruby_version = ">= 3.0.0") and actual validators. The distinction between "package minimum" vs "CI-tested range" in README.md is a helpful clarification.
  • 16.5.0 version bump is correct — that release landed 2026-03-25.
  • Debugging instructions in node-renderer/debugging.md are accurate: build:dev:watch, node-renderer, and node-renderer-debug scripts all exist in react_on_rails_pro/spec/dummy/package.json, and client/node-renderer.js is at the right path.
  • pnpm run build at repo root exists and builds all local packages.
  • The changelog link fix in docs/README.md correctly points to the live GitHub file instead of the dead ./oss/upgrading/changelog.md route.
  • git add . && git commit -m in tutorial.md is actually more correct than the original git commit -am for a fresh install (the -a flag stages tracked modifications/deletions but misses new untracked files, which is the typical post-shakapacker:install state).

Minor inconsistency (inline):
Two code blocks in docs/pro/react-server-components/create-without-ssr.md are missing bun alternatives that every other equivalent block in this PR includes. Left inline suggestions.

`bun pm ls` lists all packages and ignores the package name argument.
The correct bun equivalent for checking a specific package (like
`npm ls <pkg>` / `yarn why <pkg>` / `pnpm list <pkg>`) is
`bun pm why <pkg>`.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 27, 2026

Review: docs refresh (setup and runtime guidance)

Overall this is a good docs cleanup pass. The version floor corrections are confirmed accurate: the gemspec requires >= 3.0.0 and the Node validator warns below 18, so both changes are correct. The prerender_caching default fix is also accurate (DEFAULT_PRERENDER_CACHING = false in configuration.rb).

A few things to address:

1. Tilde constraint still pins to 19.0.x in the upgrade guide

In upgrading-existing-pro-app.md the upgrade command uses ~19.0.4 (>=19.0.4 <19.1.0), but the PR's stated goal is to remove the '19.0.x only' restriction. If React 19.1.x+ is now supported, these commands should use ^19.0.4 or just version-agnostic guidance. If 19.0.x is still the limit, the vague 'React 19 with a compatible react-on-rails-rsc version' language added elsewhere needs to be more specific.

2. Version pinning inconsistency between guides

create-without-ssr.md pins exact 19.0.4 while upgrading-existing-pro-app.md uses tilde ~19.0.4. Both serve different purposes but aligned guidance (with a note explaining why exact vs. range) would reduce user confusion.

3. The local docs/oss/upgrading/changelog.md file still exists

The docs/README.md changelog link now points to the GitHub URL, which fixes the published docs site. However, the local docs/oss/upgrading/changelog.md file (a full changelog copy) is now silently orphaned — nothing links to it. Consider either removing the file, adding a redirect note, or keeping the relative link alongside the GitHub URL.

Minor: pnpm run build in debugging.md

The new debugging instructions add pnpm run build at the repo root (step 1). If the Pro sub-package build script is not named build in the monorepo workspace root, this will silently do nothing or fail. Worth verifying the exact pnpm script name.

The Procfile.dev already starts the renderer with --inspect and
debug logging. Most developers will have the app running via bin/dev,
so the debugging guide should start there before describing the
manual per-terminal approach for isolated debugging.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@ihabadham ihabadham merged commit 6dfa18a into main Mar 27, 2026
30 checks passed
@ihabadham ihabadham deleted the jg-codex/docs-review-pass-3 branch March 27, 2026 20:51
@@ -32,8 +32,8 @@
gem search react_on_rails --remote

# Verify prerequisites
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The AI agent guide now recommends the bare minimum versions (3.0+/18+) rather than the CI-tested range. Agents following these instructions may set up environments that work but haven't been validated by CI. Consider keeping the CI-tested range here to bias agents toward well-tested configurations:

Suggested change
# Verify prerequisites
ruby -v # Should be 3.2+ (CI tested: 3.2 - 3.4; minimum: 3.0)
node -v # Should be 20+ (CI tested: 20 - 22; minimum: 18)

@@ -200,8 +200,8 @@ _Requires creating a free account._

- Ruby on Rails >= 5
- Shakapacker >= 6.0 (CI tested: 8.2.0 - 9.5.0; autobundling requires >= 7.0)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The phrase "package minimum" implies this is enforced by a package metadata field (e.g. engines in package.json), but neither packages/react-on-rails/package.json nor the monorepo root package.json currently declares an engines.node constraint. This is an asserted minimum, not a formally enforced one. Either add an engines field to back up the claim, or rephrase to "documented minimum" to avoid confusion.


```bash
yarn add react@19.0.0 react-dom@19.0.0 react-on-rails-rsc@19.0.0
yarn add react@19.0.4 react-dom@19.0.4 react-on-rails-rsc@19.0.4
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The react-on-rails-rsc package is pinned to 19.0.4 in the same command as React 19.0.4, which implies its version tracks React's — but that's not obvious to readers. The note below explains "update to the latest 19.x patch", which suggests the RSC package version intentionally mirrors React's version number. A brief explanation of this convention (e.g. "the react-on-rails-rsc version should match your React version") would prevent confusion when users try to find react-on-rails-rsc@19.1.x after upgrading React.

```bash
pnpm add react@~19.0.4 react-dom@~19.0.4
pnpm add react@~19.0.4 react-dom@~19.0.4 react-on-rails-rsc@~19.0.4
# or: yarn add react@~19.0.4 react-dom@~19.0.4 react-on-rails-rsc@~19.0.4
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The tilde constraint ~19.0.4 allows only 19.0.4 – 19.0.x (patch range). But the broader note in this PR loosens the language to "React 19 with a compatible react-on-rails-rsc version", implying 19.1.x+ could eventually be allowed. This tilde is internally consistent with the security callout ("19.0.4+ is recommended … earlier 19.0.x have vulnerabilities"), but it contradicts the looser RSC wording elsewhere. Consider an explicit comment like # keeps within 19.0.x; see note below to make the intent clear.

- React on Rails Pro v4.0.0 or higher
- React 19.0.x (19.1.x and later are not yet supported)
- React on Rails v16.0.0 or higher
- React on Rails Pro v16.4.0 or higher
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The old requirement listed "React on Rails Pro v4.0.0 or higher", which was a much lower bar. Bumping the documented minimum to v16.4.0 is a significant change — users on v4–v16.3 who relied on that section as a compatibility baseline would now see a different requirement. If there was any RSC support before v16.4.0, a brief deprecation note (e.g. "RSC support was significantly revised in v16.4.0; earlier versions had partial support") would help users on older versions understand what changed.

@claude
Copy link
Copy Markdown
Contributor

claude bot commented Mar 27, 2026

Solid documentation cleanup overall. The prerender_caching correction and debugging workflow rewrite are both verified accurate against source code and Procfiles. Five issues flagged with inline comments: (1) AGENTS_USER_GUIDE.md drops recommended versions to minimum rather than CI-tested range, which could cause AI agents to pick under-tested environments; (2) README 'package minimum' for Node 18 is not backed by an engines field in package.json; (3) react-on-rails-rsc version-mirroring convention is unexplained in create-without-ssr.md; (4) upgrading guide uses ~19.0.4 tilde but PR language allows React 19 broadly - the intent should be explicit; (5) RSC minimum quietly jumped from v4 to v16.4 without a migration note. On the positive side: prerender_caching fix is accurate (DEFAULT_PRERENDER_CACHING = false confirmed at react_on_rails_pro/lib/react_on_rails_pro/configuration.rb:48), the debugging section replacement matches the actual Procfile.dev and package.json scripts in the Pro dummy app, loosening React 19.0.x to 'React 19 with compatible react-on-rails-rsc' is the right direction, and the bundle exec and --strict additions to llms.txt are good hygiene.

@justin808 justin808 mentioned this pull request Mar 28, 2026
2 tasks
justin808 added a commit that referenced this pull request Mar 28, 2026
## Summary

- Stamped `### [16.5.1] - 2026-03-27` with two Pro fixes (PRs #2872,
#2768)
- Removed the `### [16.5.0.rc.0]` section (was already released as
16.5.0 stable)
- Consolidated the 16.5.0 section with full entries (previously just
said "no changes from rc.0")
- Updated diff links at bottom of file

## Skipped PRs (docs/internal only)
#2856, #2860, #2857, #2859, #2864, #2870, #2863, #2868, #2827, #2862,
#2850, #2851, #2852, #2831, #2610, #2848

## Test plan
- [ ] Verify CHANGELOG.md formatting and diff links are correct
- [ ] Run `rake release` (no args) after merge to publish 16.5.1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: changes are limited to `CHANGELOG.md` release notes and
version/compare links with no runtime code modifications.
> 
> **Overview**
> Documents the `16.5.1` release by adding a new section under
*Unreleased* with two **[Pro]** fixes (missing packaged rake tasks and
avoiding duplicated bundles during remote renderer asset uploads).
> 
> Cleans up the `16.5.0` entry by removing the `16.5.0.rc.0` section and
updating the compare-link footer so `unreleased` now starts from
`v16.5.1` and `16.5.0` compares from `v16.4.0`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
9a6b224. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated changelog to document version 16.5.1 release with consolidated
version history and updated comparison links.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
justin808 added a commit that referenced this pull request Mar 28, 2026
…olve-2835

* origin/main:
  Bump version to 16.5.1
  Update CHANGELOG.md for 16.5.1 (#2873)
  fix: include lib/tasks/ in pro gem so rake tasks are available (#2872)
  docs: clarify how React on Rails compares to alternatives (#2856)
  docs: fix published setup guidance gaps (#2860)
  docs: refresh setup and runtime guidance (#2857)
  docs: refresh pro upgrade examples (#2859)
  docs: modernize dependency update commands (#2864)
  Update spec/dummy Gemfile.lock for async >= 2.29 (#2870)

# Conflicts:
#	CHANGELOG.md
justin808 added a commit that referenced this pull request Mar 28, 2026
…olve-2849

* origin/main:
  Bump version to 16.5.1
  Update CHANGELOG.md for 16.5.1 (#2873)
  fix: include lib/tasks/ in pro gem so rake tasks are available (#2872)
  docs: clarify how React on Rails compares to alternatives (#2856)
  docs: fix published setup guidance gaps (#2860)
  docs: refresh setup and runtime guidance (#2857)
  docs: refresh pro upgrade examples (#2859)
  docs: modernize dependency update commands (#2864)
  Update spec/dummy Gemfile.lock for async >= 2.29 (#2870)

# Conflicts:
#	CHANGELOG.md
justin808 added a commit that referenced this pull request Mar 28, 2026
…olve-2828

* origin/main:
  Bump version to 16.5.1
  Update CHANGELOG.md for 16.5.1 (#2873)
  fix: include lib/tasks/ in pro gem so rake tasks are available (#2872)
  docs: clarify how React on Rails compares to alternatives (#2856)
  docs: fix published setup guidance gaps (#2860)
  docs: refresh setup and runtime guidance (#2857)
  docs: refresh pro upgrade examples (#2859)
  docs: modernize dependency update commands (#2864)
  Update spec/dummy Gemfile.lock for async >= 2.29 (#2870)

# Conflicts:
#	CHANGELOG.md
justin808 added a commit that referenced this pull request Mar 28, 2026
…olve-2834

* origin/main:
  Bump version to 16.5.1
  Update CHANGELOG.md for 16.5.1 (#2873)
  fix: include lib/tasks/ in pro gem so rake tasks are available (#2872)
  docs: clarify how React on Rails compares to alternatives (#2856)
  docs: fix published setup guidance gaps (#2860)
  docs: refresh setup and runtime guidance (#2857)
  docs: refresh pro upgrade examples (#2859)
  docs: modernize dependency update commands (#2864)
  Update spec/dummy Gemfile.lock for async >= 2.29 (#2870)

# Conflicts:
#	CHANGELOG.md
justin808 added a commit that referenced this pull request Mar 28, 2026
…olve-2833

* origin/main:
  Bump version to 16.5.1
  Update CHANGELOG.md for 16.5.1 (#2873)
  fix: include lib/tasks/ in pro gem so rake tasks are available (#2872)
  docs: clarify how React on Rails compares to alternatives (#2856)
  docs: fix published setup guidance gaps (#2860)
  docs: refresh setup and runtime guidance (#2857)
  docs: refresh pro upgrade examples (#2859)
  docs: modernize dependency update commands (#2864)
  Update spec/dummy Gemfile.lock for async >= 2.29 (#2870)

# Conflicts:
#	CHANGELOG.md
justin808 added a commit that referenced this pull request Mar 28, 2026
…olve-2661

* origin/main:
  Clarify streaming narrative in RSC docs (#2813) (#2814)
  Bump version to 16.5.1
  Update CHANGELOG.md for 16.5.1 (#2873)
  fix: include lib/tasks/ in pro gem so rake tasks are available (#2872)
  docs: clarify how React on Rails compares to alternatives (#2856)
  docs: fix published setup guidance gaps (#2860)
  docs: refresh setup and runtime guidance (#2857)
  docs: refresh pro upgrade examples (#2859)
  docs: modernize dependency update commands (#2864)
  Update spec/dummy Gemfile.lock for async >= 2.29 (#2870)

# Conflicts:
#	docs/oss/migrating/rsc-data-fetching.md
justin808 added a commit that referenced this pull request Mar 28, 2026
## Summary

This applies another docs review pass focused on current copy-paste
hazards and published-site mismatches.

Changes in this PR:
- fix broken setup snippets in `llms.txt` and the tutorial/install
guides
- refresh documented runtime floors to match current validators and
gemspec support (`Ruby 3.0+`, `Node 18+`)
- replace stale Node Renderer debugging steps with the current `pnpm` +
Pro dummy app workflow
- fix the docs landing page changelog link so the published docs site no
longer points at a dead route
- refresh Pro/RSC entry docs to current version guidance and supported
`react-on-rails-rsc` compatibility wording
- fix the bad Pro link in `docs/pro/js-memory-leaks.md`

Follow-up filed separately:
- shakacode/reactonrails.com#63 for missing
legacy `/docs/guides/*` redirects on the site

## Test plan

- `pnpm run lint`
- `pnpm start format.listDifferent`
- `git diff --check`
- `lychee --offline --no-progress --format compact llms.txt README.md
AGENTS_USER_GUIDE.md docs/README.md
docs/oss/api-reference/generator-details.md
docs/oss/building-features/node-renderer/basics.md
docs/oss/building-features/node-renderer/debugging.md
docs/oss/deployment/troubleshooting.md
docs/oss/getting-started/installation-into-an-existing-rails-app.md
docs/oss/getting-started/quick-start.md
docs/oss/getting-started/tutorial.md docs/oss/introduction.md
docs/pro/home-pro.md docs/pro/installation.md
docs/pro/js-memory-leaks.md
docs/pro/react-server-components/create-without-ssr.md
docs/pro/react-server-components/index.md
docs/pro/react-server-components/upgrading-existing-pro-app.md`
- verified live destinations return `200`:
  - `https://github.com/shakacode/react_on_rails/blob/main/CHANGELOG.md`
  - `https://reactonrails.com/docs/pro/`
  - `https://pro.reactonrails.com/`

## Notes

- `bundle exec rubocop` still fails on the repo baseline due hundreds of
unrelated existing offenses in generated/bin and legacy files; this PR
changes no `.rb` files.

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: documentation-only updates adjusting stated runtime minimums
and setup/debugging instructions; no code or runtime behavior changes.
> 
> **Overview**
> Updates docs to reflect **minimum supported runtimes** (Ruby `3.0+`,
Node `18+`) and modernizes setup snippets to be more copy/paste-safe
(e.g., `bundle add ... --strict`, `bundle exec rails generate ...`, and
package-manager-agnostic install commands including `bun`).
> 
> Refreshes **Pro / Node Renderer / RSC** documentation: replaces stale
renderer debugging instructions with the current `pnpm` monorepo
dummy-app workflow, clarifies RSC compatibility as “React 19 +
compatible `react-on-rails-rsc`”, and fixes/updates links (notably the
docs changelog URL and Pro docs link in `js-memory-leaks.md`).
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
5acee11. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
## Summary by CodeRabbit

* **Documentation**
* Lowered documented minimums: Ruby 3.0+ and Node.js 18+; CI-tested
ranges unchanged.
* Made install/setup steps package-manager-agnostic (npm/pnpm/Yarn/bun)
and added bun guidance.
* Clarified React Server Components compatibility and updated
Pro/prerequisite guidance to v16.4.0 with example React/RSC pins
(19.0.4).
* Strengthened generator/install instructions to use Bundler/strict
flags.
* Improved debugging/monorepo workflow, troubleshooting guidance, and
changelog/navigation links.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: ihabadham <ihabadham4p@gmail.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
justin808 added a commit that referenced this pull request Mar 28, 2026
## Summary

- Stamped `### [16.5.1] - 2026-03-27` with two Pro fixes (PRs #2872,
#2768)
- Removed the `### [16.5.0.rc.0]` section (was already released as
16.5.0 stable)
- Consolidated the 16.5.0 section with full entries (previously just
said "no changes from rc.0")
- Updated diff links at bottom of file

## Skipped PRs (docs/internal only)
#2856, #2860, #2857, #2859, #2864, #2870, #2863, #2868, #2827, #2862,
#2850, #2851, #2852, #2831, #2610, #2848

## Test plan
- [ ] Verify CHANGELOG.md formatting and diff links are correct
- [ ] Run `rake release` (no args) after merge to publish 16.5.1

🤖 Generated with [Claude Code](https://claude.com/claude-code)

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Low risk: changes are limited to `CHANGELOG.md` release notes and
version/compare links with no runtime code modifications.
> 
> **Overview**
> Documents the `16.5.1` release by adding a new section under
*Unreleased* with two **[Pro]** fixes (missing packaged rake tasks and
avoiding duplicated bundles during remote renderer asset uploads).
> 
> Cleans up the `16.5.0` entry by removing the `16.5.0.rc.0` section and
updating the compare-link footer so `unreleased` now starts from
`v16.5.1` and `16.5.0` compares from `v16.4.0`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
9a6b224. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **Documentation**
* Updated changelog to document version 16.5.1 release with consolidated
version history and updated comparison links.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

docs-cleanup Documentation cleanup or migration documentation P3 Parked priority review-needed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants