Skip to content

docs: fix published setup guidance gaps#2860

Merged
ihabadham merged 10 commits intomainfrom
jg-codex/docs-review-pass-5
Mar 28, 2026
Merged

docs: fix published setup guidance gaps#2860
ihabadham merged 10 commits intomainfrom
jg-codex/docs-review-pass-5

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 26, 2026

Summary

  • fix remaining live OSS docs links that still send readers to the dead pro.reactonrails.com destination
  • replace the stale manual RSC migration section in purpose-and-benefits.md with the current generator + Node Renderer upgrade path
  • refresh stale runnable setup instructions that still assume client/package.json, cd client, or a standalone node-renderer CLI
  • clarify that the images guide does not get a default images alias from current generators

Why

These came from another published-site walkthrough on reactonrails.com using persona paths:

  • OSS developers evaluating server rendering and configuration still hit dead Pro destinations on live pages
  • Pro evaluators could land on the live RSC purpose page and follow an incomplete setup path that skipped the Node Renderer prerequisite and the current rails generate react_on_rails:rsc workflow
  • existing-app integrators could copy commands from live Node Renderer, Heroku, images, and i18n pages that no longer match the current app layout or package-script conventions

Testing

  • pnpm exec prettier --check docs/oss/core-concepts/react-server-rendering.md docs/oss/configuration/README.md docs/pro/react-server-components/purpose-and-benefits.md docs/oss/building-features/node-renderer/js-configuration.md docs/oss/building-features/node-renderer/heroku.md docs/oss/building-features/images.md docs/oss/building-features/i18n.md
  • git diff --check
  • lychee --offline --no-progress --format compact docs/oss/core-concepts/react-server-rendering.md docs/oss/configuration/README.md docs/pro/react-server-components/purpose-and-benefits.md docs/oss/building-features/node-renderer/js-configuration.md docs/oss/building-features/node-renderer/heroku.md docs/oss/building-features/images.md docs/oss/building-features/i18n.md
  • pnpm run lint
  • pnpm start format.listDifferent

RuboCop

  • bundle exec rubocop still reports large pre-existing repo baseline failures in generated/bin and legacy files unrelated to this docs-only change

Note

Low Risk
Docs-only changes that update links and setup instructions; low implementation risk, with only potential for minor confusion if any guidance is still out of date.

Overview
Fixes multiple docs pages that had stale or incorrect setup guidance and dead Pro links.

Updates i18n, images, and Node Renderer docs to match current generator layouts (root package.json, no default images alias, and running the renderer via a root node-renderer script rather than cd client/a bundled CLI), including clearer Heroku Procfile.web examples and port notes.

Replaces the React Server Components “Migration Guide” section with the current generator-driven runbook (Node Renderer prerequisite + rails generate react_on_rails:rsc) and updates remaining pro.reactonrails.com links to reactonrails.com/docs/pro.

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

Summary by CodeRabbit

  • Documentation
    • Updated Pro links to point to dedicated Pro documentation pages
    • Reworked React Server Components migration guide into an infrastructure setup runbook with generator-driven setup and an upgrade checklist
    • Clarified i18n installation to use the project root package manifest
    • Updated image-asset guidance to prefer relative imports and explicit webpack aliases
    • Revised Node renderer and Heroku guidance to use root-level launch scripts and explicit port configuration

@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

Documentation links and guidance were updated across multiple docs: Pro links point to the Pro docs page; RSC migration instructions were refactored to reference an infrastructure runbook and upgrade checklist; Node renderer, image asset, and i18n docs were revised to prefer root-level scripts/imports and clarify launcher/config patterns.

Changes

