Update Pro URLs to pro.reactonrails.com, fix step count & license wording - #2669
Conversation
…ding - Replace ~60+ instances of https://www.shakacode.com/react-on-rails-pro with https://pro.reactonrails.com across all docs, source, and templates - Fix AGENTS_USER_GUIDE.md step count from "four steps" to "three steps" to match docs/pro/upgrading-to-pro.md - Align license messaging: all production use requires a paid license, with startup-friendly pricing available on request. Removes "free or low-cost" language that conflicted with EULA §4. Fixes #2668 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Note Reviews pausedIt 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 Use the following commands to manage reviews:
Use the checkboxes below for quick actions:
WalkthroughThis PR standardizes React on Rails Pro links and updates licensing copy across the repo: it replaces occurrences of https://www.shakacode.com/react-on-rails-pro/ with https://pro.reactonrails.com/ and changes “free/very low cost” phrasing to state a paid license is required for production, with startup-friendly pricing/contact guidance. Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Possibly related PRs
Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
📝 Coding Plan
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. Comment |
PR Review: URL Migration + License Language UpdateOverall this is a clean, low-risk documentation update. The mechanical URL replacement from ObservationsStep count fix (AGENTS_USER_GUIDE.md) ✅ Trailing slash inconsistency (cosmetic)
Both resolve to the same destination, so this is cosmetic — but worth picking one and standardizing. The
New domain verification SummaryNo correctness bugs or regressions introduced. The changes are purely additive string/URL updates with no behavioral impact. Ready to merge once the domain is confirmed live. |
| logLicenseIssue( | ||
| '[React on Rails Pro] No license found. Get a license at https://www.shakacode.com/react-on-rails-pro/', | ||
| ); | ||
| logLicenseIssue('[React on Rails Pro] No license found. Get a license at https://pro.reactonrails.com/'); |
There was a problem hiding this comment.
This line is now 100+ chars. The original used multi-line formatting — consider restoring it for consistency with the surrounding style:
| logLicenseIssue('[React on Rails Pro] No license found. Get a license at https://pro.reactonrails.com/'); | |
| logLicenseIssue( | |
| '[React on Rails Pro] No license found. Get a license at https://pro.reactonrails.com/', | |
| ); |
| logLicenseIssue( | ||
| '[React on Rails Pro] Invalid license. Get a license at https://www.shakacode.com/react-on-rails-pro/', | ||
| ); | ||
| logLicenseIssue('[React on Rails Pro] Invalid license. Get a license at https://pro.reactonrails.com/'); |
There was a problem hiding this comment.
Same issue — long single-line call where the surrounding style uses multi-line formatting:
| logLicenseIssue('[React on Rails Pro] Invalid license. Get a license at https://pro.reactonrails.com/'); | |
| logLicenseIssue( | |
| '[React on Rails Pro] Invalid license. Get a license at https://pro.reactonrails.com/', | |
| ); |
| @@ -183,7 +183,7 @@ def stream_react_component(component_name, options = {}) | |||
| # `rsc_payload_route` helper function. The returned data from this function is used internally by | |||
| # components registered using the `registerServerComponent` function. Don't use it unless you need | |||
| # more control over the RSC payload generation. To know more about RSC payload, see the following link: | |||
There was a problem hiding this comment.
Pre-existing issue (not introduced here), but worth noting: docs site URLs typically don't include the .md extension — this likely produces a 404 on the published site. Consider removing the extension in a follow-up:
| # more control over the RSC payload generation. To know more about RSC payload, see the following link: | |
| # @see https://pro.reactonrails.com/docs/how-react-server-components-works |
Greptile SummaryThis PR performs a large-scale URL migration (56 files, 60+ instances) replacing the old ShakaCode subdirectory URL with the new Key changes:
Confidence Score: 4/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A[PR: URL & Messaging Update] --> B[URL Migration\n60+ instances]
A --> C[Step Count Fix\nAGENTS_USER_GUIDE.md]
A --> D[License Wording\nAlignment with EULA §4]
B --> B1[Docs & READMEs\n~30 files]
B --> B2[Ruby Gems\nengine.rb, gemspec,\ngenerators, helpers]
B --> B3[npm Packages\nmaster.ts, StoreRegistry.ts\nClientSideRenderer.ts]
B --> B4[Templates\n.tt files, ERB, JSX/TSX]
B1 --> E[Old: shakacode.com/react-on-rails-pro]
B2 --> E
B3 --> E
B4 --> E
E --> F[New: pro.reactonrails.com]
C --> C1[4 steps → 3 steps\nFold Node renderer\nverification into step 3]
D --> D1[Remove: free or low-cost\nfor startups]
D --> D2[Add: paid license required\nfor production;\nstartup-friendly pricing available]
Last reviewed commit: "Update Pro URLs to p..." |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a045f7e7cd
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| 'If installation fails, verify your Bundler/RubyGems setup for react_on_rails_pro, then rerun with --rsc.', | ||
| ); | ||
| logInfo('Pro setup docs: https://www.shakacode.com/react-on-rails-pro/docs/installation/'); | ||
| logInfo('Pro setup docs: https://pro.reactonrails.com/docs/installation/'); |
There was a problem hiding this comment.
Point setup links back to the host that actually serves the docs
I checked the new pro.reactonrails.com/docs/... targets introduced here, and they currently return 404s (for example /docs/, /docs/installation/, and /docs/node-renderer/basics/), while the previous www.shakacode.com/react-on-rails-pro/docs/... URLs still resolve to the Pro documentation. Because the same hostname swap was applied throughout this commit, the CLI, generators, and runtime warnings now send users to dead documentation pages whenever they need installation or troubleshooting help.
Useful? React with 👍 / 👎.
size-limit report 📦
|
There was a problem hiding this comment.
Actionable comments posted: 3
🧹 Nitpick comments (1)
react_on_rails/lib/generators/react_on_rails/pro_setup.rb (1)
81-83: Clarify evaluation vs production licensing wording in this message block.The URL change is correct, but “Try Pro free!” can read as conflicting with the paid-production language used elsewhere. Consider tightening this copy to explicitly scope “free” to evaluation/non-production.
✏️ Suggested wording update
- Try Pro free! Email justin@shakacode.com for an evaluation license. - For evaluation licenses or more info, see: https://pro.reactonrails.com/ + Need to evaluate Pro in non-production? Email justin@shakacode.com for an evaluation license. + Paid licenses are required for production deployments. Startup-friendly pricing is available: + https://pro.reactonrails.com/🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@react_on_rails/lib/generators/react_on_rails/pro_setup.rb` around lines 81 - 83, Update the user-facing message in the MSG string in react_on_rails/lib/generators/react_on_rails/pro_setup.rb to avoid implying production use is free; replace "Try Pro free!" with explicit, scoped wording such as "Request a free evaluation license" or "Get a free evaluation license for non‑production use" and keep the URL change; ensure the updated sentence clearly ties "free" to evaluation/non-production rather than production.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@CHANGELOG.md`:
- Line 194: The changelog has inconsistent history: the sentence at Line 194
claiming "No license token is needed for evaluation, local development, testing,
or CI/CD" conflicts with the attribution at version 16.3.0 (around Line 114);
update the changelog so the licensing behavior is historically consistent by
either removing or rewording the Line 194 sentence to match the change noted
under version 16.3.0, or move the licensing sentence into the 16.3.0 entry and
add a brief cross-reference in the release notes; ensure references to "version
16.3.0" and the sentence about "No license token is needed for evaluation, local
development, testing, or CI/CD" are aligned.
In `@docs/pro/react-on-rails-pro.md`:
- Line 53: Replace the awkward phrase "better performing server rendering" in
the sentence that begins "Default server rendering is done by ExecJS." with a
clearer, hyphenated phrase such as "better-performing server-side rendering";
update the surrounding wording to read smoothly (e.g., "If you want to use a
Node.js server for better-performing server-side rendering, contact
justin@shakacode.com."). Ensure the email/link and mention of React on Rails Pro
remain unchanged.
In `@README.md`:
- Line 6: The new Pro logo <img> tag is missing an alt attribute; update the
anchor's <img> element (the Pro logo image) to include a descriptive alt text
(e.g., alt="Pro React on Rails logo" or similar) so accessibility/MD045 is
satisfied and screen readers get a meaningful description.
---
Nitpick comments:
In `@react_on_rails/lib/generators/react_on_rails/pro_setup.rb`:
- Around line 81-83: Update the user-facing message in the MSG string in
react_on_rails/lib/generators/react_on_rails/pro_setup.rb to avoid implying
production use is free; replace "Try Pro free!" with explicit, scoped wording
such as "Request a free evaluation license" or "Get a free evaluation license
for non‑production use" and keep the URL change; ensure the updated sentence
clearly ties "free" to evaluation/non-production rather than production.
🪄 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: 5ac58746-e354-4899-915f-292e52276b2e
📒 Files selected for processing (56)
.claude/docs/analysis/PHASE_7_8_CHECKLIST.mdAGENTS_USER_GUIDE.mdCHANGELOG.mdREADME.mddocs/README.mddocs/oss/api-reference/ruby-api-pro.mddocs/oss/api-reference/view-helpers-api.mddocs/oss/building-features/bundle-caching.mddocs/oss/building-features/caching.mddocs/oss/building-features/code-splitting.mddocs/oss/building-features/node-renderer/basics.mddocs/oss/building-features/node-renderer/debugging.mddocs/oss/building-features/node-renderer/error-reporting-and-tracing.mddocs/oss/building-features/node-renderer/heroku.mddocs/oss/building-features/node-renderer/js-configuration.mddocs/oss/building-features/node-renderer/troubleshooting.mddocs/oss/building-features/rails-webpacker-react-integration-options.mddocs/oss/building-features/turbolinks.mddocs/oss/configuration/README.mddocs/oss/configuration/configuration-pro.mddocs/oss/core-concepts/react-server-rendering.mddocs/oss/deployment/troubleshooting.mddocs/oss/getting-started/comparison-with-alternatives.mddocs/oss/getting-started/oss-vs-pro.mddocs/oss/introduction.mddocs/oss/migrating/migrating-to-rsc.mddocs/oss/upgrading/release-notes/16.1.0.mddocs/oss/upgrading/release-notes/16.2.0.mddocs/oss/upgrading/upgrading-react-on-rails.mddocs/pro/home-pro.mddocs/pro/major-performance-breakthroughs-upgrade-guide.mddocs/pro/react-on-rails-pro.mddocs/pro/upgrading-to-pro.mdllms.txtpackages/create-react-on-rails-app/src/index.tspackages/react-on-rails-pro-node-renderer/README.mdpackages/react-on-rails-pro-node-renderer/src/master.tspackages/react-on-rails-pro-node-renderer/src/shared/configBuilder.tspackages/react-on-rails-pro/README.mdpackages/react-on-rails-pro/src/ClientSideRenderer.tspackages/react-on-rails/src/StoreRegistry.tsreact_on_rails/lib/generators/react_on_rails/pro_generator.rbreact_on_rails/lib/generators/react_on_rails/pro_setup.rbreact_on_rails/lib/generators/react_on_rails/rsc_generator.rbreact_on_rails/lib/generators/react_on_rails/templates/pro/base/config/initializers/react_on_rails_pro.rb.ttreact_on_rails/lib/generators/react_on_rails/templates/rsc/base/app/controllers/hello_server_controller.rb.ttreact_on_rails/lib/generators/react_on_rails/templates/rsc/base/app/javascript/src/HelloServer/components/HelloServer.jsxreact_on_rails/lib/generators/react_on_rails/templates/rsc/base/app/javascript/src/HelloServer/components/HelloServer.tsxreact_on_rails/lib/generators/react_on_rails/templates/rsc/base/app/views/hello_server/index.html.erbreact_on_rails/lib/generators/react_on_rails/templates/rsc/base/config/webpack/rscWebpackConfig.js.ttreact_on_rails/lib/react_on_rails/utils.rbreact_on_rails/react_on_rails.gemspecreact_on_rails_pro/LICENSE_SETUP.mdreact_on_rails_pro/app/helpers/react_on_rails_pro_helper.rbreact_on_rails_pro/lib/react_on_rails_pro/engine.rbreact_on_rails_pro/lib/react_on_rails_pro/license_task_formatter.rb
| <a href="https://shakacode.com/"><img src="https://user-images.githubusercontent.com/10421828/79436256-517d0500-7fd9-11ea-9300-dfbc7c293f26.png"></a> | ||
| <a href="https://forum.shakacode.com/"><img src="https://user-images.githubusercontent.com/10421828/79436266-53df5f00-7fd9-11ea-94b3-b985e1b05bdc.png"></a> | ||
| <a href="https://www.shakacode.com/react-on-rails-pro"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png"></a> | ||
| <a href="https://pro.reactonrails.com"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png"></a> |
There was a problem hiding this comment.
Add alt text to the new Pro logo image.
Line 6 introduces an <img> without alt, which regresses accessibility and triggers MD045.
♿ Suggested fix
- <a href="https://pro.reactonrails.com"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png"></a>
+ <a href="https://pro.reactonrails.com"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png" alt="React on Rails Pro"></a>📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| <a href="https://pro.reactonrails.com"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png"></a> | |
| <a href="https://pro.reactonrails.com"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png" alt="React on Rails Pro"></a> |
🧰 Tools
🪛 markdownlint-cli2 (0.21.0)
[warning] 6-6: Images should have alternate text (alt text)
(MD045, no-alt-text)
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@README.md` at line 6, The new Pro logo <img> tag is missing an alt attribute;
update the anchor's <img> element (the Pro logo image) to include a descriptive
alt text (e.g., alt="Pro React on Rails logo" or similar) so accessibility/MD045
is satisfied and screen readers get a meaningful description.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Review: PR 2669 — Update Pro URLs and Fix Step Count/License Wording. Overall this is clean and consistent. Three items: (1) CHANGELOG.md retroactively changes pricing substance in released entries — recommend URL-only edits to released entries, put corrected pricing in unreleased section. (2) AGENTS_USER_GUIDE.md step consolidation drops the explicit check to verify config.server_renderer = NodeRenderer in the Pro initializer — keep it as a sub-bullet. (3) Pre-existing .md suffix in @see URL in react_on_rails_pro_helper.rb — good opportunity to fix since file is already touched. Inline comments below. |
| ``` | ||
|
|
||
| 4. Free or low-cost Pro licenses are available for startups, small companies, and qualifying organizations. Visit [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro) to get started, or contact [justin@shakacode.com](mailto:justin@shakacode.com) for any questions. | ||
| 4. A paid license is required for all production deployments. No license token is needed for evaluation, local development, testing, or CI/CD. Startups and small companies should contact [justin@shakacode.com](mailto:justin@shakacode.com) for discounted pricing. Visit [React on Rails Pro](https://pro.reactonrails.com) to get started. |
There was a problem hiding this comment.
This changes the substance of a released CHANGELOG entry, not just the URL. The old statement ("Free or low-cost Pro licenses are available for startups, small companies, and qualifying organizations") represented the terms communicated at that version's release. Replacing it with "A paid license is required for all production deployments" rewrites history.
Recommendation: keep CHANGELOG edits to released entries as URL-only changes. Add the corrected pricing language only in the current unreleased section or as a top-of-file note.
| # components registered using the `registerServerComponent` function. Don't use it unless you need | ||
| # more control over the RSC payload generation. To know more about RSC payload, see the following link: | ||
| # @see https://www.shakacode.com/react-on-rails-pro/docs/how-react-server-components-works.md | ||
| # @see https://pro.reactonrails.com/docs/how-react-server-components-works.md |
There was a problem hiding this comment.
Pre-existing issue: the .md extension in the URL (https://pro.reactonrails.com/docs/how-react-server-components-works.md) will not resolve as a web page. Since this file is already touched by the PR, it's a good opportunity to fix it:
| # @see https://pro.reactonrails.com/docs/how-react-server-components-works.md | |
| # @see https://pro.reactonrails.com/docs/how-react-server-components-works |
| 2. **package.json** — Replace `react-on-rails` with `react-on-rails-pro`, update imports | ||
| 3. **Generator** — Run `bundle exec rails generate react_on_rails:pro` | ||
| 4. **Node renderer** — Verify the generated Pro initializer enables `config.server_renderer = "NodeRenderer"`, confirm the server renderer entrypoint and scripts exist, then run `bundle exec rails react_on_rails:doctor` and restart `bin/dev` | ||
| 3. **Generator** — Run `bundle exec rails generate react_on_rails:pro`, then verify with `bundle exec rails react_on_rails:doctor` and restart `bin/dev` |
There was a problem hiding this comment.
Merging old step 4 into step 3 silently drops this important verifier:
Verify the generated Pro initializer enables
config.server_renderer = "NodeRenderer", confirm the server renderer entrypoint and scripts exist
react_on_rails:doctor catches some issues but doesn't explicitly confirm the initializer is correct. A user who skips this check can end up with the OSS ExecJS renderer still running silently. Consider keeping the verifier as a sub-bullet:
| 3. **Generator** — Run `bundle exec rails generate react_on_rails:pro`, then verify with `bundle exec rails react_on_rails:doctor` and restart `bin/dev` | |
| 3. **Generator** — Run `bundle exec rails generate react_on_rails:pro`, then: | |
| - Verify `config/initializers/react_on_rails_pro.rb` has `config.server_renderer = "NodeRenderer"` and the server entrypoint exists | |
| - Run `bundle exec rails react_on_rails:doctor` and restart `bin/dev` |
The Pro URL migration changed license URLs from shakacode.com to pro.reactonrails.com, but the engine_spec still expected the old domain. Also exclude Pro docs paths from lychee since pages are being deployed incrementally. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| @@ -79,7 +79,7 @@ def missing_pro_gem?(force: false) | |||
| Then run: bundle install | |||
|
|
|||
| Try Pro free! Email justin@shakacode.com for an evaluation license. | |||
There was a problem hiding this comment.
The phrase "Try Pro free!" was left unchanged here, which potentially contradicts this PR's goal of removing misleading "free" language. Consider updating to something like:
| Try Pro free! Email justin@shakacode.com for an evaluation license. | |
| Try Pro! Email justin@shakacode.com for an evaluation license. |
Evaluation licenses are free, but the current phrasing implies the product itself is free — the same implication the PR is removing elsewhere.
| # PLANNED DEPLOYMENTS NOT YET LIVE | ||
| # ============================================================================ | ||
| '^https://ror-spec-dummy\.reactrails\.com', # spec/dummy demo - deployment pending | ||
| '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally |
There was a problem hiding this comment.
This exclusion only covers /docs/ subpaths. The PR also introduces many references to the bare root URLs (https://pro.reactonrails.com and https://pro.reactonrails.com/) in README.md, react_on_rails.gemspec, engine.rb, AGENTS_USER_GUIDE.md, etc. Those are not matched by this pattern and will be checked by lychee.
If the root domain is already live (with only the /docs/ pages being incrementally deployed), this is fine. If the root domain isn't live yet either, CI link checks will fail. Worth confirming the root URL resolves.
| @@ -39,7 +39,7 @@ Gem::Specification.new do |s| | |||
| s.add_development_dependency "gem-release" | |||
| s.post_install_message = ' | |||
| -------------------------------------------------------------------------------- | |||
There was a problem hiding this comment.
Minor trailing-slash inconsistency: this uses https://pro.reactonrails.com (no trailing slash), while engine.rb, utils.rb, and most other files in this PR use https://pro.reactonrails.com/ (with trailing slash). Both redirect identically, but standardising the format across the codebase would be cleaner.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
.lychee.toml (1)
73-73: Regex could be more robust to match/docswith or without trailing slashLine 73's pattern requires a trailing slash after
docs/. While this doesn't cause issues for URLs currently in the codebase, making the regex more inclusive improves defensive coverage.Suggested improvement
- '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally + '^https://pro\.reactonrails\.com/docs(/|$)', # Pro docs site - pages being deployed incrementally🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In @.lychee.toml at line 73, Update the regex pattern '^https://pro\.reactonrails\.com/docs/' in .lychee.toml to accept `/docs` with or without a trailing slash; replace it with a pattern like '^https://pro\.reactonrails\.com/docs(?:/|$)' so it matches URLs ending at `/docs`, `/docs/`, or those with further path segments starting with `/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 @.lychee.toml:
- Line 73: Update the regex pattern '^https://pro\.reactonrails\.com/docs/' in
.lychee.toml to accept `/docs` with or without a trailing slash; replace it with
a pattern like '^https://pro\.reactonrails\.com/docs(?:/|$)' so it matches URLs
ending at `/docs`, `/docs/`, or those with further path segments starting with
`/docs/`.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 81b2a1b0-20b8-4c0a-a351-b925ccce2b2c
📒 Files selected for processing (2)
.lychee.tomlreact_on_rails_pro/spec/react_on_rails_pro/engine_spec.rb
| 2. **package.json** — Replace `react-on-rails` with `react-on-rails-pro`, update imports | ||
| 3. **Generator** — Run `bundle exec rails generate react_on_rails:pro` | ||
| 4. **Node renderer** — Verify the generated Pro initializer enables `config.server_renderer = "NodeRenderer"`, confirm the server renderer entrypoint and scripts exist, then run `bundle exec rails react_on_rails:doctor` and restart `bin/dev` | ||
| 3. **Generator** — Run `bundle exec rails generate react_on_rails:pro`, then verify with `bundle exec rails react_on_rails:doctor` and restart `bin/dev` |
There was a problem hiding this comment.
The old step 4 contained specific verification instructions that were dropped in this merge:
Verify the generated Pro initializer enables
config.server_renderer = "NodeRenderer", confirm the server renderer entrypoint and scripts exist
The new step 3 only mentions running rails react_on_rails:doctor. Worth confirming that docs/pro/upgrading-to-pro.md covers those initializer-verification details, so agents following this condensed guide don't miss the config.server_renderer check.
|
Overall this is a clean, low-risk cleanup PR. The URL migration is comprehensive, the test in engine_spec.rb was correctly updated, and the license wording changes are consistent. Four observations (inline comments posted for the specific lines): (1) pro_setup.rb line 81 still says Try Pro free! which contradicts the goal of removing free/low-cost language. (2) The lychee exclusion only covers /docs/ subpaths, so bare root URLs like https://pro.reactonrails.com/ will still be link-checked - confirm the root domain is live. (3) Minor trailing-slash inconsistency: gemspec uses https://pro.reactonrails.com without a trailing slash while most files use one. (4) Folding step 4 into step 3 in AGENTS_USER_GUIDE.md drops the reminder to verify config.server_renderer is set to NodeRenderer - confirm upgrading-to-pro.md covers this detail. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2a378210ad
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| ## React on Rails Pro | ||
|
|
||
| React on Rails Pro adds advanced rendering and performance features on top of the open-source gem. Pro is **free or very low cost for startups and small companies**. Contact [justin@shakacode.com](mailto:justin@shakacode.com) for pricing. Your subscription supports continued open-source development. | ||
| React on Rails Pro adds advanced rendering and performance features on top of the open-source gem. A **paid license is required for production use**. Startup-friendly pricing is available — contact [justin@shakacode.com](mailto:justin@shakacode.com). Your subscription supports continued open-source development. |
There was a problem hiding this comment.
Avoid claiming all production deployments need a paid plan
If a customer is on one of the complimentary production-capable plans (startup, nonprofit, education, oss, or partner), this sentence tells them they still have to buy a paid license before deploying. That contradicts ReactOnRailsPro::LicenseValidator: VALID_PLANS includes those plan types, and check_plan explicitly treats any plan in that set as valid for production use. Because the same wording was propagated through several docs in this patch, users with legitimate non-paid licenses will now get incorrect purchase/setup guidance.
Useful? React with 👍 / 👎.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
Code Review Overall this is a clean, well-scoped documentation and URL migration PR. The changes are consistent across source code, templates, generators, runtime messages, and docs. Positives:
Concerns:
No security, performance, or behavioral concerns: |
| # components registered using the `registerServerComponent` function. Don't use it unless you need | ||
| # more control over the RSC payload generation. To know more about RSC payload, see the following link: | ||
| # @see https://www.shakacode.com/react-on-rails-pro/docs/how-react-server-components-works.md | ||
| # @see https://pro.reactonrails.com/docs/how-react-server-components-works.md |
There was a problem hiding this comment.
The .md extension on this URL was in the original and has been faithfully migrated, but web servers typically don't serve markdown files at this path — the URL is likely broken. Consider dropping the extension:
| # @see https://pro.reactonrails.com/docs/how-react-server-components-works.md | |
| # @see https://pro.reactonrails.com/docs/how-react-server-components-works |
| # React on Rails: OSS vs Pro Feature Comparison | ||
|
|
||
| React on Rails Pro extends the open-source gem with performance optimizations and advanced rendering capabilities. Pro is **free or very low cost for startups and small companies**. | ||
| React on Rails Pro extends the open-source gem with performance optimizations and advanced rendering capabilities. Available for free or with startup-friendly pricing — see [reactonrails.com/pro](https://reactonrails.com/pro) for details. |
There was a problem hiding this comment.
"Available for free or with startup-friendly pricing" was not updated here. Needs to reflect that production use requires a paid license. The link also uses reactonrails.com/pro rather than pro.reactonrails.com.
| React on Rails Pro extends the open-source gem with performance optimizations and advanced rendering capabilities. Available for free or with startup-friendly pricing — see [reactonrails.com/pro](https://reactonrails.com/pro) for details. | |
| React on Rails Pro extends the open-source gem with performance optimizations and advanced rendering capabilities. A paid license is required for production deployments; startup-friendly pricing is available — see [pro.reactonrails.com](https://pro.reactonrails.com/) for details. |
| @@ -191,7 +191,7 @@ To migrate to React on Rails Pro: | |||
| import ReactOnRails from 'react-on-rails-pro'; | |||
| ``` | |||
There was a problem hiding this comment.
"Free or low-cost Pro licenses are available" contradicts the EULA alignment goal of the PR. Should state that a paid license is required for production, with startup-friendly pricing available.
| ``` | |
| 3. A paid license is required for all production deployments. Startup-friendly pricing is available for startups and small companies. Visit [React on Rails Pro](https://pro.reactonrails.com) to get started, or contact [justin@shakacode.com](mailto:justin@shakacode.com) for questions. |
| For evaluation licenses or more info, see: https://www.shakacode.com/react-on-rails-pro/ | ||
| No license needed for evaluation or non-production use. | ||
| Free or low-cost production licenses available for startups and small companies. | ||
| Get started: https://pro.reactonrails.com/ |
There was a problem hiding this comment.
"Free or low-cost production licenses available" directly contradicts the PR's objective. If EULA §4 requires a paid license for all production deployments, this generator message should not imply otherwise.
| Get started: https://pro.reactonrails.com/ | |
| A paid license is required for production deployments. Startup-friendly pricing is available for startups and small companies. |
| # PLANNED DEPLOYMENTS NOT YET LIVE | ||
| # ============================================================================ | ||
| '^https://ror-spec-dummy\.reactrails\.com', # spec/dummy demo - deployment pending | ||
| '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally |
There was a problem hiding this comment.
The regex '^https://pro\.reactonrails\.com/docs/' only matches URLs with a path segment after /docs/. A URL like https://pro.reactonrails.com/docs (no trailing slash) will slip through and fail the link check. Consider anchoring with (/|$):
| '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally | |
| '^https://pro\.reactonrails\.com/docs(/|$)', # Pro docs site - pages being deployed incrementally |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: faa0067baa
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| <p style="margin-top: 16px;"> | ||
| <strong>Learn more:</strong> | ||
| <a href="https://www.shakacode.com/react-on-rails-pro/docs/react-server-components/"> | ||
| <a href="https://reactonrails.com/docs/pro/react-server-components/"> |
There was a problem hiding this comment.
Point generated RSC help links at a live docs page
For any app created with the RSC generator, /hello_server now links users to https://reactonrails.com/docs/pro/react-server-components/, but that route is not currently published on the docs site (the tutorial under /react-server-components/tutorial/ is live). That means fresh RSC installs send users to a dead page from the generated demo, and the same broken target is also printed by RscGenerator#print_success_message.
Useful? React with 👍 / 👎.
|
Code Review: The URL migration is largely mechanical and correct. The main concern is that the PR stated goal of aligning with EULA s4 (paid license required for production) is incomplete - several files still say 'Available for free or with startup-friendly pricing'. Issues: (1) Incomplete license-messaging in AGENTS_USER_GUIDE.md:137, comparison-with-alternatives.md:176, oss-vs-pro.md:3, CHANGELOG.md:192, pro_setup.rb:83 - inline suggestions attached; (2) README.md:63 Pro features link still points to reactonrails.com/pro instead of pro.reactonrails.com - inline suggestion attached; (3) README.md lines 3-9 blank lines inside p-align-center break CommonMark HTML block parsing and img tags lack alt attributes - inline suggestion attached; (4) .lychee.toml:73 regex only matches /docs/ with trailing slash, /docs bare URL slips through - suggest (/|$) anchor, inline suggestion attached. |
The generator error message now shows the Pro URL instead of the email contact, so the test expectation needs to match. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Review: PR #2669 — Update Pro URLs and Fix License WordingOverall this is a clean, well-scoped doc/string update. The URL migration from 1. Inconsistent licensing language — stated goal not fully achieved The PR summary says it removes 'free or low-cost' language that contradicts EULA §4, but several instances survive or are newly introduced:
2. README.md — badge misalignment The 3. .lychee.toml — overly broad exclusion
4. CHANGELOG not updated No entry for this PR. Per project conventions, user-facing messaging changes should be documented. |
| Try Pro free! Email justin@shakacode.com for an evaluation license. | ||
| For evaluation licenses or more info, see: https://www.shakacode.com/react-on-rails-pro/ | ||
| No license needed for evaluation or non-production use. | ||
| Free or low-cost production licenses available for startups and small companies. |
There was a problem hiding this comment.
This line reintroduces the "Free or low-cost" language that the PR explicitly states it is removing to align with EULA §4. This is a contradiction — the generator message displayed to users at install time will still say "free or low-cost" even as the docs say "a paid license is required for all production deployments".
| Free or low-cost production licenses available for startups and small companies. | |
| Startup-friendly pricing is available — contact justin@shakacode.com. |
| ``` | ||
|
|
||
| 4. Free or low-cost Pro licenses are available for startups, small companies, and qualifying organizations. Visit [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro) to get started, or contact [justin@shakacode.com](mailto:justin@shakacode.com) for any questions. | ||
| 4. Free or low-cost Pro licenses are available for startups, small companies, and qualifying organizations. Visit [React on Rails Pro](https://pro.reactonrails.com) to get started, or contact [justin@shakacode.com](mailto:justin@shakacode.com) for any questions. |
There was a problem hiding this comment.
The URL was updated but the "Free or low-cost" text was left untouched. This is the only change in this hunk, but it is inconsistent with the stated goal of removing that language. If the intent is to align with EULA §4 throughout, this line should also be updated.
| 4. Free or low-cost Pro licenses are available for startups, small companies, and qualifying organizations. Visit [React on Rails Pro](https://pro.reactonrails.com) to get started, or contact [justin@shakacode.com](mailto:justin@shakacode.com) for any questions. | |
| 4. A paid license is required for production deployments. Startup-friendly pricing is available — visit [React on Rails Pro](https://pro.reactonrails.com) or contact [justin@shakacode.com](mailto:justin@shakacode.com). |
| <a href="https://forum.shakacode.com/"><img src="https://user-images.githubusercontent.com/10421828/79436266-53df5f00-7fd9-11ea-94b3-b985e1b05bdc.png"></a> | ||
| <a href="https://www.shakacode.com/react-on-rails-pro"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png"></a> | ||
| <a href="https://github.com/sponsors/shakacode"><img src="https://user-images.githubusercontent.com/10421828/79466109-cdd90d80-8004-11ea-88e5-25f9a9ddcf44.png"></a> | ||
|
|
There was a problem hiding this comment.
The <a> tag for the sponsor badge was moved outside the <p align="center"> block's indentation and now has extra blank lines around it. On GitHub this will render the badge outside the centered group, breaking the visual layout. The badge should stay inside <p>:
| <a href="https://github.com/sponsors/shakacode"><img src="https://user-images.githubusercontent.com/10421828/79466109-cdd90d80-8004-11ea-88e5-25f9a9ddcf44.png"></a> |
| # PLANNED DEPLOYMENTS NOT YET LIVE | ||
| # ============================================================================ | ||
| '^https://ror-spec-dummy\.reactrails\.com', # spec/dummy demo - deployment pending | ||
| '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally |
There was a problem hiding this comment.
This exclusion pattern is very broad — it skips all links under https://pro.reactonrails.com/docs/ indefinitely, including ones that may already be live.
Also note that most new doc URLs added in this PR use https://reactonrails.com/docs/pro/... (a different hostname), so this exclusion does not actually cover them.
Consider a more targeted pattern (e.g. specific paths not yet deployed) or add a tracking issue reference and a comment indicating when this exclusion should be revisited/removed:
| '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally | |
| '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally; TODO: remove once fully deployed |
Remove blank lines at lines 6 and 8 inside the <p align="center"> block. Per CommonMark spec, a blank line ends an HTML block, causing the sponsors badge to render left-aligned instead of centered. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
| Try Pro free! Email justin@shakacode.com for an evaluation license. | ||
| For evaluation licenses or more info, see: https://www.shakacode.com/react-on-rails-pro/ | ||
| No license needed for evaluation or non-production use. | ||
| Free or low-cost production licenses available for startups and small companies. |
There was a problem hiding this comment.
Contradicts README messaging. The README was updated in this same PR to say "A paid license is required for production use", but this generator output still says "Free or low-cost production licenses available".
| Free or low-cost production licenses available for startups and small companies. | |
| A paid license is required for all production deployments. | |
| Startup-friendly pricing is available — get started at https://pro.reactonrails.com/ |
|
|
||
| > **Pro Feature** — Available with [React on Rails Pro](https://pro.reactonrails.com). | ||
| > Free or very low cost for startups and small companies. [Get a license →](mailto:justin@shakacode.com) | ||
| > Free or very low cost for startups and small companies. [Get a license →](https://pro.reactonrails.com) |
There was a problem hiding this comment.
Inconsistent with new README messaging. The README now says "A paid license is required for production use", but this (and 10 other Pro Feature callout boxes) still says "Free or very low cost for startups and small companies."
Files that still have this old text after this PR:
docs/oss/api-reference/ruby-api-pro.mddocs/oss/building-features/bundle-caching.mddocs/oss/building-features/caching.mddocs/oss/building-features/code-splitting.mddocs/oss/building-features/node-renderer/basics.mddocs/oss/building-features/node-renderer/debugging.mddocs/oss/building-features/node-renderer/error-reporting-and-tracing.mddocs/oss/building-features/node-renderer/heroku.mddocs/oss/building-features/node-renderer/js-configuration.mddocs/oss/building-features/node-renderer/troubleshooting.mddocs/oss/configuration/configuration-pro.md
| > Free or very low cost for startups and small companies. [Get a license →](https://pro.reactonrails.com) | |
| > A paid license is required for production deployments. Startup-friendly pricing available — [Get a license →](https://pro.reactonrails.com) |
| # PLANNED DEPLOYMENTS NOT YET LIVE | ||
| # ============================================================================ | ||
| '^https://ror-spec-dummy\.reactrails\.com', # spec/dummy demo - deployment pending | ||
| '^https://pro\.reactonrails\.com/docs/', # Pro docs site - pages being deployed incrementally |
There was a problem hiding this comment.
Note: pro.reactonrails.com/docs/ paths are used not only in documentation but also in runtime error messages (e.g., master.ts for missing/expired/invalid license, StoreRegistry.ts for Pro-only store methods). Users encountering license errors at runtime will follow dead links until these pages deploy.
Consider using the bare https://pro.reactonrails.com/ (which appears to be live) in runtime error messages until the /docs/ paths are deployed.
| <a href="https://shakacode.com/"><img src="https://user-images.githubusercontent.com/10421828/79436256-517d0500-7fd9-11ea-9300-dfbc7c293f26.png"></a> | ||
| <a href="https://forum.shakacode.com/"><img src="https://user-images.githubusercontent.com/10421828/79436266-53df5f00-7fd9-11ea-94b3-b985e1b05bdc.png"></a> | ||
| <a href="https://www.shakacode.com/react-on-rails-pro"><img src="https://user-images.githubusercontent.com/10421828/79436265-53df5f00-7fd9-11ea-8220-fc474f6a856c.png"></a> | ||
| <a href="https://github.com/sponsors/shakacode"><img src="https://user-images.githubusercontent.com/10421828/79466109-cdd90d80-8004-11ea-88e5-25f9a9ddcf44.png"></a> |
There was a problem hiding this comment.
The Pro badge/shield was deleted from this header block rather than updated to point to the new domain. The ShakaCode, Forum, and Sponsors badges remain, leaving an asymmetric set. If the intent was to remove it, that's fine — but consider restoring it pointing to https://pro.reactonrails.com to maintain consistent branding alongside the other badges.
| ``` | ||
|
|
||
| 4. Free or low-cost Pro licenses are available for startups, small companies, and qualifying organizations. Visit [React on Rails Pro](https://www.shakacode.com/react-on-rails-pro) to get started, or contact [justin@shakacode.com](mailto:justin@shakacode.com) for any questions. | ||
| 4. Free or low-cost Pro licenses are available for startups, small companies, and qualifying organizations. Visit [React on Rails Pro](https://pro.reactonrails.com) to get started, or contact [justin@shakacode.com](mailto:justin@shakacode.com) for any questions. |
There was a problem hiding this comment.
The URL was updated here but the surrounding text still reads "Free or low-cost Pro licenses are available", which contradicts the README's updated "A paid license is required for production use" messaging.
If CHANGELOG entries are intentionally treated as immutable historical records (reasonable), that's fine — but then the PR description's stated goal of removing "free or low-cost" language is incomplete, as this instance remains unchanged.
## Summary - Stamp `### [16.5.0.rc.0]` version header with today's date - Add 10 new changelog entries for PRs merged since v16.4.0 - Fix incomplete PR 2818 entry (missing author link) ### New entries added **Added:** - `create-react-on-rails-app --pro` support (PR 2818) - Global prerender env override `REACT_ON_RAILS_PRERENDER_OVERRIDE` (PR 2816) - `react_on_rails:sync_versions` rake task (PR 2797) - Pro/RSC setup checks in `react_on_rails:doctor` (PR 2674) **Changed:** - [Pro] Canonical env var for worker count is now `RENDERER_WORKERS_COUNT` (PR 2611) **Improved:** - Smoother `create-react-on-rails-app` and install generator flows (PR 2650) - Pro upgrade hint after install (PR 2642) **Fixed:** - Preserve runtime env vars across `Bundler.with_unbundled_env` (PR 2836) - Fix doctor prerender check and ExecJS display for Pro/RSC apps (PR 2773) - Fix doctor false positives for custom layouts (PR 2612) ### Skipped PRs (not user-visible) Docs-only: #2845, #2842, #2826, #2830, #2820, #2809, #2803, #2785, #2801, #2791, #2789, #2788, #2772, #2778, #2780, #2784, #2671, #2676, #2662, #2657, #2669 CI/internal tooling: #2825, #2817, #2819, #2812, #2815, #2810, #2808, #2807, #2634, #2798, #2761, #2760, #2658, #2639, #2667, #2656 ## Test plan - [x] Verified version header and diff links are correct - [x] Verified all entries follow changelog formatting conventions - [x] Verified file ends with newline - [ ] After merge, run `rake release` to publish 16.5.0.rc.0 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Documentation-only change updating `CHANGELOG.md` with a new `16.5.0.rc.0` section and compare links; no runtime code is modified. > > **Overview** > Adds a new `16.5.0.rc.0` (2026-03-25) section to `CHANGELOG.md`, consolidating recent PR entries under **Added/Changed/Improved/Fixed** and correcting the previously incomplete `--pro` CLI entry author attribution. > > Updates the bottom compare links so `[unreleased]` now compares from `v16.5.0.rc.0` and adds a link definition for `[16.5.0.rc.0]`. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 481a71c. 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 ## Release Notes - v16.5.0.rc.0 * **New Features** * Added sync_versions task for streamlined version management * Expanded doctor checks for Pro and RSC support * **Improvements** * Enhanced generator workflow and Pro upgrade guidance * Improved environment variable handling and preservation * **Bug Fixes** * Fixed detection issues with doctor tools and ExecJS/prerender functionality <!-- end of auto-generated comment: release notes by coderabbit.ai --> Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
…ding (#2669) - Replaces ~60+ instances of `https://www.shakacode.com/react-on-rails-pro` with `https://pro.reactonrails.com` across docs, source code, templates, and READMEs - Fixes AGENTS_USER_GUIDE.md step count from "four steps" to "three steps" to match `docs/pro/upgrading-to-pro.md` (Node renderer verification is part of step 3) - Aligns all license/pricing messaging with EULA §4: "A paid license is required for all production deployments" with a note that startup-friendly pricing is available. Removes "free or low-cost" language that contradicted the license terms Fixes #2668 Closes #2636 - [ ] Verify no remaining `shakacode.com/react-on-rails-pro` URLs with `grep -r` - [ ] Verify no remaining "free or low cost" language with `grep -ri` - [ ] Spot-check key files: README.md, CHANGELOG.md, upgrading-to-pro.md, AGENTS_USER_GUIDE.md - [ ] Confirm URL paths with suffixes (e.g., `/docs/installation/`) resolve correctly on `pro.reactonrails.com` 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk documentation/config messaging updates plus minor generator/CLI text changes; no functional runtime behavior changes beyond updated user-facing URLs. > > **Overview** > Updates references to React on Rails Pro across docs, READMEs, templates, generators, and Node renderer logs to use the new `pro.reactonrails.com` / `reactonrails.com/docs/pro` URLs (including RSC and node-renderer deep links). > > Clarifies Pro upgrade/install guidance by consolidating the Node renderer verification into step 3 (so the guide is now *three steps*), and updates multiple user-facing messages to emphasize that a **paid license is required for production** while keeping evaluation/non-production usage guidance. Also adds new Lychee link-checker exclusions for Pro pages still being deployed and a few flaky external links. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 9dd51fb. 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 --> * **Documentation** * Updated React on Rails Pro links to the new dedicated domain (pro.reactonrails.com) across docs, guides, tutorials, and examples. * Revised Pro licensing messaging: production deployments now require a paid license; added startup-friendly pricing/contact guidance. * Streamlined upgrade/setup and generator guidance and clarified various user-facing instructions. * **Chores** * Updated CLI/post-install messages, warnings, and README references to point to the new Pro site. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
…ding (#2669) - Replaces ~60+ instances of `https://www.shakacode.com/react-on-rails-pro` with `https://pro.reactonrails.com` across docs, source code, templates, and READMEs - Fixes AGENTS_USER_GUIDE.md step count from "four steps" to "three steps" to match `docs/pro/upgrading-to-pro.md` (Node renderer verification is part of step 3) - Aligns all license/pricing messaging with EULA §4: "A paid license is required for all production deployments" with a note that startup-friendly pricing is available. Removes "free or low-cost" language that contradicted the license terms Fixes #2668 Closes #2636 - [ ] Verify no remaining `shakacode.com/react-on-rails-pro` URLs with `grep -r` - [ ] Verify no remaining "free or low cost" language with `grep -ri` - [ ] Spot-check key files: README.md, CHANGELOG.md, upgrading-to-pro.md, AGENTS_USER_GUIDE.md - [ ] Confirm URL paths with suffixes (e.g., `/docs/installation/`) resolve correctly on `pro.reactonrails.com` 🤖 Generated with [Claude Code](https://claude.com/claude-code) <!-- CURSOR_SUMMARY --> --- > [!NOTE] > **Low Risk** > Low risk documentation/config messaging updates plus minor generator/CLI text changes; no functional runtime behavior changes beyond updated user-facing URLs. > > **Overview** > Updates references to React on Rails Pro across docs, READMEs, templates, generators, and Node renderer logs to use the new `pro.reactonrails.com` / `reactonrails.com/docs/pro` URLs (including RSC and node-renderer deep links). > > Clarifies Pro upgrade/install guidance by consolidating the Node renderer verification into step 3 (so the guide is now *three steps*), and updates multiple user-facing messages to emphasize that a **paid license is required for production** while keeping evaluation/non-production usage guidance. Also adds new Lychee link-checker exclusions for Pro pages still being deployed and a few flaky external links. > > <sup>Written by [Cursor Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit 9dd51fb. 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 --> * **Documentation** * Updated React on Rails Pro links to the new dedicated domain (pro.reactonrails.com) across docs, guides, tutorials, and examples. * Revised Pro licensing messaging: production deployments now require a paid license; added startup-friendly pricing/contact guidance. * Streamlined upgrade/setup and generator guidance and clarified various user-facing instructions. * **Chores** * Updated CLI/post-install messages, warnings, and README references to point to the new Pro site. <!-- end of auto-generated comment: release notes by coderabbit.ai --> --------- Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
Summary
https://www.shakacode.com/react-on-rails-prowithhttps://pro.reactonrails.comacross docs, source code, templates, and READMEsdocs/pro/upgrading-to-pro.md(Node renderer verification is part of step 3)Fixes #2668
Closes #2636
Test plan
shakacode.com/react-on-rails-proURLs withgrep -rgrep -ri/docs/installation/) resolve correctly onpro.reactonrails.com🤖 Generated with Claude Code
Note
Low Risk
Low risk documentation/config messaging updates plus minor generator/CLI text changes; no functional runtime behavior changes beyond updated user-facing URLs.
Overview
Updates references to React on Rails Pro across docs, READMEs, templates, generators, and Node renderer logs to use the new
pro.reactonrails.com/reactonrails.com/docs/proURLs (including RSC and node-renderer deep links).Clarifies Pro upgrade/install guidance by consolidating the Node renderer verification into step 3 (so the guide is now three steps), and updates multiple user-facing messages to emphasize that a paid license is required for production while keeping evaluation/non-production usage guidance. Also adds new Lychee link-checker exclusions for Pro pages still being deployed and a few flaky external links.
Written by Cursor Bugbot for commit 9dd51fb. This will update automatically on new commits. Configure here.
Summary by CodeRabbit
Documentation
Chores