-
-
Notifications
You must be signed in to change notification settings - Fork 635
Document examples catalog and naming plan #3191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
justin808
wants to merge
22
commits into
main
Choose a base branch
from
jg-codex/examples-catalog-main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from 20 commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
101968a
Document examples catalog and naming plan
justin808 ac2e64d
Document examples catalog and naming plan
justin808 06faa31
Document examples catalog and naming plan
justin808 a811ddd
Document examples catalog and naming plan
justin808 f9b9cb5
Document examples catalog and naming plan
justin808 50ba3cb
Document examples catalog and naming plan
justin808 b163c38
Document examples catalog and naming plan
justin808 79e11d9
Document examples catalog and naming plan
justin808 dcfe7cb
Fix docs catalog follow-ups
justin808 9b76d47
Fix docs catalog follow-ups
justin808 b94ebfa
Fix docs catalog follow-ups
justin808 8c137aa
Tighten examples docs guidance
justin808 3f70e77
Polish examples catalog docs
justin808 5b1390c
Polish examples catalog docs
justin808 663587a
Polish examples catalog docs
justin808 1de953b
Decouple examples docs from pending site work
justin808 75fc22c
Decouple examples docs from pending site work
justin808 746ab34
Normalize examples catalog repo slugs
justin808 8fbf3d3
Address optional review nits on examples catalog
justin808 06a8475
Remove internal planning link from public examples docs
justin808 504de32
Address examples catalog review feedback
justin808 e397f66
Address round 5 review nits on examples catalog
justin808 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,92 @@ | ||
| # Examples and Migration References | ||
|
justin808 marked this conversation as resolved.
coderabbitai[bot] marked this conversation as resolved.
|
||
|
|
||
| Use this page as the canonical index for public React on Rails reference repos. | ||
| The goal is to make evaluation, migration, and React on Rails Pro adoption easy | ||
| to navigate without scattering hard-coded repository links across the docs. | ||
|
|
||
| Some public repos still use older slugs with underscores or legacy wording. | ||
| This page is the source of truth for which public repos are current and worth | ||
| starting from. | ||
|
|
||
| ## Starter Repos | ||
|
justin808 marked this conversation as resolved.
|
||
|
|
||
| ### SSR + HMR Tutorial Demo | ||
|
|
||
| - Repo: [shakacode/react-on-rails-demo-ssr-hmr](https://github.com/shakacode/react-on-rails-demo-ssr-hmr) | ||
| - Use it when you want the maintained Rails + React + SSR + HMR walkthrough repo | ||
| that backs the tutorial and Webpack configuration guidance. | ||
|
|
||
| ### React on Rails Pro + RSC Starter | ||
|
|
||
|
justin808 marked this conversation as resolved.
|
||
| - Repo: [shakacode/react-on-rails-rsc-demo](https://github.com/shakacode/react-on-rails-rsc-demo) | ||
|
justin808 marked this conversation as resolved.
justin808 marked this conversation as resolved.
|
||
| - Use it when you want a minimal public sample for React Server Components with | ||
|
justin808 marked this conversation as resolved.
|
||
| React on Rails Pro. | ||
| - Note: this repo uses React on Rails Pro. See [OSS vs Pro](./oss-vs-pro.md) | ||
| for evaluation guidance. | ||
| - Note: this slug predates the `react-on-rails-demo-*` naming convention used | ||
| by the other demos on this page. It may be renamed to | ||
|
justin808 marked this conversation as resolved.
Outdated
|
||
| `react-on-rails-demo-rsc` in a future cleanup, so prefer linking to this | ||
| docs page rather than the repo URL directly. | ||
|
|
||
|
justin808 marked this conversation as resolved.
|
||
| ## In-Repo Reference | ||
|
|
||
| ### Spec Dummy App | ||
|
justin808 marked this conversation as resolved.
|
||
|
|
||
| - Repo: [shakacode/react_on_rails — spec/dummy](https://github.com/shakacode/react_on_rails/tree/main/react_on_rails/spec/dummy) | ||
|
justin808 marked this conversation as resolved.
|
||
| - Use it when you want the simplest in-repo reference for current generator and | ||
| feature behavior. | ||
| - Note: this is the in-repo test app used by the RSpec suite, not a standalone | ||
| starter repository. | ||
|
|
||
| ## Migration References | ||
|
|
||
| For detailed proof criteria and migration contribution guidance, see | ||
| [Example Migrations](../migrating/example-migrations.md). | ||
|
|
||
| ### Migrate from `react-rails` | ||
|
justin808 marked this conversation as resolved.
Outdated
justin808 marked this conversation as resolved.
Outdated
|
||
|
|
||
| - Repo: [shakacode/react-on-rails-example-migration](https://github.com/shakacode/react-on-rails-example-migration) | ||
|
justin808 marked this conversation as resolved.
Outdated
|
||
| - Use it when you want a focused before/after migration reference instead of | ||
| reconstructing the upgrade from older blog posts. | ||
|
|
||
|
justin808 marked this conversation as resolved.
|
||
| ### Open Flights Migration Example | ||
|
|
||
| - Repo: [shakacode/react-on-rails-example-open-flights](https://github.com/shakacode/react-on-rails-example-open-flights) | ||
| - Use it when you want a larger example app that shows React on Rails replacing | ||
| `react-rails` in a more realistic codebase. | ||
|
|
||
| ## React on Rails Pro + RSC Demos | ||
|
justin808 marked this conversation as resolved.
|
||
|
|
||
| > **Note:** The repos below use React on Rails Pro. See [OSS vs Pro](./oss-vs-pro.md) | ||
| > for evaluation guidance. | ||
|
|
||
| ### Hacker News RSC Demo | ||
|
|
||
| - Repo: [shakacode/react-on-rails-demo-hacker-news-rsc](https://github.com/shakacode/react-on-rails-demo-hacker-news-rsc) | ||
| - Use it when you want a compact public demo of React on Rails Pro with React | ||
| Server Components on a familiar read-heavy UI. | ||
|
|
||
| ### Marketplace RSC Performance Demo | ||
|
|
||
| - Repo: [shakacode/react-on-rails-demo-marketplace-rsc](https://github.com/shakacode/react-on-rails-demo-marketplace-rsc) | ||
| - Use it when you want a public performance-oriented RSC demo showing the shape | ||
| of the user-visible win on a marketplace-style surface. | ||
|
|
||
| ### Gumroad-Style RSC Benchmark Demo | ||
|
|
||
|
justin808 marked this conversation as resolved.
|
||
| - Repo: [shakacode/react-on-rails-demo-gumroad-rsc](https://github.com/shakacode/react-on-rails-demo-gumroad-rsc) | ||
| - Use it when you want a benchmark-oriented comparison between an Inertia-style | ||
| surface and a React on Rails Pro + RSC surface on the same product domain. | ||
|
justin808 marked this conversation as resolved.
|
||
| - Note: this is a ShakaCode-built demo modeled on a Gumroad-style UI, not an | ||
| official Gumroad product or integration. | ||
|
|
||
| ## Legacy Repos | ||
|
|
||
| Version-specific demos, `test-*` repos, generator snapshots, and older tutorial | ||
| repos are useful historical references, but they are not the primary starting | ||
| point for new evaluations. | ||
|
|
||
| - Legacy full app: [shakacode/react-webpack-rails-tutorial](https://github.com/shakacode/react-webpack-rails-tutorial) — older production-style app with a [live demo at reactrails.com](https://reactrails.com). Still useful as a historical reference, but not the recommended starting point for new projects. | ||
|
justin808 marked this conversation as resolved.
Outdated
|
||
|
|
||
| If you are choosing a public reference repo for docs, talks, or adoption work, | ||
|
justin808 marked this conversation as resolved.
|
||
| start with the repos above. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
105 changes: 105 additions & 0 deletions
105
internal/planning/examples-catalog-and-repo-naming-plan.md
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,105 @@ | ||
| # Examples Catalog and Repo Naming Plan | ||
|
justin808 marked this conversation as resolved.
|
||
|
|
||
| ## Goals | ||
|
|
||
| 1. Make React on Rails and React on Rails Pro example repos easy to discover on | ||
| GitHub. | ||
| 2. Make `reactonrails.com/examples` a clean marketing catalog rather than a | ||
| random list of historical repos. | ||
| 3. Keep canonical taxonomy and example guidance in `react_on_rails/docs/`. | ||
| 4. Reduce future docs churn by routing doc references through one maintained | ||
| examples page instead of repeating repo slugs everywhere. | ||
|
|
||
| ## Naming Decision | ||
|
|
||
| Use these public repo prefixes for anything we want to market actively: | ||
|
|
||
| | Type | Pattern | Why | | ||
| | -------- | --------------------------- | ----------------------------------------------------------- | | ||
| | Demo | `react-on-rails-demo-*` | Best for evaluation apps, benchmarks, and feature showcases | | ||
| | Example | `react-on-rails-example-*` | Best for focused migration and implementation references | | ||
| | Tutorial | `react-on-rails-tutorial-*` | Best for repos that map directly to docs or video lessons | | ||
|
|
||
| Keep package and product repos as-is: | ||
|
|
||
| - `react_on_rails` | ||
| - `react_on_rails_pro` | ||
| - `react_on_rails_rsc` | ||
|
|
||
| Those names are package identities, not marketing slugs. | ||
|
|
||
| ## Repos to Feature Publicly | ||
|
|
||
| These are the repos we should feature on `reactonrails.com/examples` and point | ||
| to from the docs: | ||
|
|
||
| | Public repo | Recommended action | Canonical status | Target slug | Notes | | ||
| | ------------------------------------- | ------------------ | ------------------------- | ---------------------------------- | ----------------------------------------- | | ||
| | `react-on-rails-demo-ssr-hmr` | Feature | Rename completed | (current) | Maintained SSR + HMR tutorial repo | | ||
| | `react-on-rails-rsc-demo` | Feature | Keep current slug for now | `react-on-rails-demo-rsc` (future) | Minimal public RSC starter | | ||
| | `react-on-rails-demo-hacker-news-rsc` | Feature | Rename completed | (current) | Compact Pro + RSC showcase | | ||
| | `react-on-rails-demo-marketplace-rsc` | Feature | Rename completed | (current) | Performance-focused RSC demo | | ||
| | `react-on-rails-demo-gumroad-rsc` | Feature | Rename completed | (current) | Inertia vs React on Rails Pro benchmark | | ||
| | `react-on-rails-example-migration` | Feature | Rename completed | (current) | Focused `react-rails` migration reference | | ||
| | `react-on-rails-example-open-flights` | Feature | Rename completed | (current) | Larger migration reference | | ||
| | `react-on-rails-demos` | Feature | Rename completed | (current) | Shared infrastructure repo for demo apps | | ||
|
|
||
|
justin808 marked this conversation as resolved.
|
||
| ## Repos to De-emphasize or Archive | ||
|
|
||
|
justin808 marked this conversation as resolved.
|
||
| These should not appear on the primary public examples page. Some can stay | ||
| public for historical reference, but they should be archived or treated as | ||
| legacy once the current catalog is in place. | ||
|
|
||
| | Repo | Recommended action | Reason | | ||
| | ---------------------------------------------------------------- | ---------------------------- | --------------------------------------------------------------- | | ||
| | `react_on_rails-hacker-news-app` | Archive or de-emphasize | Duplicate Hacker News concept; keep one canonical HN repo | | ||
| | `spike-react-on-rails-tutorial-v15-with-rspack` | De-emphasize | Useful engineering spike, weak marketing name | | ||
| | `react_on_rails-v16-generator-playground` | De-emphasize | Playground/test utility, not a user-facing example | | ||
|
justin808 marked this conversation as resolved.
|
||
| | `react_on_rails-demo-v16-ssr-auto-registration-bundle-splitting` | De-emphasize or rename later | Valuable topic, but current slug is too long and version-heavy | | ||
| | `react_on_rails-demo-16-4-0-rc5` | Archive | Release snapshot, not a maintained example | | ||
| | `test-react-on-rails-v12` | Archive | Version-specific test repo | | ||
| | `test-react-on-rails-v12-no-sprockets` | Archive | Version-specific test repo | | ||
| | `test-react-on-rails-plus-webpacker-v4` | Archive | Version-specific tutorial repo | | ||
| | `react_on_rails-tutorial-v11` | Archive | Older tutorial generation | | ||
| | `v8-demo` | Archive | Historical version demo | | ||
| | `old-react-on-rails-examples` | Archive | Already marked outdated by name | | ||
| | `react_on_rails-with-webpacker` | Archive | Historical integration prototype | | ||
| | `react_on_rails-update-webpack-v2` | Archive | Historical upgrade experiment | | ||
| | `react_on_rails-test-new-redux-generation` | Archive | PR-specific experiment repo | | ||
| | `react_on_rails-generator-results` | Archive | Generator output snapshot | | ||
| | `react_on_rails-generator-results-pre-0` | Archive | Generator output snapshot | | ||
| | `react_on_rails-generator-results-testing` | Archive | Generator output snapshot | | ||
| | `react_actioncable_counter` | De-emphasize | Narrow feature demo, not a primary entry point | | ||
| | `rails-tutorial-with-react-on-rails` | De-emphasize | Historical tutorial adaptation | | ||
| | `egghead-tutorial-react-on-rails-v6.3.1-create-component` | Archive or de-emphasize | Video-course artifact | | ||
| | `egghead-add-redux-component-to-react-on-rails` | Archive or de-emphasize | Video-course artifact | | ||
| | `react-webpack-rails-tutorial` | De-emphasize | Legacy full app; still useful, but not a primary modern starter | | ||
|
|
||
| ## Internal Repos | ||
|
|
||
| Operational or private repos can matter for maintenance work, but they should | ||
| not appear in public catalogs or public-facing docs. Keep those references in | ||
| private planning material only. | ||
|
|
||
| ## Docs and Site Follow-up | ||
|
|
||
| 1. Keep a canonical examples/reference page in `react_on_rails/docs/`. | ||
| 2. Use `reactonrails.com/examples` as the marketing-forward catalog. | ||
| 3. Replace hard-coded repo links in docs with the maintained examples page when | ||
| the repo itself is not the main point. | ||
| 4. Update GitHub descriptions and topics for all featured repos: | ||
| - `react-on-rails` | ||
| - `react-on-rails-pro` | ||
| - `react-server-components` | ||
| - `ruby-on-rails` | ||
| - `shakapacker` | ||
| - `rspack` where applicable | ||
| - `migration`, `benchmark`, or `demo` as appropriate | ||
|
|
||
| ## Execution Order | ||
|
|
||
| 1. Update docs and `reactonrails.com/examples` first. | ||
| 2. Verify GitHub redirects for completed renames before removing any legacy | ||
| slugs from docs or issue references. | ||
| 3. Update repo descriptions and topics. | ||
| 4. Archive or de-emphasize legacy repos after the new catalog is live. | ||
|
justin808 marked this conversation as resolved.
|
||
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.