Skip to content

Document examples catalog and naming plan#3191

Open
justin808 wants to merge 22 commits intomainfrom
jg-codex/examples-catalog-main
Open

Document examples catalog and naming plan#3191
justin808 wants to merge 22 commits intomainfrom
jg-codex/examples-catalog-main

Conversation

@justin808
Copy link
Copy Markdown
Member

@justin808 justin808 commented Apr 19, 2026

Summary

  • add a canonical docs page for public examples, demos, and migration references
  • replace scattered hard-coded demo links with the maintained examples catalog
  • document the proposed repo naming pattern plus the rename/archive plan in internal planning

Validation

  • pnpm exec prettier --write docs/oss/getting-started/examples-and-references.md internal/planning/examples-catalog-and-repo-naming-plan.md
  • pnpm start format.listDifferent
  • bundle exec rubocop (repo-wide baseline still fails with unrelated existing offenses; no docs-specific RuboCop issue surfaced)

Notes

  • this PR keeps the public docs focused on current examples while capturing the broader archive/rename plan internally
  • the matching reactonrails.com PR will consume the new docs page and curated example taxonomy on the website

Note

Low Risk
Low risk: documentation-only changes that primarily add a new index page and update cross-links; the main risk is broken/incorrect links if any referenced paths or repo slugs change.

Overview
Adds a new canonical docs page, getting-started/examples-and-references.md, to centralize links to maintained starter repos, migration references, and Pro + RSC demos.

Updates existing docs (docs/README.md, tutorial/SSR/Webpack/HMR pages, and introduction.md) and the Docusaurus sidebar to route scattered hard-coded demo/migration links through this new index, including updating an example migration repo slug.

Adds an internal planning doc (internal/planning/examples-catalog-and-repo-naming-plan.md) documenting the desired public repo naming conventions and which repos to feature vs de-emphasize/archive.

Reviewed by Cursor Bugbot for commit 5b95c4a. Bugbot is set up for automated code reviews on this repo. Configure here.

Summary by CodeRabbit

  • Documentation
    • Added canonical "Examples and migration references" page with curated starters, migration guides, and Pro + RSC demos.
    • Updated multiple docs and cross-references to point to the maintained examples index; removed or replaced outdated external example links.
    • Added the new examples page to the Getting Started sidebar.
    • Added an internal examples-catalog and repo‑naming plan to guide public listing and renaming of example repositories.

@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Apr 19, 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

Adds a canonical "Examples and migration references" docs page and an internal examples‑catalog plan; updates multiple documentation pages and the README/sidebar to point to the new page instead of specific external example/demo repositories or legacy repo links.

Changes

Cohort / File(s) Summary
Docs README & cross‑refs
docs/README.md
Replaced an external examples link with an internal ./oss/getting-started/examples-and-references.md link, added a curated external examples entry, and removed one external migration repo link.
Core docs updated to reference index
docs/oss/building-features/rails-webpacker-react-integration-options.md, docs/oss/core-concepts/react-server-rendering.md, docs/oss/core-concepts/webpack-configuration.md, docs/oss/getting-started/tutorial.md, docs/oss/introduction.md
Switched direct example/demo repo links to the new internal examples-and-references page and adjusted copy to reference the maintained SSR + HMR tutorial and curated examples.
New public examples index
docs/oss/getting-started/examples-and-references.md
Added a canonical index listing curated starter repos, migration references, and React on Rails Pro + RSC demos with categories, repo names, and usage notes.
Internal planning doc
internal/planning/examples-catalog-and-repo-naming-plan.md
Added internal catalog and repo‑naming strategy: naming prefixes, featured repos, de‑emphasis/archive list, private exclusions, and rollout steps for syncing site/docs and repo metadata.
Sidebar update
docs/sidebars.ts
Inserted the new getting-started/examples-and-references doc into the Getting Started sidebar immediately after the tutorial entry.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

🐰 I hopped through pages, tidy and bright,
Gathering links by moon and light,
One index snug, old tangles freed,
A catalog named for every need,
Tiny paws, big docs—what a sight!

🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately summarizes the main change: documenting an examples catalog and naming plan, which is reflected across all modified files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.

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

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch jg-codex/examples-catalog-main

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.

Comment thread docs/oss/core-concepts/webpack-configuration.md Outdated
Comment thread docs/oss/building-features/rails-webpacker-react-integration-options.md Outdated
Comment thread docs/README.md Outdated
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: 586022a31d

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

Comment thread docs/oss/getting-started/examples-and-references.md
@greptile-apps
Copy link
Copy Markdown

greptile-apps Bot commented Apr 19, 2026

Greptile Summary

This PR introduces a canonical examples-and-references.md page as a single source of truth for public React on Rails reference repos, then replaces most scattered hard-coded demo links across the docs with pointers to that page. An internal planning document cataloguing all public example repos with rename/archive recommendations is also added.

Confidence Score: 5/5

Safe to merge — documentation-only changes with no code impact; only minor link-text style issues remain.

All findings are P2 style suggestions (vague 'here' anchor text in two places). No logic errors, broken links, or functional regressions were identified.

docs/oss/core-concepts/webpack-configuration.md and docs/oss/building-features/rails-webpacker-react-integration-options.md both introduce bare 'here' link anchors worth fixing before widespread publication.

Important Files Changed

Filename Overview
docs/oss/getting-started/examples-and-references.md New canonical examples page listing starter repos, migration references, and Pro + RSC demos; well-structured and accurate.
internal/planning/examples-catalog-and-repo-naming-plan.md New internal planning doc cataloguing all public example repos with rename/archive recommendations; appropriate scope for an internal file.
docs/oss/core-concepts/webpack-configuration.md Direct repo link replaced with examples-page pointer (good), but a second edit replaced the descriptive 'Shakapacker README' link text with the vague word 'here'.
docs/oss/building-features/rails-webpacker-react-integration-options.md Sentence rewritten to reference maintained SSR+HMR repo, but the link anchor is now the vague word 'here' instead of descriptive text.
docs/oss/core-concepts/react-server-rendering.md Single-line change redirects the direct SSR HMR repo link to the new examples-and-references.md page; clean and consistent.
docs/README.md Adds local examples-and-references.md link alongside the existing reactonrails.com/examples link; reasonable dual-entry approach.
docs/oss/introduction.md Replaces hard-coded Tutorial Demo App link with the new examples page entry; clean one-line change.
docs/oss/getting-started/tutorial.md Updates the top-of-file note from a hard-coded SSR HMR repo link to the new examples-and-references.md pointer; clean and consistent.

Flowchart

%%{init: {'theme': 'neutral'}}%%
flowchart TD
    A[docs/README.md] -->|links to| E
    B[docs/oss/introduction.md] -->|links to| E
    C[docs/oss/getting-started/tutorial.md] -->|links to| E
    D[docs/oss/core-concepts/react-server-rendering.md] -->|links to| E
    F[docs/oss/core-concepts/webpack-configuration.md] -->|links to| E
    G[docs/oss/building-features/rails-webpacker-react-integration-options.md] -->|direct link remains to| H[react_on_rails_demo_ssr_hmr commit]
    E[examples-and-references.md\nCanonical Index] -->|marketing view| I[reactonrails.com/examples]
    E -->|starter| J[react_on_rails_demo_ssr_hmr]
    E -->|starter| K[react-on-rails-rsc-demo]
    E -->|migration| L[react-on-rails-migration-example]
    E -->|Pro+RSC| M[react-on-rails-hn-rsc-demo]
    N[internal/planning/\nexamples-catalog-and-repo-naming-plan.md] -.->|archive/rename plan| E
Loading

Reviews (1): Last reviewed commit: "Document examples catalog and naming pla..." | Re-trigger Greptile

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 19, 2026

Code Review — PR #3191: Document examples catalog and naming plan

Overview

Documentation-only PR that adds a canonical examples-and-references.md index page, updates several docs to route through it instead of scattering hard-coded repo links, and commits an internal planning doc capturing the repo rename/archive strategy. Low runtime risk; no code changes.


What works well

  • The single-source-of-truth approach is sound. Routing docs references through one maintained catalog page will reduce link rot over time.
  • The "Use it when…" framing for each repo entry is genuinely helpful for readers evaluating which repo to start from.
  • The internal planning table (repos to feature, rename, archive) is comprehensive and well-organized.

Issues to address

Link-text regressions (two places — see inline comments)
Two edits replace descriptive link labels with bare [here] links. "here" is an accessibility antipattern — screen readers announce links by label, so "here" is meaningless out of context. Both changes should use a descriptive label. Suggestions attached inline.

docs/README.md still has a direct repo link alongside the catalog (line 29)
The PR adds the catalog link at line 23 but leaves a direct link to react-on-rails-migration-example at line 29. That duplicates what's now in the catalog and undermines the "single point of truth" goal. Suggestion attached inline.

Incomplete link consolidation elsewhere in docs
The PR description says it replaces "scattered hard-coded demo links," but several files still contain hard-coded repo links that weren't touched:

  • docs/oss/building-features/react-router.md — direct link to react-webpack-rails-tutorial
  • docs/oss/building-features/turbolinks.md — direct links to react-webpack-rails-tutorial
  • docs/oss/migrating/migrating-from-react-rails.md — direct link to react-on-rails-migration-example
  • docs/oss/misc/doctrine.md — direct link to react-webpack-rails-tutorial

Not necessarily all must change in this PR, but the description overclaims. Either update those files too, or narrow the summary.

Planning doc links to pre-rename repo slugs
internal/planning/examples-catalog-and-repo-naming-plan.md lists proposed new names (e.g. react-on-rails-demo-gumroad-rsc) while examples-and-references.md still links to the current slug (gumroad-rsc). Once renames happen, examples-and-references.md will need updating — worth a TODO comment or a note pointing readers back to the planning doc.

Internal planning doc in a public OSS repo
internal/planning/ contains stakeholder-facing decision tables (archive lists, rename schedules). Committing this to the public repo is fine as a transparency choice, but consider whether anything in the "Private or Internal Repos to Exclude" section reveals sensitive repo names you'd rather not surface publicly. The current content looks benign, but worth a deliberate check.


Minor nit