Cohort / File(s) Summary
Pro docs link updates
docs/oss/configuration/README.md, docs/oss/core-concepts/react-server-rendering.md
Replaced legacy Pro landing links with the dedicated Pro docs URL (https://reactonrails.com/docs/pro/).
RSC migration guide (refactor)
docs/pro/react-server-components/purpose-and-benefits.md
Removed inline initializer and webpack setup steps; added prerequisite "infrastructure setup" runbook pointer and an "Upgrading an Existing Pro App to RSC" checklist reference.
Images / asset guidance
docs/oss/building-features/images.md
Removed claim of a global /client/app/assets/images and default images alias; recommend relative imports from app/javascript or define a webpack alias mapping to app/javascript/images.
i18n package.json location
docs/oss/building-features/i18n.md
Instructs adding react-intl and intl to the project root package.json instead of client/package.json; minor installation instruction formatting tweaks.
Node renderer launch/config guidance
docs/oss/building-features/node-renderer/js-configuration.md, docs/oss/building-features/node-renderer/heroku.md
Removed references to a shipped bin/node-renderer CLI; require app-owned launch scripts (root package.json node-renderer), updated example client/node-renderer.js path, adjusted serverBundleCachePath example, and revised Heroku Procfile.web and port/ENV guidance with npm/yarn/pnpm script examples.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~20 minutes

Poem

🐰 I hopped through docs with nimble paws,
I swapped old links and tightened laws,
Suggested scripts that live at root,
Cleared image paths and set the route,
A rabbit's nudge — tidy, small applause 🥕

🚥 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: fix published setup guidance gaps' directly summarizes the main change: addressing gaps in published documentation by updating outdated links, correcting setup instructions, and clarifying configuration guidance across multiple doc 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-5

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.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Reviewed the three changed files. Changes are correct and well-scoped:

  • Both OSS link fixes (pro.reactonrails.comreactonrails.com/docs/pro/) are straightforward and valid.
  • In purpose-and-benefits.md, the stale manual RSC setup steps (manual initializer config + hand-crafted webpack snippet) are replaced with numbered pointers to the current canonical runbook. The linked targets all exist:
    • ../installation.md#install-react-on-rails-pro-node-renderer → matches the ## Install react-on-rails-pro-node-renderer heading at line 204
    • ../../oss/building-features/node-renderer/basics.md → file exists
    • ./upgrading-existing-pro-app.md → file exists
  • The retained "Gradual Component Migration" content is unchanged and still accurate.

No issues found. LGTM.

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 26, 2026

Greptile Summary

This is a docs-only PR that fixes two dead Pro links and replaces a stale RSC migration section with a concise runbook pointer.\n\n- Fixes pro.reactonrails.comreactonrails.com/docs/pro/ in docs/oss/configuration/README.md and docs/oss/core-concepts/react-server-rendering.md\n- Replaces the outdated manual RSC setup steps (hand-written Ruby initializer + webpack snippet) in purpose-and-benefits.md with a 3-step list that directs users to the Node Renderer install guide, the current rails generate react_on_rails:rsc generator, and the canonical upgrading-existing-pro-app.md runbook\n- All cross-referenced files verified to exist; the #install-react-on-rails-pro-node-renderer anchor resolves to ## Install react-on-rails-pro-node-renderer in docs/pro/installation.md\n- No code changes; no runtime or test impact

Confidence Score: 5/5

Safe to merge — docs-only changes with no code, no tests, and no runtime impact.

All three changes are minimal, targeted documentation fixes. Dead links are replaced with verified live URLs, and the removed stale migration steps are superseded by correct cross-references whose target files all exist in the repo.

No files require special attention.

Important Files Changed

Filename Overview
docs/oss/configuration/README.md Single dead-link fix: pro.reactonrails.comreactonrails.com/docs/pro/ in the "Need Help?" section.
docs/oss/core-concepts/react-server-rendering.md Single dead-link fix: pro.reactonrails.comreactonrails.com/docs/pro/ in the ExecJS constraints section.
docs/pro/react-server-components/purpose-and-benefits.md Replaces stale manual RSC setup steps (ruby initializer + webpack snippet) with a concise 3-step runbook pointer; all cross-referenced files verified to exist and anchor resolves correctly.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[User reads OSS SSR or Config docs] -->|dead link before PR| B["pro.reactonrails.com ❌"]
    A -->|fixed link after PR| C["reactonrails.com/docs/pro/ ✅"]
    D[User reads Pro RSC purpose-and-benefits] -->|old path| E[Manual ruby initializer + webpack snippet\nincomplete / skips Node Renderer]
    D -->|new path| F[Install Node Renderer]
    F --> G["rails generate react_on_rails:rsc"]
    G --> H[upgrading-existing-pro-app.md full checklist]
    H --> I[Gradual Component Migration]
Loading

Reviews (1): Last reviewed commit: "docs: refresh stale setup instructions" | Re-trigger Greptile

@justin808 justin808 changed the title docs: fix published pro guidance gaps docs: fix published setup guidance gaps Mar 26, 2026
Comment thread docs/oss/building-features/node-renderer/heroku.md
Comment thread docs/oss/building-features/node-renderer/js-configuration.md
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Review: docs: fix published setup guidance gaps

Overall this is a clean, well-scoped docs-only PR. The motivation is solid and the changes are accurate. A couple of things worth addressing before merge:

Incomplete stale-link fix

The PR correctly updates pro.reactonrails.comreactonrails.com/docs/pro/ in configuration/README.md and react-server-rendering.md, but both files touched in this PR still carry the same dead URL in their Pro-feature header callout:

  • docs/oss/building-features/node-renderer/heroku.md line 4: [Get a license →](https://pro.reactonrails.com/)
  • docs/oss/building-features/node-renderer/js-configuration.md line 4: [Get a license →](https://pro.reactonrails.com/)

These are in the unchanged banner at the top of each file so they didn't show in the diff, but they're the same class of broken link the PR set out to fix. A grep shows ~10 other occurrences across the docs tree that could be addressed here or in a follow-up.

Path inconsistency between heroku.md and js-configuration.md

The new package.json script example in heroku.md uses client/node-renderer.js, while js-configuration.md shows ./node-renderer.js (root-level). If the canonical layout has moved the file out of client/, these should agree — see the inline comment on heroku.md line 35.

Minor observations (non-blocking)

  • The RSC migration section replacement in purpose-and-benefits.md is much cleaner and the three-step runbook is accurate. Good call removing the stale webpack snippet.
  • The images.md clarification that React on Rails does not provide a default images alias is a real footgun fix — worth keeping prominent.
  • The i18n fix (root package.json instead of client/package.json) correctly reflects the current monorepo layout.

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: 1

🤖 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/purpose-and-benefits.md`:
- Around line 138-146: Update the broken anchor in the markdown link in
purpose-and-benefits.md: replace the existing link target
"#install-react-on-rails-pro-node-renderer" in the "[Pro
Installation](../installation.md#install-react-on-rails-pro-node-renderer)" link
with the correct anchor "#node-renderer-installation" that matches the "Node
Renderer Installation" heading in the installation doc so the link resolves
properly.
🪄 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: 21be3d69-cdae-4f2d-92d3-c94b1c8ca854

📥 Commits

Reviewing files that changed from the base of the PR and between 9b30cc1 and 799258f.

📒 Files selected for processing (3)
  • docs/oss/configuration/README.md
  • docs/oss/core-concepts/react-server-rendering.md
  • docs/pro/react-server-components/purpose-and-benefits.md

Comment thread docs/pro/react-server-components/purpose-and-benefits.md
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.

🧹 Nitpick comments (2)
docs/oss/building-features/node-renderer/heroku.md (2)

43-43: Clarify the wording for package manager substitution.

The phrase "equivalent script command" might be unclear. The actual change is simply replacing pnpm with npm or yarn in the Procfile.web line.

✏️ Suggested rewording
-If you use `npm` or `yarn` instead of `pnpm`, use the equivalent script command in `Procfile.web`.
+If you use `npm` or `yarn` instead of `pnpm`, replace `pnpm` with your package manager in the `Procfile.web` line above (e.g., `npm run node-renderer` or `yarn run node-renderer`).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/oss/building-features/node-renderer/heroku.md` at line 43, Reword the
sentence to clearly instruct replacing the package manager token in
Procfile.web: instead of saying "equivalent script command", state that you
should replace "pnpm" with "npm" or "yarn" in the Procfile.web line (e.g.,
change the command starting with "pnpm" to start with "npm" or "yarn");
reference the Procfile.web entry and the tokens "pnpm", "npm", and "yarn" so
readers know exactly what to change.

30-30: Consider showing all three package manager variants for clarity.

While line 43 mentions npm/yarn alternatives, showing explicit examples for all three package managers (npm, yarn, pnpm) would align with the package-manager-agnostic documentation pattern used elsewhere in end-user docs.

📝 Suggested enhancement
-renderer: pnpm run node-renderer
+renderer: pnpm run node-renderer  # or: npm run node-renderer, or: yarn run node-renderer

Or show all three as separate options:

-renderer: pnpm run node-renderer
+# Choose one based on your package manager:
+renderer: npm run node-renderer
+# renderer: yarn run node-renderer
+# renderer: pnpm run node-renderer
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/oss/building-features/node-renderer/heroku.md` at line 30, Replace the
single package-manager-specific line "renderer: pnpm run node-renderer" with
three explicit variants so readers can copy the command for their tool of
choice; update the section to show "renderer: npm run node-renderer", "renderer:
yarn run node-renderer" (or "yarn node-renderer" if preferred), and "renderer:
pnpm run node-renderer" so all three package managers are represented
consistently with other docs.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/oss/building-features/node-renderer/heroku.md`:
- Line 43: Reword the sentence to clearly instruct replacing the package manager
token in Procfile.web: instead of saying "equivalent script command", state that
you should replace "pnpm" with "npm" or "yarn" in the Procfile.web line (e.g.,
change the command starting with "pnpm" to start with "npm" or "yarn");
reference the Procfile.web entry and the tokens "pnpm", "npm", and "yarn" so
readers know exactly what to change.
- Line 30: Replace the single package-manager-specific line "renderer: pnpm run
node-renderer" with three explicit variants so readers can copy the command for
their tool of choice; update the section to show "renderer: npm run
node-renderer", "renderer: yarn run node-renderer" (or "yarn node-renderer" if
preferred), and "renderer: pnpm run node-renderer" so all three package managers
are represented consistently with other docs.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a1bc8742-6d9a-4b3d-8fb3-f9ebe7bfc671

📥 Commits

Reviewing files that changed from the base of the PR and between 799258f and 8c56d3b.

📒 Files selected for processing (4)
  • docs/oss/building-features/i18n.md
  • docs/oss/building-features/images.md
  • docs/oss/building-features/node-renderer/heroku.md
  • docs/oss/building-features/node-renderer/js-configuration.md
✅ Files skipped from review due to trivial changes (2)
  • docs/oss/building-features/i18n.md
  • docs/oss/building-features/node-renderer/js-configuration.md

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Good docs hygiene PR. The changes are accurate and correctly modernize the setup instructions. A few issues worth addressing.

Dead links remain in modified files: heroku.md and js-configuration.md both still carry the dead pro.reactonrails.com link in their Pro Feature callout banner (line 4 of each file). Since the PR's stated goal is fixing dead Pro destination links, these two 'Get a license' links in the files you're already touching should be updated to https://reactonrails.com/docs/pro/ for consistency with the other fixes in this PR.

heroku.md — pnpm assumed in Procfile example before the caveat: The Procfile.web example leads with 'pnpm run node-renderer', and only the following paragraph explains that npm/yarn users must substitute. Readers who copy-paste before reading further will get a broken Procfile if they're not on pnpm. A short note before the snippet would help.

Scope — many other pro.reactonrails.com links remain: There are ~20+ other occurrences of pro.reactonrails.com in the docs directory not touched by this PR. That's expected for a targeted fix, but worth a follow-up issue to track the full cleanup.

Comment thread docs/oss/building-features/node-renderer/heroku.md
Comment thread docs/oss/building-features/node-renderer/js-configuration.md
Comment thread docs/oss/building-features/node-renderer/js-configuration.md
Comment thread docs/oss/building-features/node-renderer/js-configuration.md Outdated
Comment thread docs/oss/building-features/node-renderer/heroku.md Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Review: docs: fix published setup guidance gaps

Overall this is a solid, low-risk docs cleanup that correctly redirects dead Pro links and modernises the node-renderer setup guidance. Three issues worth addressing before merge:

Critical — ESM/CJS mismatch in js-configuration.md example

The "Simple example" code block uses ES module import syntax but also references __dirname, which is a CommonJS-only global (undefined in ESM). Users who copy the snippet verbatim will get a silently-wrong cache path. See inline comment at line 72. The actual spec/dummy/client/node-renderer.js reference file uses require() (CJS), so the doc example should be made consistent with it.

Important — two pro.reactonrails.com links still not updated

The PR's stated goal is to fix dead Pro destination links, but two "Get a license" anchors were missed:

  • docs/oss/building-features/node-renderer/js-configuration.md line 4 (inline comment posted)
  • docs/oss/building-features/node-renderer/heroku.md line 4 (outside diff window, but identical issue)

Both still point to https://pro.reactonrails.com/ instead of https://reactonrails.com/docs/pro/.

Minor — hardcoded port in Heroku package.json script

The new "node-renderer": "RENDERER_PORT=3800 node client/node-renderer.js" snippet inlines the port rather than relying on the RENDERER_PORT env var that the JS config already uses by default. If a user sets RENDERER_PORT in their environment, the inline value overrides it. See inline comment at line 38 for a suggested alternative.

Comment thread docs/oss/building-features/node-renderer/js-configuration.md Outdated
Comment thread docs/oss/building-features/node-renderer/js-configuration.md
Comment thread docs/oss/building-features/images.md Outdated
Comment thread docs/oss/building-features/node-renderer/heroku.md Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

CLAUDE.md

Tool-specific guidance for Claude Code in this repository.

Source of Truth

AGENTS.md is the canonical policy for:

  • Commands, tests, and lint workflow
  • Formatting and style requirements
  • Git/PR safety boundaries
  • Project directory boundaries

If this file conflicts with AGENTS.md, follow AGENTS.md.

Behavioral Defaults

  • When confident in your changes, commit and push without asking for permission. Always monitor CI after pushing.

Git Safety

  • NEVER force-push (--force, --force-with-lease) unless the user explicitly requests it. Force-pushing destroys commit history that may represent significant prior work.
  • NEVER git reset --hard on a branch that has existing commits (yours or others'). This destroys work.
  • When you need to start fresh or test something without affecting an existing branch, use a git worktree (git worktree add) or create a new branch instead of resetting the current one.
  • If a rebase has conflicts, abort and ask the user how to proceed rather than force-pushing a rewritten history.

Claude-Specific Workflow

Use these docs for Claude-oriented operational guidance:

  • .claude/docs/avoiding-ci-failure-cycles.md
  • .claude/docs/replicating-ci-failures.md
  • .claude/docs/playwright-e2e-testing.md
  • .claude/docs/merge-conflict-workflow.md
  • .claude/docs/pr-splitting-strategy.md
  • .claude/docs/changelog-guidelines.md
  • .claude/docs/project-architecture.md
  • .claude/docs/rails-engine-nuances.md
  • .claude/docs/debugging-webpack.md
  • .claude/docs/rbs-type-checking.md
  • .claude/docs/conductor-compatibility.md
  • .claude/docs/testing-build-scripts.md
  • .claude/docs/main-health-monitoring.md
  • .claude/docs/managing-file-paths.md

For Pro-package specifics, also read react_on_rails_pro/CLAUDE.md.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Review: docs: fix published setup guidance gaps

Overall this is a well-scoped, low-risk docs cleanup. Changes are accurate and the direction (root-level package.json scripts, generator-driven RSC setup, correct images alias path) is correct. A few issues worth addressing:

Incomplete dead-link sweep

The PR description says it fixes links that still send readers to the dead pro.reactonrails.com destination, but the sweep is only partial. The "Get a license →" callout that appears as the second line of the Pro feature banner was updated in js-configuration.md (inline comment filed), but the identical pattern was missed in the other files touched or adjacent to this PR:

File Still has pro.reactonrails.com
docs/oss/building-features/node-renderer/heroku.md line 4 (unchanged in diff — needs a follow-up fix)
docs/oss/building-features/node-renderer/error-reporting-and-tracing.md line 4
docs/oss/building-features/node-renderer/debugging.md line 4
docs/oss/building-features/node-renderer/troubleshooting.md line 4
docs/oss/building-features/node-renderer/basics.md line 4
docs/oss/building-features/code-splitting.md line 4
docs/oss/building-features/bundle-caching.md line 4
docs/oss/building-features/caching.md line 4
docs/oss/configuration/configuration-pro.md line 4
docs/pro/react-server-components/index.md line 4
docs/oss/api-reference/ruby-api-pro.md line 4

These can be a follow-up PR, but since the stated goal was fixing dead Pro links it's worth tracking.

__dirname in ES module example (js-configuration.md)

Inline comment filed at line 72. The client/node-renderer.js example uses import syntax but also references __dirname, which doesn't exist in ES modules. Either a fileURLToPath shim or a note that the file must be CommonJS would prevent silent breakage for projects with "type": "module" in their root package.json.

Minor code-block indentation (images.md)

Inline comment filed at line 42 — stray leading space on resolve: was carried over from the original.

Port clarification (heroku.md)

Inline comment filed at line 42. The example package.json script hardcodes RENDERER_PORT=3800, which is correct for same-dyno use. However, the same file later documents a separate Heroku app setup where Heroku assigns PORT dynamically. A brief callout would prevent readers from copying the wrong snippet into the wrong context.

Comment thread docs/oss/building-features/images.md Outdated
Comment thread docs/oss/building-features/node-renderer/js-configuration.md
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: 1

🧹 Nitpick comments (1)
docs/oss/building-features/node-renderer/js-configuration.md (1)

100-100: Prefer explicit npm/yarn/pnpm run commands here.

Line 100 says “equivalent npm/yarn command,” but showing the exact alternatives inline improves copy/paste reliability for end users.

Based on learnings: In all end-user documentation under docs/, package-manager-agnostic instructions should explicitly include npm, yarn, and pnpm examples.

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

In `@docs/oss/building-features/node-renderer/js-configuration.md` at line 100,
Replace the ambiguous "equivalent npm/yarn command" text and the single example
"pnpm run node-renderer" with explicit, copy-pasteable commands for all
supported package managers: show "pnpm run node-renderer", "npm run
node-renderer", and the yarn equivalent (e.g., "yarn run node-renderer" or "yarn
node-renderer") inline where the current line contains pnpm run node-renderer so
readers can directly copy the exact command for their package manager.
🤖 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/oss/building-features/node-renderer/heroku.md`:
- Around line 47-50: The Windows note implies the shown script uses inline env
syntax though the package.json snippet doesn't — reword the paragraph that
mentions `RENDERER_PORT=3800` to be a general caveat: state "If you use inline
environment variable assignment (e.g., RENDERER_PORT=3800 ...) on Windows, use
cross-env or set RENDERER_PORT separately" and add a short qualifier that the
example uses a fixed port while separate Heroku apps should use
`process.env.PORT`; update the referenced sentence containing `RENDERER_PORT`
and the following sentence to this phrasing so readers won't assume the snippet
includes inline env assignment.

---

Nitpick comments:
In `@docs/oss/building-features/node-renderer/js-configuration.md`:
- Line 100: Replace the ambiguous "equivalent npm/yarn command" text and the
single example "pnpm run node-renderer" with explicit, copy-pasteable commands
for all supported package managers: show "pnpm run node-renderer", "npm run
node-renderer", and the yarn equivalent (e.g., "yarn run node-renderer" or "yarn
node-renderer") inline where the current line contains pnpm run node-renderer so
readers can directly copy the exact command for their package manager.
🪄 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: 07cecf74-98cc-4b49-ab89-7a7c02a70cae

📥 Commits

Reviewing files that changed from the base of the PR and between 9e31bd7 and a24b1da.

📒 Files selected for processing (3)
  • docs/oss/building-features/images.md
  • docs/oss/building-features/node-renderer/heroku.md
  • docs/oss/building-features/node-renderer/js-configuration.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/oss/building-features/images.md

Comment thread docs/oss/building-features/node-renderer/heroku.md Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Review: docs: fix published setup guidance gaps

Good cleanup overall. The dead pro.reactonrails.com link replacements are correct, the i18n client/package.json to root package.json fix is accurate, and replacing the manual RSC migration steps with a pointer to the generator-based runbook is the right call.

Three issues worth addressing:

1. heroku.md lines 47-50 - Note references a port example that is not shown

The blockquote says this fixed-port example and mentions the RENDERER_PORT=3800 inline syntax, but the package.json script shown above it is just node client/node-renderer.js with no port at all. The Windows/cross-env caveat is irrelevant to what was shown. Either add the port to the script or rewrite the note to say the default comes from the renderer config (RENDERER_PORT || 3800). Inline comment posted.

2. js-configuration.md - CJS vs ESM inconsistency

The Simple example was correctly converted to CommonJS (require()), but the Custom Fastify Configuration section still uses ESM import statements. Since the prose now says the generator emits a CJS file that runs with bare node, these two sections conflict. Either convert the Fastify section to CJS or add a callout that it needs a .mjs extension or type:module in package.json. Inline comment posted.

3. images.md - indentation regression in webpack snippet

The diff removed the leading space from the resolve: line but left the children indented, producing a malformed-looking code block. A fix suggestion was posted inline.

@justin808
Copy link
Copy Markdown
Member Author

Addressed the latest CodeRabbit notes in 631a4ce3: the Heroku port note now matches the JS config default and RENDERER_PORT flow, and the related review threads are resolved.

Comment thread docs/oss/building-features/images.md
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Review: docs: fix published setup guidance gaps

Overall a solid documentation cleanup. The dead-link fixes, CommonJS migration, and i18n root-package.json correction are all correct and well-executed. A few focused observations:

heroku.md: incomplete Procfile.web example

The new text says 'keep the puma line' but never shows what that line looks like. A first-time deployer won't know the exact text (the original showed 'puma: bundle exec puma -C config/puma.rb'). Consider showing the full Procfile.web with both lines after the table.

images.md: path assumption may mislead older-layout apps

The example now assumes images live at app/javascript/images (Webpacker/Shakapacker layout). Apps still using the Rails asset pipeline with app/assets/images would be misled. A one-liner noting the path matches the Shakapacker generator layout and should be adjusted for other structures would prevent confusion.

js-configuration.md: serverBundleCachePath depth is correct but implicit

Changing ./.node-renderer-bundles to ../.node-renderer-bundles is right: with the file at client/node-renderer.js, __dirname points to client/ and ../ resolves to the app root. A brief inline comment such as 'resolves to app root: one level up from client/' would help users who place the file at a different depth.

Links verified

  • installation.md anchor install-react-on-rails-pro-node-renderer in purpose-and-benefits.md: heading confirmed at line 204.
  • docs/oss/building-features/node-renderer/basics.md: exists.
  • upgrading-existing-pro-app.md: exists.

Safe to merge. The items above are clarity suggestions, not blockers.

Comment thread docs/oss/building-features/node-renderer/heroku.md
Comment thread docs/oss/building-features/node-renderer/js-configuration.md
Comment thread docs/oss/building-features/images.md
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Test comment - please ignore

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Test comment - please ignore - DUPLICATE TO DELETE

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 26, 2026

Review: docs: fix published setup guidance gaps

Clean, well-scoped docs-only PR. The direction is correct throughout. One code-block formatting issue to fix, and a note on an existing review comment that appears to be incorrect.

Inline fix needed — images.md webpack alias indentation

The diff dropped a leading space from resolve: while leaving the inner lines untouched, so the snippet now has resolve: at column 0 but its closing }, at 2 spaces. Inline suggestion posted.

CodeRabbit's broken anchor claim is incorrect

CodeRabbit requested changes citing a broken anchor #install-react-on-rails-pro-node-renderer in purpose-and-benefits.md:141. The anchor is valid: docs/pro/installation.md:204 has the heading ## Install react-on-rails-pro-node-renderer, which GitHub Markdown converts to exactly that anchor. CodeRabbit's suggested replacement #node-renderer-installation would resolve to the less-specific parent heading # Node Renderer Installation at line 200. No change needed here.

Everything else looks good

  • All pro.reactonrails.com dead links (including the Get a license banners in heroku.md:4 and js-configuration.md:4) are correctly pointing to https://reactonrails.com/docs/pro/ in the current HEAD.
  • The heroku.md Procfile.web table already shows all three package managers (npm / yarn / pnpm), so CodeRabbit's nitpick about showing only pnpm is no longer applicable.
  • The js-configuration.md simple example correctly uses CommonJS (require()) and __dirname, matching the generator output and the spec/dummy reference file.
  • The RSC migration section replacement in purpose-and-benefits.md is accurate; all three cross-referenced targets exist and their anchors resolve.

The previous commit replaced the full Procfile.web code block with a
package-manager table showing only the renderer line. This left readers
without the puma line, which they need to copy-paste a working file.

Adds a complete example after the table so the page remains
self-contained.

Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
@ihabadham ihabadham merged commit a9984fe into main Mar 28, 2026
15 checks passed
@ihabadham ihabadham deleted the jg-codex/docs-review-pass-5 branch March 28, 2026 02:14
@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) <[email protected]>
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
- fix remaining live OSS docs links that still send readers to the dead
`pro.reactonrails.com` destination
- replace the stale manual RSC migration section in
`purpose-and-benefits.md` with the current generator + Node Renderer
upgrade path
- refresh stale runnable setup instructions that still assume
`client/package.json`, `cd client`, or a standalone `node-renderer` CLI
- clarify that the images guide does not get a default `images` alias
from current generators

## Why
These came from another published-site walkthrough on `reactonrails.com`
using persona paths:
- OSS developers evaluating server rendering and configuration still hit
dead Pro destinations on live pages
- Pro evaluators could land on the live RSC purpose page and follow an
incomplete setup path that skipped the Node Renderer prerequisite and
the current `rails generate react_on_rails:rsc` workflow
- existing-app integrators could copy commands from live Node Renderer,
Heroku, images, and i18n pages that no longer match the current app
layout or package-script conventions

## Testing
- `pnpm exec prettier --check
docs/oss/core-concepts/react-server-rendering.md
docs/oss/configuration/README.md
docs/pro/react-server-components/purpose-and-benefits.md
docs/oss/building-features/node-renderer/js-configuration.md
docs/oss/building-features/node-renderer/heroku.md
docs/oss/building-features/images.md docs/oss/building-features/i18n.md`
- `git diff --check`
- `lychee --offline --no-progress --format compact
docs/oss/core-concepts/react-server-rendering.md
docs/oss/configuration/README.md
docs/pro/react-server-components/purpose-and-benefits.md
docs/oss/building-features/node-renderer/js-configuration.md
docs/oss/building-features/node-renderer/heroku.md
docs/oss/building-features/images.md docs/oss/building-features/i18n.md`
- `pnpm run lint`
- `pnpm start format.listDifferent`

## RuboCop
- `bundle exec rubocop` still reports large pre-existing repo baseline
failures in generated/bin and legacy files unrelated to this docs-only
change

<!-- CURSOR_SUMMARY -->
---

> [!NOTE]
> **Low Risk**
> Docs-only changes that update links and setup instructions; low
implementation risk, with only potential for minor confusion if any
guidance is still out of date.
> 
> **Overview**
> Fixes multiple docs pages that had **stale or incorrect setup
guidance** and **dead Pro links**.
> 
> Updates i18n, images, and Node Renderer docs to match current
generator layouts (root `package.json`, no default `images` alias, and
running the renderer via a root `node-renderer` script rather than `cd
client`/a bundled CLI), including clearer Heroku `Procfile.web` examples
and port notes.
> 
> Replaces the React Server Components “Migration Guide” section with
the current generator-driven runbook (Node Renderer prerequisite +
`rails generate react_on_rails:rsc`) and updates remaining
`pro.reactonrails.com` links to `reactonrails.com/docs/pro`.
> 
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
9a3b1bb. 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 Pro links to point to dedicated Pro documentation pages
* Reworked React Server Components migration guide into an
infrastructure setup runbook with generator-driven setup and an upgrade
checklist
  * Clarified i18n installation to use the project root package manifest
* Updated image-asset guidance to prefer relative imports and explicit
webpack aliases
* Revised Node renderer and Heroku guidance to use root-level launch
scripts and explicit port configuration
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Co-authored-by: ihabadham <[email protected]>
Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
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) <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants