Skip to content

Move OSS docs to docs/oss/ for clear OSS/Pro separation#2584

Merged
justin808 merged 10 commits intomasterfrom
jg/docs-consolidate-oss-pro
Mar 11, 2026
Merged

Move OSS docs to docs/oss/ for clear OSS/Pro separation#2584
justin808 merged 10 commits intomasterfrom
jg/docs-consolidate-oss-pro

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Mar 10, 2026

Summary

New structure

docs/
  README.md          # Unified entry point
  oss/               # Open-source docs (9 subdirectories)
    getting-started/
    core-concepts/
    building-features/
    configuration/
    api-reference/
    deployment/
    upgrading/
    migrating/
    misc/
    introduction.md
  pro/               # Pro docs (already here from #2556)
    installation.md
    configuration.md
    node-renderer/
    react-server-components/
    ...

Closes #2583

Test plan

  • Verify all markdown relative links resolve correctly on GitHub
  • Spot-check that internal links between OSS docs still work (they use relative ./ and ../ within the preserved subdirectory structure)
  • Spot-check Pro→OSS cross-references (docs/pro/caching.md../oss/core-concepts/...)
  • Coordinate website URL updates in the sc-website repo (companion task)
  • Run bundle exec rubocop on changed Ruby files (done, passing)

🤖 Generated with Claude Code


Note

Low Risk
Documentation and link updates only; no behavioral changes beyond updated help text URLs and doc navigation paths.

Overview
Moves the open-source documentation tree under docs/oss/ to cleanly separate it from the existing docs/pro/ docs, and rewrites docs/README.md to act as a unified navigation landing page for both OSS and Pro.

Updates doc links across repository-facing files (README.md, NEWS.md, CHANGELOG.md, AGENTS.md) and in-code pointers (generator initializer template, react_on_rails:doctor output, TestHelper comment, dummy app initializers, and a few Pro docs) to reference the new docs/oss/... paths.

Written by Cursor Bugbot for commit 77c3d67. Configure here.

Summary by CodeRabbit

  • Documentation
    • Reorganized site to explicitly separate Open Source (OSS) and Pro documentation hierarchies.
    • Migrated OSS content under an OSS docs subtree and updated links across README, changelog, NEWS, and many guides.
    • Introduced a distinct Pro pathway and adjusted cross‑links between OSS and Pro content and examples.
    • Expanded Troubleshooting and Pro guidance (node renderer, caching, RSC, error reporting) and corrected numerous relative link targets.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Mar 10, 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 paths and in-repo doc references were updated to place OSS content under docs/oss/ and Pro content under docs/pro/. Multiple README files, NEWS, CHANGELOG, pro docs, generator templates, and inline comment links were adjusted accordingly. No runtime behavior, API, or exported/public declarations were changed.

Changes

Cohort / File(s) Summary
Top-level docs & guides
AGENTS.md, CHANGELOG.md, NEWS.md, README.md, docs/README.md
Rewrote index/guidance and updated many feature/link targets to point to docs/oss/ and docs/pro/; restructured high-level navigation and learning-paths content.
OSS docs (relocations & links)
docs/oss/..., docs/oss/getting-started/project-structure.md, docs/oss/core-concepts/..., docs/oss/api-reference/*
Moved OSS doc roots and fixed relative image/link paths and internal references to new docs/oss/ layout.
Pro docs (move & fixes)
docs/pro/*, docs/pro/react-server-components/glossary.md, docs/pro/caching.md, docs/pro/home-pro.md
Consolidated Pro docs under docs/pro/, corrected relative links, updated example/spec paths, and adjusted wording (e.g., Shakapacker, deprecations).
Pro troubleshooting & API docs
docs/pro/troubleshooting.md, docs/pro/ruby-api.md, docs/pro/node-renderer/*
Expanded troubleshooting guidance and replaced short API stubs with detailed Pro Ruby API documentation; mostly content additions and link corrections.
Generator templates & dummy initializers (comments only)
react_on_rails/lib/generators/.../react_on_rails.rb.tt, react_on_rails/spec/dummy/.../react_on_rails.rb, react_on_rails_pro/spec/.../config/initializers/react_on_rails.rb, react_on_rails_pro/spec/dummy/app/views/layouts/application.html.erb
Updated inline documentation URLs and dummy spec paths in comments and templates; no code or behavior changes.
Runtime & test helpers (messages only)
react_on_rails/lib/react_on_rails/doctor.rb, react_on_rails/lib/react_on_rails/test_helper.rb
Replaced hardcoded docs URLs with OSS-prefixed paths or local variables for message text; control flow unchanged.
Scattered minor link fixes
docs/pro/configuration.md, docs/oss/..., docs/pro/node-renderer/*
Various small relative-link and example-path corrections across OSS and Pro docs and image paths.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

Suggested reviewers

  • Judahmeek
  • alexeyr-ci2
  • AbanoubGhadban

Poem

🐇 I hopped through folders, nudged each dusty link,
Split OSS from Pro with a careful blink.
I nudged the paths tidy, left breadcrumbs neat,
A carrot for readers—docs now find their seat! 📚✨

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Move OSS docs to docs/oss/ for clear OSS/Pro separation' accurately describes the primary change: reorganizing documentation structure by moving OSS docs into a dedicated docs/oss/ subdirectory.
Linked Issues check ✅ Passed The PR implements the structural reorganization from Issue #2583's PR 1 plan: moving OSS subdirectories into docs/oss/, updating cross-references throughout the codebase, rewriting docs/README.md as a unified entry point, and coordinating with Pro docs structure.
Out of Scope Changes check ✅ Passed All changes are scoped to documentation reorganization and reference updates. However, the PR includes some enhancements beyond the structural move: expanded Pro docs content (troubleshooting.md with +19 lines, ruby-api.md with +113 lines) and fixes to specific doc paths that align with PR 2 & 3 objectives.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch jg/docs-consolidate-oss-pro

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.

Copy link
Copy Markdown

@cursor cursor Bot left a comment

Choose a reason for hiding this comment

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

Cursor Bugbot has reviewed your changes and found 1 potential issue.

Bugbot Autofix is ON, but it could not run because Privacy Mode (Legacy) is turned on. To enable Bugbot Autofix, switch your privacy mode in the Cursor dashboard.

Comment thread NEWS.md
- 2017-04-03: 6.9.3 Released! Props rendered in JSON script tag. Page size is smaller now due to less escaping!
- 2017-03-06: Updated to Webpack v2!
- 2017-03-02: Demo of internationalization (i18n) is live at [reactrails.com](https://reactrails.com/). Docs [here](docs/building-features/i18n.md).
- 2017-03-02: Demo of internationalization (i18n) is live at [reactrails.com](https://reactrails.com/). Docs [here](docs/oss/building-features/i18n.md).
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Missed link update in NEWS.md line 17

Medium Severity

Line 17 still references ./docs/upgrading/upgrading-react-on-rails.md (old path) but this file was moved to ./docs/oss/upgrading/upgrading-react-on-rails.md. The PR updated similar links on lines 24 and 58 but missed this one.

Fix in Cursor Fix in Web

@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Mar 10, 2026

Greptile Summary

This PR restructures the documentation by moving all OSS docs from docs/ into docs/oss/, creating a clean parallel structure alongside the existing docs/pro/. Internal planning files and testimonials are relocated to internal/. Cross-references across Ruby source files, generator templates, spec initializers, README.md, AGENTS.md, CHANGELOG.md, and NEWS.md are updated to the new paths.

Key changes:

  • 70+ OSS doc files renamed (R100) from docs/{subdir}/docs/oss/{subdir}/
  • docs/README.md rewritten as a unified entry point with clearly separated OSS and Pro navigation sections
  • Pro→OSS cross-reference links updated in docs/pro/caching.md, docs/pro/home-pro.md, and docs/pro/react-server-components/glossary.md
  • Ruby source and generator template doc URLs updated from docs/ to docs/oss/

Issue found: Six instances of broken relative links in five moved OSS files. After being relocated to docs/oss/{subdir}/, these files retain ../pro/ relative links that now resolve to the non-existent docs/oss/pro/ instead of docs/pro/. All require ../../pro/ to correctly point to docs/pro/. Affected files: docs/oss/api-reference/generator-details.md (2 links), docs/oss/api-reference/view-helpers-api.md, docs/oss/configuration/configuration-pro.md, docs/oss/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md, and docs/oss/getting-started/project-structure.md.

Confidence Score: 3/5

  • Safe to merge once the broken ../pro/ relative links in moved OSS docs are corrected to ../../pro/.
  • The restructuring is clean and well-executed overall, with Ruby sources, generator templates, and Pro doc cross-references correctly updated. However, six instances of broken relative links across five files moved into docs/oss/{subdir}/ retain relative paths using ../pro/ that now resolve one level too shallow — pointing to the non-existent docs/oss/pro/ path rather than docs/pro/. These are real broken links on GitHub that affect documentation navigation between OSS and Pro documentation sections.
  • docs/oss/api-reference/generator-details.md, docs/oss/api-reference/view-helpers-api.md, docs/oss/configuration/configuration-pro.md, docs/oss/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md, docs/oss/getting-started/project-structure.md

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[docs/] --> B[README.md\nUnified entry point]
    A --> C[oss/]
    A --> D[pro/]

    C --> C1[getting-started/]
    C --> C2[core-concepts/]
    C --> C3[building-features/]
    C --> C4[configuration/]
    C --> C5[api-reference/]
    C --> C6[deployment/]
    C --> C7[upgrading/]
    C --> C8[migrating/]
    C --> C9[misc/]

    D --> D1[installation.md]
    D --> D2[configuration.md]
    D --> D3[react-server-components/]
    D --> D4[node-renderer/]
    D --> D5[caching.md / streaming / etc.]

    E[internal/] --> E1[planning/]
    E --> E2[testimonials/]

    C4 -- "broken: ../pro/\nshould be: ../../pro/" --> D2
    C5 -- "broken: ../pro/\nshould be: ../../pro/" --> D3
    C2 -- "broken: ../pro/\nshould be: ../../pro/" --> D3
    C1 -- "broken: ../pro/\nshould be: ../../pro/" --> D3

    style C fill:#d4edda,stroke:#28a745
    style D fill:#cce5ff,stroke:#004085
    style E fill:#fff3cd,stroke:#856404
Loading

Comments Outside Diff (1)

  1. docs/oss/api-reference/generator-details.md, line 249 (link)

    Broken relative links to Pro docs after move

    These files were moved from docs/api-reference/ to docs/oss/api-reference/, adding one extra directory level. Links using ../pro/ now incorrectly resolve to docs/oss/pro/ (which doesn't exist) instead of docs/pro/. The correct relative path from any docs/oss/{subdir}/ location to docs/pro/ is ../../pro/.

    Line 249:

    Line 302:

    The same broken ../pro/ pattern also occurs in these other moved files:

    • docs/oss/api-reference/view-helpers-api.md:164../pro/configuration.md should be ../../pro/configuration.md
    • docs/oss/configuration/configuration-pro.md:12../pro/configuration.md should be ../../pro/configuration.md
    • docs/oss/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md:498../pro/react-server-components/glossary.md should be ../../pro/react-server-components/glossary.md
    • docs/oss/getting-started/project-structure.md:33../pro/react-server-components/glossary.md should be ../../pro/react-server-components/glossary.md

Last reviewed commit: 66d0f10

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

[docs/pro/configuration.md](../pro/configuration.md)

P2 Badge Update OSS-to-Pro links after moving docs under docs/oss

This relative link now resolves to docs/oss/pro/..., which does not exist after the docs move, so readers hit a dead link when navigating from OSS docs to Pro docs on GitHub/local markdown renderers. Because the file moved from docs/configuration/... to docs/oss/configuration/... without adjusting the target, the path needs an extra .. segment (for example, ../../pro/... from this directory).

ℹ️ 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".

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

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
react_on_rails/lib/react_on_rails/doctor.rb (1)

1191-1211: ⚠️ Potential issue | 🟡 Minor

Wrap the new documentation URLs to stay within the Ruby line-length rule.

Lines 1196 and 1211 are now well past 120 chars. Please split the string or extract the URL into a constant/helper so this stays compliant with the repo's Ruby style rules. As per coding guidelines, "Ruby line length maximum 120 characters. Break long method chains across multiple lines with consistent indentation."

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

In `@react_on_rails/lib/react_on_rails/doctor.rb` around lines 1191 - 1211, The
long documentation URL in the checker.add_info messages (the string "📖 See:
https://github.com/shakacode/react_on_rails/blob/master/docs/oss/building-features/testing-configuration.md")
exceeds the 120-char Ruby line-length rule; locate the checker.add_info calls
inside react_on_rails/doctor.rb (the blocks using checker.add_info for the
testing-configuration.md link) and either split the literal into two
concatenated strings so the source lines stay ≤120 chars or extract the URL into
a named constant (e.g., TESTING_CONFIG_URL) used in the checker.add_info calls
to keep lines short and readable. Ensure both occurrences (the one near the
build_test_command/compile checks and the later warning block) are updated.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@AGENTS.md`:
- Line 183: The OSS docs allowlist omitted the `configuration/` subdirectory,
which conflicts with the repo layout; update the AGENTS.md line that lists OSS
subdirectories (the string listing `getting-started/`, `core-concepts/`,
`building-features/`, `api-reference/`, `deployment/`, `migrating/`,
`upgrading/`, `misc/`) to include `configuration/` (e.g., add `configuration/`
into that comma-separated list) so the documented canonical agent guidance
matches the actual `docs/oss/configuration/` directory used in the PR.

In `@docs/pro/caching.md`:
- Line 117: The example uses the non-existent method name toLocalString(locale);
update the JavaScript API to the correct locale-aware formatter by replacing any
occurrences of toLocalString(locale) with toLocaleString(locale) (and verify any
example code or prose mentions reflect toLocaleString) so readers won't
encounter a runtime error.

In `@docs/pro/home-pro.md`:
- Line 42: The "Rails Configuration" link in docs/pro/home-pro.md currently
points to ../oss/configuration/README.md while the references section links the
same text to ./configuration.md; update one of these so they consistently target
the same document or rename one link text to make the OSS vs Pro distinction
explicit. Locate the "Rails Configuration" occurrences in the file (the inline
link at line ~42 and the references section entry for configuration.md) and
either change the href to use the same path for both links or adjust one label
(e.g., "Rails Configuration (OSS)" or "Rails Configuration (Pro)") to reflect
the different targets.

In `@docs/README.md`:
- Around line 26-35: The OSS docs index under the "Categories" section in
README.md is missing the new misc section; update the list in that section by
adding an entry for the misc folder (e.g., add a bullet like "Misc" that links
to ./oss/misc/) so docs/oss/misc/ becomes discoverable from the main docs index.

In `@README.md`:
- Line 151: The README table row for "🌍 **Internationalization**" still links
to the legacy docs route; update the link target to the new OSS docs path under
docs/oss so the row matches surrounding entries (replace the URL that currently
points to https://www.shakacode.com/react-on-rails/docs/building-features/i18n
with the corresponding docs/oss/.../i18n OSS URL), keeping the link text intact.

---

Outside diff comments:
In `@react_on_rails/lib/react_on_rails/doctor.rb`:
- Around line 1191-1211: The long documentation URL in the checker.add_info
messages (the string "📖 See:
https://github.com/shakacode/react_on_rails/blob/master/docs/oss/building-features/testing-configuration.md")
exceeds the 120-char Ruby line-length rule; locate the checker.add_info calls
inside react_on_rails/doctor.rb (the blocks using checker.add_info for the
testing-configuration.md link) and either split the literal into two
concatenated strings so the source lines stay ≤120 chars or extract the URL into
a named constant (e.g., TESTING_CONFIG_URL) used in the checker.add_info calls
to keep lines short and readable. Ensure both occurrences (the one near the
build_test_command/compile checks and the later warning block) are updated.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a9035b33-4696-45f3-b1a9-89d12bc26b14

📥 Commits

Reviewing files that changed from the base of the PR and between 77547ed and 77c3d67.

📒 Files selected for processing (88)
  • AGENTS.md
  • CHANGELOG.md
  • NEWS.md
  • README.md
  • docs/README.md
  • docs/oss/api-reference/generator-details.md
  • docs/oss/api-reference/javascript-api.md
  • docs/oss/api-reference/rails_view_rendering_from_inline_javascript.md
  • docs/oss/api-reference/redux-store-api.md
  • docs/oss/api-reference/view-helpers-api.md
  • docs/oss/building-features/extensible-precompile-pattern.md
  • docs/oss/building-features/hmr-and-hot-reloading-with-the-webpack-dev-server.md
  • docs/oss/building-features/how-to-conditionally-server-render-based-on-device-type.md
  • docs/oss/building-features/how-to-use-different-files-for-client-and-server-rendering.md
  • docs/oss/building-features/i18n.md
  • docs/oss/building-features/images.md
  • docs/oss/building-features/process-managers.md
  • docs/oss/building-features/rails-engine-integration.md
  • docs/oss/building-features/rails-webpacker-react-integration-options.md
  • docs/oss/building-features/react-and-redux.md
  • docs/oss/building-features/react-helmet.md
  • docs/oss/building-features/react-router.md
  • docs/oss/building-features/streaming-server-rendering.md
  • docs/oss/building-features/tanstack-router.md
  • docs/oss/building-features/testing-configuration.md
  • docs/oss/building-features/turbolinks.md
  • docs/oss/configuration/README.md
  • docs/oss/configuration/configuration-deprecated.md
  • docs/oss/configuration/configuration-pro.md
  • docs/oss/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md
  • docs/oss/core-concepts/client-vs-server-rendering.md
  • docs/oss/core-concepts/how-react-on-rails-works.md
  • docs/oss/core-concepts/react-server-rendering.md
  • docs/oss/core-concepts/render-functions-and-railscontext.md
  • docs/oss/core-concepts/render-functions.md
  • docs/oss/core-concepts/webpack-configuration.md
  • docs/oss/deployment/README.md
  • docs/oss/deployment/capistrano-deployment.md
  • docs/oss/deployment/elastic-beanstalk.md
  • docs/oss/deployment/heroku-deployment.md
  • docs/oss/deployment/server-rendering-tips.md
  • docs/oss/deployment/troubleshooting-build-errors.md
  • docs/oss/deployment/troubleshooting-when-using-shakapacker.md
  • docs/oss/deployment/troubleshooting-when-using-webpacker.md
  • docs/oss/deployment/troubleshooting.md
  • docs/oss/getting-started/common-issues.md
  • docs/oss/getting-started/create-react-on-rails-app.md
  • docs/oss/getting-started/installation-into-an-existing-rails-app.md
  • docs/oss/getting-started/pro-quick-start.md
  • docs/oss/getting-started/project-structure.md
  • docs/oss/getting-started/quick-start.md
  • docs/oss/getting-started/tutorial.md
  • docs/oss/getting-started/using-react-on-rails.md
  • docs/oss/introduction.md
  • docs/oss/migrating/angular-js-integration-migration.md
  • docs/oss/migrating/babel-to-swc-migration.md
  • docs/oss/migrating/convert-rails-5-api-only-app.md
  • docs/oss/migrating/migrating-from-react-rails.md
  • docs/oss/migrating/migrating-from-webpack-to-rspack.md
  • docs/oss/misc/articles.md
  • docs/oss/misc/asset-pipeline.md
  • docs/oss/misc/code_of_conduct.md
  • docs/oss/misc/credits.md
  • docs/oss/misc/doctrine.md
  • docs/oss/misc/style.md
  • docs/oss/misc/tips.md
  • docs/oss/misc/updating-dependencies.md
  • docs/oss/upgrading/release-notes/15.0.0.md
  • docs/oss/upgrading/release-notes/16.0.0.md
  • docs/oss/upgrading/release-notes/16.1.0.md
  • docs/oss/upgrading/release-notes/16.2.0.md
  • docs/oss/upgrading/upgrading-react-on-rails.md
  • docs/pro/caching.md
  • docs/pro/home-pro.md
  • docs/pro/react-server-components/glossary.md
  • internal/planning/JS_PRO_PACKAGE_SEPARATION_PLAN.md
  • internal/planning/MONOREPO_MERGER_PLAN.md
  • internal/planning/MONOREPO_MERGER_PLAN_REF.md
  • internal/testimonials/README.md
  • internal/testimonials/hvmn.md
  • internal/testimonials/resortpass.md
  • react_on_rails/lib/generators/react_on_rails/templates/base/base/config/initializers/react_on_rails.rb.tt
  • react_on_rails/lib/react_on_rails/doctor.rb
  • react_on_rails/lib/react_on_rails/test_helper.rb
  • react_on_rails/spec/dummy/config/initializers/react_on_rails.rb
  • react_on_rails_pro/spec/dummy/app/views/layouts/application.html.erb
  • react_on_rails_pro/spec/dummy/config/initializers/react_on_rails.rb
  • react_on_rails_pro/spec/execjs-compatible-dummy/config/initializers/react_on_rails.rb

Comment thread AGENTS.md Outdated
Comment thread docs/pro/caching.md Outdated
Comment thread docs/pro/home-pro.md Outdated
Comment thread docs/README.md
Comment thread README.md Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 10, 2026

Review: Move OSS docs to docs/oss/

Overall the restructuring is clean and well-executed. Cross-references in Ruby source files, generator templates, doctor.rb, and Pro docs are all correctly updated. The docs/README.md unified entry point is a significant improvement for navigation.

Issues Found

1. Stale absolute GitHub URL (broken by this PR)

docs/oss/building-features/how-to-conditionally-server-render-based-on-device-type.md line 30 was moved via pure rename (100% similarity) but contains an absolute GitHub URL pointing to the now-moved path:

# See https://github.com/shakacode/react_on_rails/blob/master/docs/configuration/README.md for the rest

Since docs/configuration/ was also moved to docs/oss/configuration/ in this PR, this absolute URL is now broken. Should be updated to:

# See https://github.com/shakacode/react_on_rails/blob/master/docs/oss/configuration/README.md for the rest

2. server_manager.rb website URL not updated

react_on_rails/lib/react_on_rails/dev/server_manager.rb line 356 has a hardcoded website URL:

https://www.shakacode.com/react-on-rails/docs/building-features/process-managers

The PR description mentions a companion task for sc-website. If the website mirrors the docs/ file structure, this URL may need to be updated. Worth confirming the website will continue to serve this path after the restructure.

Minor Observations (pre-existing, not introduced by this PR)

  • docs/oss/configuration/README.md line 289 has a stale link docs/release-notes/16.0.0.md inside a Ruby code comment — the correct path would be docs/oss/upgrading/release-notes/16.0.0.md. Pre-existing issue exposed by the move, not required to fix in this PR.
  • packages/react-on-rails/README.md references website URLs (e.g. https://www.shakacode.com/react-on-rails/docs/getting-started/quick-start/) that are out of scope but part of the companion website task.

Positives

  • docs/pro/configuration.md: Correctly fixes a link from the old react_on_rails_pro repo to the monorepo path.
  • docs/pro/home-pro.md: Good cleanup — updates @rails/webpacker to Shakapacker and fixes the spec/dummy link to point to the Pro dummy app.
  • All Ruby source file links, generator templates, and initializer comments are properly updated.
  • The internal/ move for planning docs and testimonials is a sensible separation.

The stale link in item 1 is the only issue directly introduced by this PR and should be fixed before merge.

Comment thread docs/pro/ruby-api.md
@@ -2,8 +2,119 @@

## View Helpers

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This file received a large content expansion (110+ new lines) that goes well beyond the doc restructuring scope. The view helper signatures, option descriptions, and code examples all look accurate, but a review by someone familiar with the Pro internals is worthwhile before merging — particularly the async_react_component and rsc_payload_react_component sections which describe complex behavior.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 10, 2026

PR Review: Move OSS docs to docs/oss/

Overall this is a clean, well-executed documentation reorganization. The file moves are correct and the cross-reference updates are comprehensive. One broken link to fix:

Bug: Missed link update in NEWS.md line 17

This line was not part of the diff hunks so it could not receive an inline comment. It contains a broken relative link:

- 2017-09-06: ... See [Upgrading React on Rails](./docs/upgrading/upgrading-react-on-rails.md) ...

The file was moved to docs/oss/upgrading/ by this PR but line 17 was not updated. Should be ./docs/oss/upgrading/upgrading-react-on-rails.md

Observation: ruby-api.md and troubleshooting.md include substantial content additions

These two Pro docs received significant new content (view helper docs with code examples, node renderer troubleshooting, fragment caching troubleshooting, license troubleshooting) well beyond the doc restructuring scope. The content looks accurate and valuable, but worth a focused review by someone familiar with the Pro internals to verify correctness (see inline comment on ruby-api.md).

External website URLs intentionally deferred

Several places still reference https://www.shakacode.com/react-on-rails/docs/building-features/... (CHANGELOG, README feature table, server_manager.rb). The PR description explicitly calls out website URL updates as a companion sc-website task -- that is the right approach.

Link path fix in docs/pro/react-server-components/glossary.md is correct

The old path ../../../docs/core-concepts/... went 3 levels up to the repo root then back into docs/, which is fragile. The new ../../oss/core-concepts/... (2 levels up to docs/, then into oss/) is cleaner and correct.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

[docs/pro/configuration.md](../pro/configuration.md)

P2 Badge Correct OSS-to-Pro relative links after moving docs under oss

After the OSS docs were moved into docs/oss, this link still uses ../pro/..., which now resolves to docs/oss/pro/... and 404s. From this directory depth it needs to go up two levels (../../pro/...) to reach the existing Pro docs, and the same pattern appears in other moved OSS pages (for example docs/oss/api-reference/generator-details.md and docs/oss/getting-started/project-structure.md).


![HelloWorld Bundle Analysis](../images/bundle-splitting-hello-world.png)

P2 Badge Update moved OSS docs to use valid shared image paths

This screenshot path was valid before the move, but from docs/oss/core-concepts the relative path ../images/... now points to docs/oss/images/..., which does not exist, so the rendered documentation shows broken images. These image references need to be rebased to the shared docs/images/ location (for example ../../images/...).

ℹ️ 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".

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/node-renderer/error-reporting-and-tracing.md`:
- Line 3: The doc line implies honeybadgerApiKey and sentryDsn are merely
deprecated, but configBuilder.ts actually causes a runtime error and exits when
those options are used in 4.0.0+, so update the sentence to state that using
honeybadgerApiKey or sentryDsn will cause the process to exit with an error in
4.0.0 and later; mention the exact option names (honeybadgerApiKey, sentryDsn)
and reference the enforcement in configBuilder.ts so readers know this is a
breaking/runtime error, not just a deprecation.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 77f003fa-769b-427d-99d3-5c89ce0a48b0

📥 Commits

Reviewing files that changed from the base of the PR and between 77c3d67 and b51c396.

📒 Files selected for processing (8)
  • docs/pro/configuration.md
  • docs/pro/home-pro.md
  • docs/pro/node-renderer/error-reporting-and-tracing.md
  • docs/pro/node-renderer/heroku.md
  • docs/pro/node-renderer/js-configuration.md
  • docs/pro/node-renderer/troubleshooting.md
  • docs/pro/ruby-api.md
  • docs/pro/troubleshooting.md
✅ Files skipped from review due to trivial changes (5)
  • docs/pro/node-renderer/troubleshooting.md
  • docs/pro/troubleshooting.md
  • docs/pro/node-renderer/heroku.md
  • docs/pro/configuration.md
  • docs/pro/ruby-api.md
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/pro/home-pro.md

Comment thread docs/pro/node-renderer/error-reporting-and-tracing.md Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 10, 2026

The structural reorganization is clean and well-executed. Ruby source files, generator templates, doctor.rb, and Pro docs cross-references are all correctly updated. The docs/README.md unified entry point is a good improvement for navigation.

Critical: Broken relative links to docs/pro/ in moved OSS files

Six links across five files use ../pro/ which now incorrectly resolves to the non-existent docs/oss/pro/ rather than docs/pro/. After the move from docs/{subdir}/ to docs/oss/{subdir}/, the correct relative path is ../../pro/.

Affected locations:

  • docs/oss/api-reference/generator-details.md line 249 — ../pro/react-on-rails-pro.md should be ../../pro/react-on-rails-pro.md
  • docs/oss/api-reference/generator-details.md line 302 — ../pro/major-performance-breakthroughs-upgrade-guide.md should be ../../pro/major-performance-breakthroughs-upgrade-guide.md
  • docs/oss/api-reference/view-helpers-api.md line 164 — ../pro/configuration.md should be ../../pro/configuration.md
  • docs/oss/configuration/configuration-pro.md line 12 — ../pro/configuration.md should be ../../pro/configuration.md
  • docs/oss/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md line 498 — ../pro/react-server-components/glossary.md should be ../../pro/react-server-components/glossary.md
  • docs/oss/getting-started/project-structure.md line 33 — ../pro/react-server-components/glossary.md should be ../../pro/react-server-components/glossary.md

Minor: Stale link in NEWS.md line 17

./docs/upgrading/upgrading-react-on-rails.md should be ./docs/oss/upgrading/upgrading-react-on-rails.md

Minor: AGENTS.md project structure table

The docs/contributor-info/ row was removed but internal/contributor-info/ is not added as its replacement, leaving contributors without guidance on where those docs now live.

Generated with Claude Code

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 10, 2026

Code Review

Overall this is a well-executed documentation reorganization. The docs/oss/ + docs/pro/ sibling structure is clean, the unified docs/README.md navigation page is helpful, and all Ruby/template cross-references have been updated consistently. A few items worth addressing:

Issues

1. AGENTS.md Project Structure table is missing internal/

The old table had docs/contributor-info/ which was moved to internal/contributor-info/. The new table drops that row entirely, so agents and contributors will not know the internal/ directory exists. It should be added covering internal/contributor-info/, internal/planning/, and internal/testimonials/.

2. docs/pro/ruby-api.mdcached_react_component_hash claim needs verification

The new docs say it "Automatically sets prerender: true". This is a strong behavioural claim that should be verified against the actual helper implementation before shipping as authoritative documentation. If correct, it is worth noting why — the hash variant always needs SSR output to split HTML from the console replay script.

3. docs/README.md — category links point at bare directories

Lines like [Getting Started](./oss/getting-started/) link to directories. On GitHub this renders as a directory listing, which is poor UX. Most subdirectories already have a README.md; linking to those directly gives a better experience.

Nits

  • docs/pro/ruby-api.md source links use /blob/master/ (lines 119-120). The repo default branch is main, not master — these may 404 or silently redirect.
  • docs/pro/home-pro.md has two top-level # Features headings (pre-existing). Worth cleaning up while the file is already being touched.
  • The website companion task (updating sc-website URL routing for the old docs/<topic> paths) is called out in the test plan but has no linked tracking issue. Worth creating one before merging so it does not get lost.

Comment thread AGENTS.md
| `rakelib/` | Rake task definitions |
| `docs/oss/` | OSS documentation — published to the [ShakaCode website](https://www.shakacode.com/react-on-rails/docs/) |
| `docs/pro/` | Pro documentation — installation, configuration, RSC, node renderer, caching |
| `analysis/` | Investigation and analysis documents (kebab-case `.md` files) |
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The internal/ directory (created by #2414 and extended here) is now home to contributor-info/, planning/, and testimonials/ but doesn't appear in this table. Without an entry here, agents working on the repo have no way to discover those documents.

Suggested addition below analysis/:

Suggested change
| `analysis/` | Investigation and analysis documents (kebab-case `.md` files) |
| `analysis/` | Investigation and analysis documents (kebab-case `.md` files) |
| `internal/` | Contributor guides, planning docs, and testimonials (not published to the website) |

Comment thread docs/pro/ruby-api.md Outdated

### `cached_react_component_hash(component_name, options = {}, &block)`

Fragment-cached version of `react_component_hash`. Automatically sets `prerender: true`. Returns a hash with `"html"` and `"consoleReplayScript"` keys.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

"Automatically sets prerender: true" is a strong behavioural claim. Please verify this against the actual helper in react_on_rails_pro_helper.rb before this ships as canonical docs. If it is true, it is worth adding a one-line rationale (e.g. "because the hash return value requires server-rendered HTML to split from the console replay script") so readers understand why the option is forced on.

Comment thread docs/pro/ruby-api.md

## Source

- [View Helpers](https://github.com/shakacode/react_on_rails/blob/master/react_on_rails_pro/app/helpers/react_on_rails_pro_helper.rb)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These links use /blob/master/ but the repo's default branch is main. They currently resolve via GitHub's redirect, but that is fragile. Please update to /blob/main/ (or link to the directory instead of a specific file for more durability).

Suggested change
- [View Helpers](https://github.com/shakacode/react_on_rails/blob/master/react_on_rails_pro/app/helpers/react_on_rails_pro_helper.rb)
- [View Helpers](https://github.com/shakacode/react_on_rails/blob/main/react_on_rails_pro/app/helpers/react_on_rails_pro_helper.rb)
- [Utils](https://github.com/shakacode/react_on_rails/blob/main/react_on_rails_pro/lib/react_on_rails_pro/utils.rb)

Comment thread docs/README.md Outdated
### Categories

### 🏗️ **Migrating from Other Solutions**
- [Getting Started](./oss/getting-started/) - Installation, quick start, tutorial
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

These category links resolve to bare directory listings on GitHub, which is a poor reading experience. Most of these directories already have a README.md — linking there directly is much better:

Suggested change
- [Getting Started](./oss/getting-started/) - Installation, quick start, tutorial
- [Getting Started](./oss/getting-started/README.md) - Installation, quick start, tutorial
- [Core Concepts](./oss/core-concepts/) - How React on Rails works, SSR, auto-bundling
- [Building Features](./oss/building-features/) - Redux, routing, i18n, testing
- [Configuration](./oss/configuration/README.md) - All configuration options
- [API Reference](./oss/api-reference/) - View helpers and JavaScript API
- [Deployment](./oss/deployment/README.md) - Production deployment and troubleshooting
- [Upgrading](./oss/upgrading/) - Version upgrade guides
- [Migrating](./oss/migrating/) - From other frameworks

(Adjust which directories have a README.md as needed — at minimum getting-started/, configuration/, and deployment/ do.)

@coderabbitai coderabbitai Bot added documentation docs-cleanup Documentation cleanup or migration P3 Parked priority labels Mar 11, 2026
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 11, 2026

PR Review: Move OSS docs to docs/oss/

Overall: Well-executed documentation restructuring. The separation of OSS and Pro docs is clean and most cross-references were correctly updated. Found one broken link to flag, plus a few minor observations.


Bug: Broken link in docs/README.md

Line 28 links to ./oss/getting-started/README.md:

- [Getting Started](./oss/getting-started/README.md) - Installation, quick start, tutorial

But docs/oss/getting-started/ has no README.md — only named files (quick-start.md, tutorial.md, etc.). This 404s on GitHub. Should link to ./oss/getting-started/quick-start.md or ./oss/getting-started/installation-into-an-existing-rails-app.md to match the other "Getting Started" entry in the quick reference table.


Observation: External website URLs not updated (acknowledged, intentional)

Files like bin/dev (line 38) and server_manager.rb (line 356) still contain shakacode.com/react-on-rails/docs/building-features/... URLs without the /oss/ prefix. The PR description notes website URL updates are a companion task in sc-website — just confirming this is intentional and tracked.


What's done well

  • All 56+ moved files correctly updated relative path depths (../../../) for the extra directory level
  • All GitHub blob URLs in Ruby code (doctor.rb, generator template, spec initializers) correctly updated to docs/oss/
  • Pro→OSS cross-references (../oss/...) and OSS→Pro cross-references (../../pro/...) are all correct
  • docs/README.md is a clean, navigable entry point for both OSS and Pro
  • AGENTS.md project structure table correctly reflects new layout
  • internal/ moves (planning docs, testimonials) follow the established pattern from Docs: move internal-only docs out of published docs trees #2414

Comment thread docs/README.md Outdated
### Categories

### 🏗️ **Migrating from Other Solutions**
- [Getting Started](./oss/getting-started/README.md) - Installation, quick start, tutorial
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Broken link — docs/oss/getting-started/README.md does not exist. The getting-started/ directory contains only named files (quick-start.md, tutorial.md, etc.), no README.md.

Suggested change
- [Getting Started](./oss/getting-started/README.md) - Installation, quick start, tutorial
- [Getting Started](./oss/getting-started/quick-start.md) - Installation, quick start, tutorial

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 11, 2026

PR Review: Move OSS Docs to docs/oss/ -- Overall assessment: This is a clean, well-executed documentation restructuring. The new docs/oss/ and docs/pro/ separation is clear, all 67+ OSS doc files are properly organized, and cross-references in Ruby source files, generator templates, and spec initializers have been correctly updated. WHAT LOOKS GOOD: All relative links in docs/README.md, docs/oss/introduction.md, and cross docs/pro/ to ../oss/ references check out against actual file paths. Ruby URL comments in doctor.rb and test_helper.rb correctly point to docs/oss/. AGENTS.md accurately documents docs/oss/ and docs/pro/ with the updated boundary rule. The unified docs/README.md entry point with learning paths and quick-reference table is a good GitHub browsing experience. ISSUES FOUND: 1) Generator template comment/code mismatch: In react_on_rails.rb.tt line 43 says 'ALTERNATIVE APPROACH: Uncomment below' but line 48 (config.build_test_command) is already uncommented. This means every newly generated app will have build_test_command active by default, which triggers the doctor.rb warning when compile: true is also set in shakapacker.yml. Should either comment out line 48 or change the comment to say 'configured below'. 2) Relative path vs full URL inconsistency: test_helper.rb:29 uses a bare relative path while doctor.rb:1193 uses a full GitHub URL. Both work but full URLs are more discoverable (clickable in IDEs). 3) Website URL updates (acknowledged out of scope): Several external URLs in README.md still reflect old URL structure, need companion updates in sc-website per the PR description. VERDICT: LGTM with a suggestion to fix the generator template comment/code mismatch before merge.

Comment on lines 43 to 48
# ALTERNATIVE APPROACH: Uncomment below AND configure ReactOnRails::TestHelper
# - Provides explicit control over test asset compilation timing
# - Requires adding ReactOnRails::TestHelper to spec/rails_helper.rb
# - See: https://github.com/shakacode/react_on_rails/blob/master/docs/building-features/testing-configuration.md
# - See: https://github.com/shakacode/react_on_rails/blob/master/docs/oss/building-features/testing-configuration.md
#
config.build_test_command = "RAILS_ENV=test bin/shakapacker"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The comment says "Uncomment below AND configure ReactOnRails::TestHelper" but config.build_test_command on line 48 is already uncommented. This means every app generated with this template has build_test_command set by default — which will trigger the doctor.rb conflict warning if the user also has compile: true in shakapacker.yml.

The fix is either:

Suggested change
# ALTERNATIVE APPROACH: Uncomment below AND configure ReactOnRails::TestHelper
# - Provides explicit control over test asset compilation timing
# - Requires adding ReactOnRails::TestHelper to spec/rails_helper.rb
# - See: https://github.com/shakacode/react_on_rails/blob/master/docs/building-features/testing-configuration.md
# - See: https://github.com/shakacode/react_on_rails/blob/master/docs/oss/building-features/testing-configuration.md
#
config.build_test_command = "RAILS_ENV=test bin/shakapacker"
# config.build_test_command = "RAILS_ENV=test bin/shakapacker"

...so the comment matches ("Uncomment below"), or update the comment to say "configured below" to match the current behavior where it's active by default. This appears to be a pre-existing issue, but worth resolving here.

Comment thread react_on_rails/lib/react_on_rails/test_helper.rb Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 11, 2026

PR Review: Move OSS docs to docs/oss/

Overall this is a clean, well-scoped documentation reorganization. The structure makes the OSS/Pro split immediately obvious and the cross-reference updates are thorough.

What looks good:

  • Link updates are consistent across Ruby source, generator templates, spec initializers, and markdown cross-references.
  • No behavioral code changes — only URL strings in comments/strings updated.
  • All verified internal relative links resolve correctly.
  • docs/README.md is a genuinely useful navigation entry point.

Issues worth addressing:

  1. Content duplicationdocs/pro/node-renderer/troubleshooting.md covers Connection refused, Worker restart, and Memory issues. The new docs/pro/troubleshooting.md has a Node Renderer section covering those same three scenarios with slightly expanded content. Two sources of truth. Consider fully consolidating into the top-level guide and making node-renderer/troubleshooting.md a pure pointer, or keeping scopes cleanly separate with no overlap.

  2. Stale path in docs/pro/configuration.md:33 — Still has # See /docs/bundle-caching.md for usage... (absolute-style). Should be ./bundle-caching.md.

  3. Website URL coordination unchecked — The test plan notes companion updates in sc-website repo as unchecked. Old website paths will 404 until that lands. Worth confirming this is tracked/blocked before merging if external traffic hits those paths.

Nit: docs/pro/home-pro.md link text [docs/streaming-server-rendering] reads oddly — could just be [Streaming Server Rendering].

- Use `config.ssr_pre_hook_js` to clear global state leaks between renders
- Enable rolling restarts as insurance against slow memory leaks

For additional troubleshooting, see the [main troubleshooting guide](../troubleshooting.md).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This file still covers Connection refused, Worker restart config, and Memory issues — the same three topics that the new docs/pro/troubleshooting.md "## Node Renderer" section now covers with expanded detail. To avoid two sources of truth, consider either:

  • Converting this file to a simple pointer (remove the duplicated sections, keep only this "For additional troubleshooting..." line), or
  • Keeping this file as the canonical node-renderer troubleshooting doc and removing the Node Renderer section from docs/pro/troubleshooting.md.

Comment thread docs/pro/home-pro.md
Suppose you detect that some library used in server-rendering is leaking state between calls to server render. In that case, you can set the `config.ssr_pre_hook_js` in your `config/initializers/react_on_rails_pro.rb` to run some JavaScript to clear the globally leaked state at the beginning of each call to server render.

For more details, see [Rails Configuration](../../docs/configuration/README.md).
For more details, see [Rails Configuration (OSS)](../oss/configuration/README.md).
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This cross-link to ../oss/configuration/README.md looks correct for the new structure ✓. Just noting that lines 27 and 36 above still use "docs/streaming-server-rendering" and "docs/caching" as link display text (path-style) rather than human-readable titles like "Streaming Server Rendering" and "Fragment Caching". Minor readability nit since those lines weren't changed in this PR.

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 005869d9c7

ℹ️ 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".

# - See: https://github.com/shakacode/react_on_rails/blob/master/docs/oss/building-features/testing-configuration.md
#
config.build_test_command = "RAILS_ENV=test bin/shakapacker"
# config.build_test_command = "RAILS_ENV=test bin/shakapacker"
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P1 Badge Restore default build_test_command in generated initializer

Commenting out config.build_test_command leaves new installs with an empty test build command, but the generator still wires ReactOnRails::TestHelper.configure_rspec_to_compile_assets(config) into RSpec (see base_generator.rb), and WebpackAssetsCompiler exits immediately when build_test_command is blank. In apps where the generator detects spec/rails_helper.rb, JS/system specs now abort on first run unless users manually notice and uncomment this line, which is a functional regression from the previous template default.

Useful? React with 👍 / 👎.

justin808 and others added 8 commits March 10, 2026 21:11
ruby-api.md: Document all 7 view helpers (cached_react_component,
cached_react_component_hash, stream_react_component,
cached_stream_react_component, rsc_payload_react_component,
async_react_component, cached_async_react_component) with signatures,
descriptions, and examples. Add Utils method reference table.

troubleshooting.md: Add sections for node renderer issues (connection
refused, memory leaks, worker restarts during streaming), fragment
caching problems, license validation, and RSC debugging.

Part of #2583

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Replace the 2-bullet stub with sections on worker restart config,
connection refused debugging, and memory profiling. Cross-reference
the main troubleshooting guide.

Part of #2583

Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Fix NEWS.md missed link update to new docs/oss/ path
- Add configuration/ to AGENTS.md OSS docs allowlist
- Add internal/ directory to AGENTS.md project structure table
- Fix toLocalString → toLocaleString typo in caching.md
- Clarify deprecated → removed for node-renderer options in 4.0.0+
- Disambiguate Rails Configuration links in home-pro.md (OSS vs Pro)
- Add misc/ section to docs/README.md categories
- Link categories to README.md instead of bare directories
- Update README.md i18n link to new OSS docs path
- Fix all ../pro/ relative links from docs/oss/ to ../../pro/
- Fix broken ../images/ paths from docs/oss/core-concepts/
- Extract long URL in doctor.rb to stay within 120-char line limit
- Add rationale for forced prerender: true in ruby-api.md

Co-Authored-By: Claude Opus 4.6 <[email protected]>
The getting-started/ directory has no README.md; link to quick-start.md instead.

Co-Authored-By: Claude Opus 4.6 <[email protected]>
Co-authored-by: claude[bot] <209825114+claude[bot]@users.noreply.github.com>
- Comment out build_test_command in generator template so it matches the
  "Uncomment below" instruction (was active by default, conflicting with
  compile: true in shakapacker.yml)
- Use full GitHub URL in test_helper.rb comment for consistency with
  doctor.rb and better IDE discoverability

Co-Authored-By: Claude Opus 4.6 <[email protected]>
- Use full GitHub URL in test_helper.rb comment for consistency with doctor.rb
- Deduplicate node-renderer/troubleshooting.md by converting to pointer to
  main troubleshooting guide
- Use human-readable link text in home-pro.md instead of path-style text

Co-Authored-By: Claude Opus 4.6 <[email protected]>
@justin808 justin808 force-pushed the jg/docs-consolidate-oss-pro branch from 8c9763c to e99f76b Compare March 11, 2026 07:11
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 11, 2026

Review: Move OSS docs to docs/oss/ - This is a clean, well-executed documentation reorganisation. Links spot-checked and all resolve correctly. Two items worth addressing before merge: (1) In react_on_rails.rb.tt the comment says 'ALTERNATIVE APPROACH: Uncomment below' but config.build_test_command is already uncommented and active - confusing for new users. (2) The test plan still has an unchecked item for sc-website URL coordination - if merged before website redirects are set up, externally bookmarked links will 404. Also worth a follow-up: adding an automated link checker (e.g. markdown-link-check) to CI given ~90 files were touched. Overall low risk - no logic changes.

# - See: https://github.com/shakacode/react_on_rails/blob/master/docs/building-features/testing-configuration.md
# - See: https://github.com/shakacode/react_on_rails/blob/master/docs/oss/building-features/testing-configuration.md
#
config.build_test_command = "RAILS_ENV=test bin/shakapacker"
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The comment on lines 43-47 says "ALTERNATIVE APPROACH: Uncomment below" but config.build_test_command here is already active (not commented out). Developers who generate a new app will silently have build_test_command set, contradicting both the "use ONLY ONE" warning above and the "Uncomment below" instruction.

This is a pre-existing issue (not introduced by this PR's URL update), but since the file is open it's worth fixing:

Suggested change
config.build_test_command = "RAILS_ENV=test bin/shakapacker"
# config.build_test_command = "RAILS_ENV=test bin/shakapacker"

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 11, 2026

Review: Move OSS docs to docs/oss/

Overall this is a clean, well-structured documentation reorganization with low functional risk. The separation of OSS and Pro docs into docs/oss/ and docs/pro/ is a sensible architectural decision.

What is good:

  • doctor.rb: Extracting the repeated URL into a local variable (testing_config_url) is a nice DRY improvement.
  • test_helper.rb: Converting the relative path comment to a full GitHub URL is an improvement for navigability.
  • docs/pro/ruby-api.md: The expanded API documentation (helper signatures, usage examples, options table) is substantially more useful than the previous see-source pointer.
  • docs/README.md: The restructured entry point with clear OSS/Pro separation and a Quick Reference table is a nice usability improvement.
  • AGENTS.md: Updated project structure table and negative constraint rule both accurately reflect the new layout.

Issues found:

Issue 1. Stale GitHub URL inside moved file (broken link)

docs/oss/building-features/how-to-conditionally-server-render-based-on-device-type.md was renamed with 100% similarity (content unchanged), but line 30 contains a hardcoded GitHub URL pointing to the old path. This link will 404 after merge. It should reference docs/oss/configuration/README.md. See inline comment.

Issue 2. WARP.md:360 not updated (out of PR scope but worth noting)

WARP.md still references docs/MONOREPO_MERGER_PLAN_REF.md which moved to internal/planning/MONOREPO_MERGER_PLAN_REF.md. This file is not in the PR diff - worth addressing in a follow-up.

Issue 3. Relative paths in dummy app initializer comments

The comments in react_on_rails/spec/dummy/config/initializers/react_on_rails.rb and the Pro equivalents now read See docs/oss/configuration/README.md (a repo-relative path). These were already relative before this PR so it is not a regression, but since test_helper.rb was upgraded to a full absolute URL in this same PR, applying the same upgrade here would be consistent. Minor.

Issue 4. Website URL redirect dependency

Numerous entries in README.md, CHANGELOG.md, and packages/ READMEs still link to the website with the old path structure (e.g., /docs/building-features/..., /docs/configuration/). The PR test plan mentions coordinating website URL updates - make sure those redirects are confirmed before merge to avoid breaking existing bookmarks.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Mar 11, 2026

Inline note on docs/oss/building-features/how-to-conditionally-server-render-based-on-device-type.md line 30:

This file was renamed with 100% similarity so GitHub does not show it in the diff, but the content still contains the old hardcoded URL on line 30:

See https://github.com/shakacode/react_on_rails/blob/master/docs/configuration/README.md for the rest

After this rename, that path no longer exists and will 404. It should be updated to:

See https://github.com/shakacode/react_on_rails/blob/master/docs/oss/configuration/README.md for the rest

# Match test section and look for compile: true
has_compile_true = shakapacker_content.match(/^test:.*?^\s+compile:\s*true/m)

testing_config_url =
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good refactor extracting the URL to a variable to avoid repeating it twice (lines 1200 and 1215). One small suggestion: since this is a constant string that never changes within the method, you could define it as a frozen string constant at the class level (e.g., TESTING_CONFIG_URL = "...".freeze) to make it reusable if the URL is referenced elsewhere in the file in the future. That said, local variable is perfectly fine here given the current scope.

#
# See docs/building-features/testing-configuration.md for more info
# See https://github.com/shakacode/react_on_rails/blob/master/docs/oss/building-features/testing-configuration.md
# for more info
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Good improvement converting from a vague relative path to the full absolute GitHub URL - makes it directly navigable from any context (IDE, email, etc.).

@justin808 justin808 merged commit f30b64e into master Mar 11, 2026
40 checks passed
@justin808 justin808 deleted the jg/docs-consolidate-oss-pro branch March 11, 2026 08:26
justin808 added a commit that referenced this pull request Mar 13, 2026
…k cleanup (#2596)

## Summary
- Added missing changelog entries for PRs #2439, #2477, #2554
- Stamped version header for 16.4.0.rc.9 (collapsed rc.8 into rc.9)
- **Fixed rake task bug**: `collapse_prerelease_sections` removed
section headers but left behind orphaned compare links at the bottom of
CHANGELOG.md. Added `cleanup_collapsed_prerelease_links` to remove these
links and update `[unreleased]` to compare from the last stable version.

## Changes
1. **CHANGELOG.md**: New entries + rc.9 stamp + removed orphaned
`[16.4.0.rc.8]` link
2. **update_changelog.rake**: Added `cleanup_collapsed_prerelease_links`
function, called from `prepare_changelog_for_auto_version`
3. **update_changelog_rake_helpers_spec.rb**: 3 new tests covering link
cleanup (multi-prerelease chain, single prerelease, no prereleases)

## Skipped PRs (not user-visible)
- #2593 — test only (lock instrumentation)
- #2591 — test only (Jest clearMocks)
- #2588 — internal refactoring (Thor shell output)
- #2584 — docs restructuring
- #2587 — internal tooling (release script)
- #2589 — docs fix (JWT claim name)
- #2586 — docs/CI (dead link removal)

## Test plan
- [x] All 13 rake helper tests pass (3 new)
- [ ] CI passes
- [ ] After merge, run `rake release` to publish 16.4.0.rc.9

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

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

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed bin/setup failing in pnpm workspace member directories.

* **New Features**
* Added host configuration option for the Node Renderer Fastify worker.

* **Improvements / Changed**
* Automatic installation of react_on_rails_pro enabled for --rsc/--pro
flags.
* Clarified Pro-installation signaling related to immediate hydration
warnings.
* Updated changelog to include RC9 entries and ensure Unreleased links
point to the correct base.

* **Documentation**
* Added startup warning and remediation guidance for unsafe compression
middleware callbacks.

* **Tests**
  * Added tests covering changelog prerelease-link cleanup behavior.

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

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
justin808 added a commit that referenced this pull request Mar 30, 2026
…k cleanup (#2596)

## Summary
- Added missing changelog entries for PRs #2439, #2477, #2554
- Stamped version header for 16.4.0.rc.9 (collapsed rc.8 into rc.9)
- **Fixed rake task bug**: `collapse_prerelease_sections` removed
section headers but left behind orphaned compare links at the bottom of
CHANGELOG.md. Added `cleanup_collapsed_prerelease_links` to remove these
links and update `[unreleased]` to compare from the last stable version.

## Changes
1. **CHANGELOG.md**: New entries + rc.9 stamp + removed orphaned
`[16.4.0.rc.8]` link
2. **update_changelog.rake**: Added `cleanup_collapsed_prerelease_links`
function, called from `prepare_changelog_for_auto_version`
3. **update_changelog_rake_helpers_spec.rb**: 3 new tests covering link
cleanup (multi-prerelease chain, single prerelease, no prereleases)

## Skipped PRs (not user-visible)
- #2593 — test only (lock instrumentation)
- #2591 — test only (Jest clearMocks)
- #2588 — internal refactoring (Thor shell output)
- #2584 — docs restructuring
- #2587 — internal tooling (release script)
- #2589 — docs fix (JWT claim name)
- #2586 — docs/CI (dead link removal)

## Test plan
- [x] All 13 rake helper tests pass (3 new)
- [ ] CI passes
- [ ] After merge, run `rake release` to publish 16.4.0.rc.9

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

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

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed bin/setup failing in pnpm workspace member directories.

* **New Features**
* Added host configuration option for the Node Renderer Fastify worker.

* **Improvements / Changed**
* Automatic installation of react_on_rails_pro enabled for --rsc/--pro
flags.
* Clarified Pro-installation signaling related to immediate hydration
warnings.
* Updated changelog to include RC9 entries and ensure Unreleased links
point to the correct base.

* **Documentation**
* Added startup warning and remediation guidance for unsafe compression
middleware callbacks.

* **Tests**
  * Added tests covering changelog prerelease-link cleanup behavior.

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

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
justin808 added a commit that referenced this pull request Apr 6, 2026
…k cleanup (#2596)

## Summary
- Added missing changelog entries for PRs #2439, #2477, #2554
- Stamped version header for 16.4.0.rc.9 (collapsed rc.8 into rc.9)
- **Fixed rake task bug**: `collapse_prerelease_sections` removed
section headers but left behind orphaned compare links at the bottom of
CHANGELOG.md. Added `cleanup_collapsed_prerelease_links` to remove these
links and update `[unreleased]` to compare from the last stable version.

## Changes
1. **CHANGELOG.md**: New entries + rc.9 stamp + removed orphaned
`[16.4.0.rc.8]` link
2. **update_changelog.rake**: Added `cleanup_collapsed_prerelease_links`
function, called from `prepare_changelog_for_auto_version`
3. **update_changelog_rake_helpers_spec.rb**: 3 new tests covering link
cleanup (multi-prerelease chain, single prerelease, no prereleases)

## Skipped PRs (not user-visible)
- #2593 — test only (lock instrumentation)
- #2591 — test only (Jest clearMocks)
- #2588 — internal refactoring (Thor shell output)
- #2584 — docs restructuring
- #2587 — internal tooling (release script)
- #2589 — docs fix (JWT claim name)
- #2586 — docs/CI (dead link removal)

## Test plan
- [x] All 13 rake helper tests pass (3 new)
- [ ] CI passes
- [ ] After merge, run `rake release` to publish 16.4.0.rc.9

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

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

## Summary by CodeRabbit

* **Bug Fixes**
  * Fixed bin/setup failing in pnpm workspace member directories.

* **New Features**
* Added host configuration option for the Node Renderer Fastify worker.

* **Improvements / Changed**
* Automatic installation of react_on_rails_pro enabled for --rsc/--pro
flags.
* Clarified Pro-installation signaling related to immediate hydration
warnings.
* Updated changelog to include RC9 entries and ensure Unreleased links
point to the correct base.

* **Documentation**
* Added startup warning and remediation guidance for unsafe compression
middleware callbacks.

* **Tests**
  * Added tests covering changelog prerelease-link cleanup behavior.

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

---------

Co-authored-by: Claude Opus 4.6 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Consolidate OSS + Pro docs under /docs/oss/ and /docs/pro/

1 participant