The last line of docs/oss/getting-started/examples-and-references.md is missing a trailing newline. Most formatters (including Prettier's markdown mode) will add one; if the file was Prettier-formatted as claimed in the PR description, this may already be resolved in the working tree but not reflected in the diff.

Comment thread docs/oss/core-concepts/webpack-configuration.md
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 1

🧹 Nitpick comments (2)
docs/oss/core-concepts/webpack-configuration.md (1)

126-126: Consider reverting to more descriptive link text.

The change from "documented in the [Shakapacker README]" to "documented here" makes the link text less descriptive. The static analysis tool flagged this as well.

📝 Suggested improvement
-Typical Shakapacker apps have a standard directory structure as documented [here](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code).
+Typical Shakapacker apps have a standard directory structure as documented in the [Shakapacker README](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/oss/core-concepts/webpack-configuration.md` at line 126, Replace the
vague link text "documented here" in the sentence starting "Typical Shakapacker
apps have a standard directory structure..." with a more descriptive label such
as "documented in the Shakapacker README" (or "Shakapacker README") and ensure
the hyperlink target remains the same; update the adjacent phrasing to read "as
documented in the Shakapacker README" so the link text is meaningful for screen
readers and static analysis tools.
docs/oss/building-features/rails-webpacker-react-integration-options.md (1)

116-117: Consider improving link text descriptiveness.

The static analysis tool flagged "here" as non-descriptive link text. While this is a minor style issue, consider making the link text more descriptive.

📝 Suggested improvement
-You can see an example commit of adding this in the maintained SSR + HMR
-tutorial repo [here](https://github.com/shakacode/react_on_rails_demo_ssr_hmr/commit/7e53803fce7034f5ecff335db1f400a5743a87e7).
+You can see an [example commit of adding React Refresh](https://github.com/shakacode/react_on_rails_demo_ssr_hmr/commit/7e53803fce7034f5ecff335db1f400a5743a87e7) in the maintained SSR + HMR tutorial repo.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/oss/building-features/rails-webpacker-react-integration-options.md`
around lines 116 - 117, The link text "here" is non-descriptive; update the
markdown line that currently reads "You can see an example commit of adding this
in the maintained SSR + HMR tutorial repo
[here](https://github.com/shakacode/react_on_rails_demo_ssr_hmr/commit/7e53803fce7034f5ecff335db1f400a5743a87e7)"
to use a descriptive anchor (e.g., "example commit in the
react_on_rails_demo_ssr_hmr repo" or "SSR+HMR example commit") so the link text
conveys destination context while keeping the same URL. Ensure the replacement
appears in the same sentence in rails-webpacker-react-integration-options.md.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@docs/oss/getting-started/examples-and-references.md`:
- Line 1: Add the new OSS doc ID to the sidebar configuration: open
docs/sidebars.ts and add 'getting-started/examples-and-references' to the
appropriate sidebar array (the one that contains other getting-started docs) so
the file docs/oss/getting-started/examples-and-references.md is included; if you
intentionally want to exclude it instead, add the same ID to
docs/.sidebar-exclusions with a short reason comment.

---

Nitpick comments:
In `@docs/oss/building-features/rails-webpacker-react-integration-options.md`:
- Around line 116-117: The link text "here" is non-descriptive; update the
markdown line that currently reads "You can see an example commit of adding this
in the maintained SSR + HMR tutorial repo
[here](https://github.com/shakacode/react_on_rails_demo_ssr_hmr/commit/7e53803fce7034f5ecff335db1f400a5743a87e7)"
to use a descriptive anchor (e.g., "example commit in the
react_on_rails_demo_ssr_hmr repo" or "SSR+HMR example commit") so the link text
conveys destination context while keeping the same URL. Ensure the replacement
appears in the same sentence in rails-webpacker-react-integration-options.md.

In `@docs/oss/core-concepts/webpack-configuration.md`:
- Line 126: Replace the vague link text "documented here" in the sentence
starting "Typical Shakapacker apps have a standard directory structure..." with
a more descriptive label such as "documented in the Shakapacker README" (or
"Shakapacker README") and ensure the hyperlink target remains the same; update
the adjacent phrasing to read "as documented in the Shakapacker README" so the
link text is meaningful for screen readers and static analysis tools.
🪄 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: beb3203e-7857-496d-ab4a-17daf30a355f

📥 Commits

Reviewing files that changed from the base of the PR and between b4b229f and 586022a.

📒 Files selected for processing (8)
  • docs/README.md
  • docs/oss/building-features/rails-webpacker-react-integration-options.md
  • docs/oss/core-concepts/react-server-rendering.md
  • docs/oss/core-concepts/webpack-configuration.md
  • docs/oss/getting-started/examples-and-references.md
  • docs/oss/getting-started/tutorial.md
  • docs/oss/introduction.md
  • internal/planning/examples-catalog-and-repo-naming-plan.md

Comment thread docs/oss/getting-started/examples-and-references.md
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 19, 2026

Code Review — PR #3191: Document examples catalog and naming plan

Overview

Good documentation consolidation. Replacing scattered hard-coded links with a single maintained catalog page is the right move, and the internal planning doc captures intent clearly. A few issues need addressing before merge.


Critical: New page is missing from sidebars.ts

docs/oss/getting-started/examples-and-references.md is not listed in docs/sidebars.ts. In this Docusaurus setup, pages omitted from the sidebar config are reachable via direct URL but are invisible in the site navigation tree. Users arriving at the Getting Started section will not see this page unless they follow an in-page link.

It should be added to the Getting Started category in sidebars.ts, alongside 'getting-started/comparing-react-on-rails-to-alternatives' or similar.


"here" link text regressions (accessibility / SEO)

Two changes in this PR introduce [here](...) as link text, which is a known accessibility anti-pattern — screen readers and SEO crawlers rely on link text to describe the destination:

  • docs/oss/building-features/rails-webpacker-react-integration-options.md line 117: tutorial repo [here](...)
  • docs/oss/core-concepts/webpack-configuration.md line 126: as documented [here](...)

The original text in webpack-configuration.md was actually better ([Shakapacker README](...)). Both should use descriptive link text.


Spec Dummy App placement

In examples-and-references.md, the Spec Dummy App is listed under Starter Repos. The spec/dummy path signals it is a test fixture inside this repo, not an independent starter. Someone evaluating React on Rails will be confused to find a test-support app in the "Starters" list. Consider moving it to a separate Reference or In-Repo References section, or noting explicitly that it is the in-repo test app rather than a standalone starter.


Minor notes

  • Repo naming inconsistency: examples-and-references.md defines a dashes-based naming pattern, then immediately links to react_on_rails_demo_ssr_hmr (underscores). The prose acknowledges this, but a short parenthetical like (rename pending — see internal plan) on each legacy-slug entry would be cleaner than the blanket disclaimer at the top.

  • gumroad-rsc brand use: The repo name and section heading both use the Gumroad brand prominently. The planning doc already schedules a rename (react-on-rails-demo-gumroad-rsc). Until that rename happens, consider softening the heading to avoid implying Gumroad affiliation.


What's good

  • Single-source-of-truth approach for examples is the right architectural call.
  • Internal planning doc is a clean, scannable decision record.
  • Relative link paths across all affected docs are correct.
  • Removing the redundant direct link to the migration example repo in README.md is the right cleanup.

Comment thread docs/oss/building-features/rails-webpacker-react-integration-options.md Outdated
Comment thread docs/oss/core-concepts/webpack-configuration.md Outdated
Comment thread docs/oss/getting-started/examples-and-references.md
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 19, 2026

Code Review

Overview

Documentation-only PR that consolidates scattered example repo links into a single canonical page (docs/oss/getting-started/examples-and-references.md) and adds an internal planning doc for the repo naming/archive strategy. The goal — reducing docs churn by routing references through one maintained index — is sound.


Positives

  • The centralization strategy is the right call; replacing ad-hoc repo links with a single maintained page will pay off over time.
  • The internal planning doc is well-structured and captures the full scope of the rename/archive effort clearly.
  • Sidebar placement and cross-links are consistent.

Issues

1. Accessibility regression: bare here link text (two places)

docs/oss/core-concepts/webpack-configuration.md line 126

Before: as documented in the [Shakapacker README](URL)
After: as documented [here](URL)

docs/oss/building-features/rails-webpacker-react-integration-options.md lines 114–115

Same pattern: link text changed from a descriptive phrase to bare here.

here as link text is an accessibility anti-pattern (screen readers lose context) and a slight SEO regression. The original descriptive anchor text was better. See inline comments.


2. Public page exposes internal naming conventions

The "Repo Naming Pattern" table in examples-and-references.md explains how shakacode names its repos — it is governance documentation, not user-facing guidance. An external developer reading the examples catalog just wants to know which repo to clone; they don't need to know the internal kebab-case taxonomy.

Consider either:

  • Moving this section to the internal planning doc only, or
  • Reframing it as "How to interpret repo names" so it reads as a key for users, not a style guide for maintainers.

3. Pre-rename URLs will show stale display names after repos are renamed

Several catalog entries use the current repo slugs (e.g., react-on-rails-rsc-demo, gumroad-rsc) that the planning doc proposes to rename. After renaming, GitHub will redirect the URLs, but the human-readable names in the catalog will be stale until updated. Since the execution order says "docs first, then rename," this is acceptable sequencing — just make sure a follow-up task exists to update examples-and-references.md once the renames happen.


4. Minor: introduction.md inconsistency with catalog's legacy classification

docs/oss/introduction.md still shows react-webpack-rails-tutorial as "Live Demo with Source — Full production app", while the internal planning doc classifies it as De-emphasize / Legacy. This PR doesn't change that line, but it creates a visible inconsistency. Worth a follow-up to align.


Summary

Solid improvement overall. The two bare here link text regressions should be fixed before merging — they're small but represent a step backward from the existing text. The naming-pattern section in the public page warrants a quick discussion about its intended audience. Everything else is a minor or follow-up item.

Comment thread docs/oss/core-concepts/webpack-configuration.md Outdated
Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

🧹 Nitpick comments (1)
docs/oss/core-concepts/webpack-configuration.md (1)

126-126: Minor wording polish for concision at Line 126.

Consider replacing “In order to customize” with “To customize” for tighter prose.

✏️ Suggested edit
-Typical Shakapacker apps have a standard directory structure documented in the [Shakapacker README](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code). If you follow [the basic tutorial](../getting-started/tutorial.md), you will see this pattern in action. In order to customize the Webpack configuration, consult the [Shakapacker webpack customization docs](https://github.com/shakacode/shakapacker#webpack-configuration).
+Typical Shakapacker apps have a standard directory structure documented in the [Shakapacker README](https://github.com/shakacode/shakapacker/blob/master/README.md#configuration-and-code). If you follow [the basic tutorial](../getting-started/tutorial.md), you will see this pattern in action. To customize the Webpack configuration, consult the [Shakapacker webpack customization docs](https://github.com/shakacode/shakapacker#webpack-configuration).
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/oss/core-concepts/webpack-configuration.md` at line 126, Replace the
wordy phrase "In order to customize the Webpack configuration" with the more
concise "To customize the Webpack configuration" in the documentation string
that currently reads "In order to customize the Webpack configuration, consult
the [Shakapacker webpack customization docs]..." so update that sentence text
accordingly (look for the exact phrase "In order to customize the Webpack
configuration" in the markdown content and substitute "To customize the Webpack
configuration").
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Nitpick comments:
In `@docs/oss/core-concepts/webpack-configuration.md`:
- Line 126: Replace the wordy phrase "In order to customize the Webpack
configuration" with the more concise "To customize the Webpack configuration" in
the documentation string that currently reads "In order to customize the Webpack
configuration, consult the [Shakapacker webpack customization docs]..." so
update that sentence text accordingly (look for the exact phrase "In order to
customize the Webpack configuration" in the markdown content and substitute "To
customize the Webpack configuration").

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: a8f13be2-57cf-4773-984a-a8d0428e60ca

📥 Commits

Reviewing files that changed from the base of the PR and between f701e9d and 89afdb3.

📒 Files selected for processing (1)
  • docs/oss/core-concepts/webpack-configuration.md

Comment thread docs/oss/building-features/rails-webpacker-react-integration-options.md Outdated
Comment thread docs/README.md
Comment thread docs/oss/getting-started/examples-and-references.md Outdated
Comment thread internal/planning/examples-catalog-and-repo-naming-plan.md
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 19, 2026

Code Review

Documentation-only PR — low risk. The centralization approach is solid. A few notes below.

What this does well

  • Single canonical page replaces scattered hardcoded repo links — easier to keep up to date going forward.
  • Internal planning doc captures the rename/archive rationale in a logical place without cluttering the public docs.
  • Sidebar placement (getting-started/examples-and-references) is sensible — it sits between Tutorial and Installation, exactly where a new evaluator would look.
  • Relative links are used correctly and all resolve to real paths.

Issues

  1. Bare "here" link in rails-webpacker-react-integration-options.md — see inline comment. The rewrite introduced an accessibility anti-pattern; the original descriptive anchor text was better.

  2. Redundant dual-listing in docs/README.md — both the new page and reactonrails.com/examples are listed as separate bullet points, but the new page already surfaces the website link in its opening paragraph. One entry is enough. See inline comment.

  3. "Repo Naming Pattern" section in the public examples page — governance/naming conventions for the org's repo structure are maintainer information, not evaluator information. This section risks confusing users who just want to pick a starter. The full rationale already lives in internal/planning/. See inline comment.

  4. Execution plan lacks owners/dates — the four-step execution order in the internal planning doc has no assigned owners or target milestones. Repo renames in particular require coordinated effort (GitHub redirect verification, external links); without a tracking issue they tend to slip indefinitely. See inline comment.

Remaining hardcoded links (out of scope but worth noting)

Several docs still link directly to react-webpack-rails-tutorial and react_on_rails_demo_ssr_hmr (e.g., building-features/react-router.md, building-features/turbolinks.md, building-features/i18n.md). This PR already notes it's not trying to replace all of them in one pass — just flagging so a follow-up issue exists.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 19, 2026

Code Review

Overview: Documentation-only PR that centralizes scattered example repo references into a single canonical page and adds an internal naming/archive plan. The goal is sound — reducing doc churn by routing links through one maintained index. Overall this is a clean, low-risk change.


Issues

1. Overlapping labels in docs/README.md (lines 25–26)

The diff adds two consecutive entries with similar intent:

A reader landing here faces a fork between nearly identical options. The first line is the new canonical docs page; the second is the marketing catalog. Consider:

  • Making the docs page primary and demoting the marketing link to a "See also" note inside the page itself, or
  • Using parenthetical differentiation: e.g., "Examples and migration references — curated index on reactonrails.com →"

2. Spec Dummy App link text is noisy (examples-and-references.md line 40)

The link text `shakacode/react_on_rails/tree/main/react_on_rails/spec/dummy` includes the GitHub navigation path (`tree/main`). Convention in the rest of the doc is `shakacode/repo-name`. Suggest shortening to `react_on_rails/spec/dummy` or just `spec/dummy`.

3. `react-on-rails-open-flights-example` may be a pre-rename dead link (examples-and-references.md line 54)

The internal planning doc proposes renaming the current repo to `react-on-rails-open-flights-example` (from whatever it currently is). If that rename hasn't happened yet, this link in the live docs is broken for users. Verify the repo exists at that URL before merging, or add a note that it is coming soon.

4. `react-webpack-rails-tutorial` still linked directly in introduction.md (line 76)

The internal plan lists this repo under "de-emphasize," but it remains a top-level bullet under "Learn by Example?" alongside the new examples page. This undermines the goal of routing traffic through the catalog. Consider either removing it or folding it into a "Legacy examples" note on the examples-and-references page itself.


Minor

  • migrating-from-react-rails.md:129 retains a direct link to `react-on-rails-migration-example`. This is fine contextually (it's a specific migration guide, not a navigation link), but note it will need updating if that repo is renamed per the plan.
  • The internal planning doc lists react_on_rails_rsc as a package to keep as-is, but the public docs reference a repo called `react-on-rails-rsc-demo`. Worth confirming the distinction is clear internally before the rename phase.

Positives

  • Consolidating example links through a single maintained page is the right long-term move.
  • The naming taxonomy (demo / example / tutorial prefixes) is clear and easy to follow.
  • The internal planning doc is well-structured and gives good rationale for archive/de-emphasize decisions.
  • Sidebar placement in the Getting Started section is appropriate.

Comment thread docs/README.md Outdated
Comment thread docs/oss/getting-started/examples-and-references.md Outdated
Comment thread docs/oss/getting-started/examples-and-references.md Outdated
Comment thread docs/oss/introduction.md Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 19, 2026

Code Review

Overall: This is a well-structured doc-only PR that correctly solves the right problem — replacing scattered hardcoded repo links with a single maintained index. The approach is sound and the new page is clearly organized. A few things worth addressing before merge:


Issues

1. migrating-from-react-rails.md was not updated

docs/oss/migrating/migrating-from-react-rails.md:129 still has a direct hardcoded link to react-on-rails-migration-example:

For a more recent Rails 7-era migration example … see [react-on-rails-migration-example](https://github.com/shakacode/react-on-rails-migration-example)

This is exactly the kind of link the PR is trying to centralize. It should either be updated to point to examples-and-references.md or at least cross-reference it.

2. Forward reference to reactonrails.com/examples

The new page references https://reactonrails.com/examples twice (lines 7 and 79), but the PR description states the matching website PR hasn't landed yet. If users land on this page before the site is updated, both links will 404 or show stale content. Consider adding a note that the site page is coming, or land the site PR first.

3. gumroad-rsc name is confusing in the public catalog

The Gumroad entry is listed under "React on Rails Pro + RSC Demos" but the repo slug gumroad-rsc gives no indication it's a React on Rails project. New evaluators browsing GitHub won't recognize it. The internal plan already proposes renaming it to react-on-rails-demo-gumroad-rsc — worth adding a parenthetical note in the doc (e.g. "pending rename to react-on-rails-demo-gumroad-rsc") so the intent is clear until the rename lands.


Minor

  • The file is missing a trailing newline — most editors and prettier will flag this.
  • react-webpack-rails-tutorial is still linked in docs/oss/introduction.md as a "Live Demo" and is categorized as "de-emphasize" in the internal plan. Not a blocker, but worth noting for a follow-up.

@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 19, 2026

Code Review

This is a clean, well-scoped documentation PR. The goal — routing scattered repo links through a single maintained index — is the right call, and the execution is mostly solid. A few things worth addressing before merge:

Issues

1. Spec Dummy App is miscategorized as a Starter Repo

spec/dummy is a test fixture used by the RSpec suite. It's not a starter template — putting it under ## Starter Repos will mislead users who try to bootstrap a new project from it. The original PR diff had it in a separate ## In-Repo Reference section, which was more accurate. That structure should be restored.

2. "Repo Naming Pattern" table in the public docs page describes a proposed future state

The table (react-on-rails-demo-*, react-on-rails-example-*, react-on-rails-tutorial-*) documents naming conventions for repos that haven't been renamed yet. A user reading this today will look for repos matching those patterns and not find them. This content belongs in internal/planning/examples-catalog-and-repo-naming-plan.md (where it already exists), not in the public-facing docs page. The public page can reference the current repo slugs without explaining the future rename plan.

3. Minor inconsistency in introduction.md

docs/oss/introduction.md:74 still has Spec/Dummy App pointing directly to GitHub as its own bullet (separate from the new examples index link on line 75). This creates duplication: the spec dummy app is now listed both inline in introduction.md and inside examples-and-references.md. One or the other should be the canonical mention.

Positive notes

  • All relative link paths are correct (verified ../getting-started/, ./examples-and-references.md, ./oss/getting-started/ paths).
  • The sidebar insertion position (after tutorial, before installation-into-an-existing-rails-app) is logical.
  • Replacing multiple ad-hoc repo links with a single maintained index is exactly the right long-term maintenance pattern.
  • The internal planning doc is thorough and well-organized.

justin808 and others added 15 commits April 28, 2026 21:37
- Note the rsc-demo slug exception in the public docs and prefer
  linking the docs page over the repo URL.
- Point contributors from the public Legacy Repos section to the
  internal examples-catalog and repo-naming plan.
- Add a Target slug column to the planning table so the rsc-demo
  exception is visible at a glance.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
The public examples-and-references page linked to
internal/planning/examples-catalog-and-repo-naming-plan.md, but
internal/ is explicitly excluded from the published docs site
(see internal/README.md). The relative link only resolved on GitHub
and was a dead link for users on the docs site. Drop the paragraph
since the planning doc is contributor-facing, not user-facing.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@justin808 justin808 force-pushed the jg-codex/examples-catalog-main branch from 03609e2 to 06a8475 Compare April 29, 2026 07:37
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 29, 2026

Review: PR #3191 – Document examples catalog and naming plan

Overall: Clean, low-risk docs-only PR with a clear purpose. The canonical examples page is well-structured, the internal planning doc is thorough, and sidebar placement is correct. A few points worth considering before merging.


Strengths

  • "Use it when you want…" format per entry gives readers quick orientation without having to click through.
  • Centralizing scattered repo links into one maintained page will reduce long-term docs churn.
  • Internal planning doc provides clear rationale and execution order.
  • The cross-reference from examples-and-references.mdexample-migrations.md for deeper migration detail is the right pattern.

Issues / Suggestions

1. reactrails.com live demo effectively buried

The PR removes the "Live Demo with Source → reactrails.com" entry from introduction.md's "Learn by Example" section, and the live demo now only appears under Legacy Repos in the new page. For a first-time visitor, introduction.md is often the first page they read, and a live demo is a high-value zero-friction signal. Burying it under "Legacy" means they either miss it or get the impression it's old/unmaintained. Consider keeping a direct reactrails.com link in introduction.md, or adding a dedicated "Live Demos" subsection in the new page so it's not sandwiched between the archive candidates. (See inline comment on introduction.md line 75.)

2. Duplication between examples-and-references.md and example-migrations.md

Both pages now describe react-on-rails-example-migration and react-on-rails-example-open-flights. The cross-reference at lines 43–44 helps, but with two pages listing the same repos (one terse, one richer), there's a maintenance risk of them diverging over time. Consider trimming the migration subsection in the new page to just a brief mention + a pointer to example-migrations.md, rather than maintaining parallel descriptions. (See inline comment on line 46.)

3. "Starter Repos" section mixes OSS and Pro without a section-level warning

The SSR + HMR demo is OSS; the RSC starter requires React on Rails Pro. Both sit under a single "## Starter Repos" heading. Users scanning headers could pick the RSC starter expecting an OSS experience. The per-entry note exists, but a brief callout in the section intro would make this clearer at a glance. (See inline comment on line 11.)

4. Minor: remaining hard-coded demo links not covered by this PR

docs/oss/building-features/react-router.md (line 178) and docs/oss/building-features/turbolinks.md still link directly to react-webpack-rails-tutorial for specific files/PRs. These are contextually intentional (specific file references, not general repo mentions) so they're lower priority, but worth a follow-up sweep to annotate or update.

Comment thread docs/oss/getting-started/examples-and-references.md
Comment thread docs/oss/getting-started/examples-and-references.md Outdated
Comment thread docs/oss/getting-started/examples-and-references.md Outdated
Comment thread docs/oss/introduction.md
- Remove the future-rename caveat from the public RSC starter entry; the
  rename is unscheduled and the caveat undercuts the page's "link here, not
  the repo" guidance. Tracking stays in the internal plan only.
- Tag each starter repo with "(open source)" / "(Pro)" and add a one-line
  signal under the heading so readers know up front which entry needs a
  Pro license before they scan the per-entry notes.
- Trim the Migration References subsections to a single bulleted list; the
  detailed proof criteria live in example-migrations.md and the cross-link
  is already at the section top.
- Restore reactrails.com as a first-class entry by adding a Live Demos
  subsection above Legacy Repos and a direct intro-page link, so the only
  click-through-in-browser demo is not buried under "Legacy".
- Move react-on-rails-demos out of the public-feature table in the plan
  and document it under Internal Repos so the plan and public catalog
  stay in sync.
@justin808
Copy link
Copy Markdown
Member Author

Review feedback round summary

I (Claude Code) addressed the 9 unresolved review threads from @claude[bot] in commit 504de32 and one earlier follow-up commit (06a8475). Replies are posted on each individual thread; this comment is the consolidated summary.

Code changes (commit 504de32)

  • docs/oss/getting-started/examples-and-references.md

    • Added a one-line OSS-vs-Pro signal under ## Starter Repos and tagged each starter heading with (open source) / (Pro) (#3159348959).
    • Removed the future-rename caveat from the public RSC starter entry; tracking moved to the internal plan only (#3159024043, also resolves the back-to-back Note: reading from #3141568386).
    • Collapsed the two H3 migration subsections into a flat bulleted list, leaning on the section-level cross-link to example-migrations.md (#3159349325).
    • Added a ## Live Demos subsection above ## Legacy Repos so reactrails.com is a first-class call-to-action rather than a buried legacy detail (#3159349656).
  • docs/oss/introduction.md

    • Added a third "Learn by Example" bullet linking to the live demo at reactrails.com, restoring a zero-setup call-to-action on the introduction page (#3159349986).
  • internal/planning/examples-catalog-and-repo-naming-plan.md

    • Removed react-on-rails-demos from the "Repos to Feature Publicly" table and documented it under "Internal Repos" so the plan and the public catalog are now in sync (#3159024532).

No-change verifications

  • #3141567812 — already resolved by an earlier commit (06a8475) that removed the relative path to internal/planning/... from the public docs.
  • #3159023895curl -sLI against the SSR + HMR commit URL returns HTTP 200 directly; no doc change needed.

All 9 threads have been replied to and resolved.

Comment thread docs/oss/getting-started/examples-and-references.md Outdated
Comment thread docs/oss/getting-started/examples-and-references.md
Comment thread docs/oss/getting-started/examples-and-references.md
Comment thread docs/oss/getting-started/examples-and-references.md Outdated
@claude
Copy link
Copy Markdown
Contributor

claude Bot commented Apr 29, 2026

Review: Documentation-only — low risk, a few consistency gaps worth addressing

Overview

This PR does exactly what it says: creates a canonical examples-and-references.md index page, removes scattered hard-coded repo links from several docs, and adds an internal planning document for the repo naming/archive plan. The approach is sound — centralising example links in one page is clearly better than the current scattered state.

No code is changed; the risk surface is broken or misleading links and documentation inconsistencies.


Issues

1. example-migrations.md and examples-and-references.md describe overlapping content but are out of sync

examples-and-references.md introduces react-on-rails-example-open-flights as a migration reference (see inline comment), but example-migrations.md — the dedicated migration reference page — lists only react-on-rails-example-migration. A user who arrives via the Migration sidebar will never see open-flights. Either add it to example-migrations.md or explain the split.

2. example-migrations.md has no link back to the new page

examples-and-references.md links to example-migrations.md, but the reverse is not true. Someone reading the migration page has no path to the broader examples index. A single "See also" line at the top of example-migrations.md would close the loop.

3. react-on-rails-rsc-demo rename has no tracking anchor in the public doc

The internal planning doc flags react-on-rails-rsc-demoreact-on-rails-demo-rsc as a pending rename. Once that rename completes the URL still works (GitHub redirects), but the display text in examples-and-references.md will look stale. See inline comment for a lightweight fix.


Minor / Non-blocking

  • Hardcoded starter count (line 13): "One starter repo is fully open source; one requires Pro" will silently become wrong when a third starter is added. See inline suggestion.
  • Long line (line 89, Legacy Repos): the prose wraps at ~80 chars everywhere else; this line is ~220 chars. Prettier skips URLs in list items so it survives the format check. See inline suggestion.
  • Sidebar position: examples-and-references sits between tutorial and installation-into-an-existing-rails-app. Worth considering whether it should sit right after quick-start — someone still deciding whether to evaluate the project benefits more from seeing examples early.

No concerns on

  • Security: docs-only, no credentials or private info exposed
  • The internal planning document content and placement
  • The wording cleanup in webpack-configuration.md, react-server-rendering.md, and the HMR page
  • The sidebars.ts placement (functionally correct)
  • The spec/dummy GitHub link (path react_on_rails/spec/dummy matches the monorepo layout)

- Add react-on-rails-example-open-flights to example-migrations.md so the
  migration page matches the catalog.
- Add a "See also" cross-link from example-migrations.md back to the new
  examples-and-references catalog page.
- Drop the hardcoded "one OSS / one Pro" starter count and lead with the
  per-entry note guidance so the prose does not silently go stale.
- Note the pending react-on-rails-rsc-demo slug rename inline so anyone
  editing the catalog later sees the tracking pointer alongside the link.
- Manually wrap the long Legacy Repos line at ~80 chars to match the rest
  of the file.
- Move examples-and-references right after quick-start in the sidebar so
  early-evaluation users see the index before the deeper getting-started
  pages.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@justin808
Copy link
Copy Markdown
Member Author

Round 5 review feedback summary

I (Claude Code) addressed all six points from the latest @claude[bot] review pass in commit e397f66f2. Per-thread replies are posted on each inline thread; this comment is the consolidated summary.

Code changes (commit e397f66)

docs/oss/getting-started/examples-and-references.md

  1. Line 13 — hardcoded starter count (#3159576366). Dropped "One starter repo is fully open source; one requires React on Rails Pro" and led with the per-entry guidance instead, lightly rephrased so the OSS-vs-Pro hint stays without the count.
  2. Line 24 — react-on-rails-rsc-demo rename pointer (#3159576691). Re-added the inline rename caveat next to the repo link. Note: this reverses the round 4 decision that moved rename tracking to the internal plan only — restoring the public pointer so anyone editing this line later sees it alongside.
  3. Line 89 — long Legacy Repos line (#3159577408). Wrapped to three lines matching the ~80-char wrap used elsewhere in the file.

docs/oss/migrating/example-migrations.md

  1. Cross-doc consistency for react-on-rails-example-open-flights (#3159577007). Added as item 3 in the "Published example repos" list, with a one-line proof note. Both pages now reference the same migration repos.
  2. Back-link to the new catalog page (review summary, no inline thread). Added a top-of-page "See also" callout linking back to examples-and-references.md, so a reader arriving via the Migration sidebar can reach the broader index.

docs/sidebars.ts

  1. Sidebar position (review summary, no inline thread). Moved examples-and-references to sit immediately after quick-start (and before create-react-on-rails-app/tutorial), so early-evaluation users see the index before the deeper getting-started pages.

All four inline threads have been replied to and resolved.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant