Skip to content

Conversation

ihabadham
Copy link
Contributor

@ihabadham ihabadham commented Oct 3, 2025

What Changed

please ignore /docs/planning/docs-improvement/, they're only for dev

Reorganized ~50 documentation files from 11 confusing categories into 10 clear user-journey-based categories.

New Structure (10 categories)

  • 🚀 Getting Started (4 files) - Onboarding and first component
  • 📚 Core Concepts (8 files) - Understanding fundamentals
  • 🔧 Building Features (15 files) - Task-oriented integration guides
  • 📖 API Reference (7 files) - View helpers, configuration, JS API
  • 🚢 Deployment (10 files) - Production deployment and troubleshooting
  • 📈 Upgrading (3 files) - Version upgrades and release notes
  • 🔄 Migrating (3 files) - From react-rails, Angular, API-only Rails
  • 💎 Pro (2 files) - Pro features and announcements
  • 🔧 Advanced Topics (2 files) - Manual setup, Rails engines
  • 📝 Misc (7 files) - Credits, tips, style guides

Key Decisions

  1. Split upgrading/migrating: Separated into two categories (upgrading RoR versions vs. migrating FROM other tools)
  2. Intent-based categorization: Organized by WHEN/WHY users need info, not by technology
  3. No file renaming: Preserved original filenames - filenames are content
  4. Git history preserved: Used git mv for all moves

Files Changed

  • 50+ files moved to new categories
  • 2 files merged (node-dependencies-and-npm.md → updating-dependencies.md)
  • Planning docs added for context
# File Movement Mapping

## 🚀 Getting Started (4 files)

docs/quick-start/README.md                                          → docs/getting-started/quick-start.md
docs/guides/installation-into-an-existing-rails-app.md              →
docs/getting-started/installation-into-an-existing-rails-app.md
docs/guides/tutorial.md                                             → docs/getting-started/tutorial.md
docs/additional-details/recommended-project-structure.md            → docs/getting-started/project-structure.md

## 📚 Core Concepts (8 files)

docs/guides/how-react-on-rails-works.md                             → docs/core-concepts/how-react-on-rails-works.md
docs/guides/react-on-rails-overview.md                              → docs/core-concepts/react-on-rails-overview.md
docs/guides/client-vs-server-rendering.md                           → docs/core-concepts/client-vs-server-rendering.md
docs/guides/react-server-rendering.md                               → docs/core-concepts/react-server-rendering.md
docs/guides/render-functions-and-railscontext.md                    → docs/core-concepts/render-functions-and-railscontext.md
docs/javascript/render-functions.md                                 → docs/core-concepts/render-functions.md
docs/guides/auto-bundling-file-system-based-automated-bundle-generation.md →
docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md
docs/guides/webpack-configuration.md                                → docs/core-concepts/webpack-configuration.md

## 🔧 Building Features (15 files)

docs/guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md   →
docs/building-features/hmr-and-hot-reloading-with-the-webpack-dev-server.md
docs/guides/i18n.md                                                 → docs/building-features/i18n.md
docs/guides/rspec-configuration.md                                  → docs/building-features/rspec-configuration.md
docs/guides/minitest-configuration.md                               → docs/building-features/minitest-configuration.md
docs/guides/streaming-server-rendering.md                           → docs/building-features/streaming-server-rendering.md
docs/guides/how-to-conditionally-server-render-based-on-device-type.md →
docs/building-features/how-to-conditionally-server-render-based-on-device-type.md
docs/guides/how-to-use-different-files-for-client-and-server-rendering.md →
docs/building-features/how-to-use-different-files-for-client-and-server-rendering.md
docs/javascript/react-router.md                                     → docs/building-features/react-router.md
docs/javascript/react-and-redux.md                                  → docs/building-features/react-and-redux.md
docs/javascript/react-helmet.md                                     → docs/building-features/react-helmet.md
docs/guides/rails-webpacker-react-integration-options.md            →
docs/building-features/rails-webpacker-react-integration-options.md
docs/javascript/code-splitting.md                                   → docs/building-features/code-splitting.md
docs/javascript/images.md                                           → docs/building-features/images.md
docs/javascript/foreman-issues.md                                   → docs/building-features/foreman-issues.md
docs/rails/turbolinks.md                                            → docs/building-features/turbolinks.md

## 📖 API Reference (7 files)

docs/api/README.md                                                  → docs/api-reference/README.md
docs/api/view-helpers-api.md                                        → docs/api-reference/view-helpers-api.md
docs/api/javascript-api.md                                          → docs/api-reference/javascript-api.md
docs/api/redux-store-api.md                                         → docs/api-reference/redux-store-api.md
docs/guides/configuration.md                                        → docs/api-reference/configuration.md
docs/additional-details/generator-details.md                        → docs/api-reference/generator-details.md
docs/rails/rails_view_rendering_from_inline_javascript.md           → 
docs/api-reference/rails_view_rendering_from_inline_javascript.md

## 🚢 Deployment (10 files)

docs/guides/deployment.md                                           → docs/deployment/deployment.md
docs/javascript/capistrano-deployment.md                            → docs/deployment/capistrano-deployment.md
docs/deployment/heroku-deployment.md                                → (no change)
docs/deployment/elastic-beanstalk.md                                → (no change)
docs/javascript/troubleshooting-build-errors.md                     → docs/deployment/troubleshooting-build-errors.md
docs/javascript/troubleshooting-when-using-shakapacker.md           →
docs/deployment/troubleshooting-when-using-shakapacker.md
docs/javascript/troubleshooting-when-using-webpacker.md             → docs/deployment/troubleshooting-when-using-webpacker.md
docs/javascript/server-rendering-tips.md                            → docs/deployment/server-rendering-tips.md
docs/troubleshooting/README.md                                      → docs/deployment/troubleshooting.md

## 📈 Upgrading (3 files + folder)

docs/guides/upgrading-react-on-rails.md                             → docs/upgrading/upgrading-react-on-rails.md
docs/release-notes/15.0.0.md                                        → docs/upgrading/release-notes/15.0.0.md
docs/release-notes/16.0.0.md                                        → docs/upgrading/release-notes/16.0.0.md

## 🔄 Migrating (3 files)

docs/additional-details/migrating-from-react-rails.md               → docs/migrating/migrating-from-react-rails.md
docs/javascript/angular-js-integration-migration.md                 → docs/migrating/angular-js-integration-migration.md
docs/rails/convert-rails-5-api-only-app.md                          → docs/migrating/convert-rails-5-api-only-app.md

## 💎 Pro (2 files)

docs/react-on-rails-pro/react-on-rails-pro.md                       → docs/pro/react-on-rails-pro.md
docs/react-on-rails-pro/major-performance-breakthroughs-upgrade-guide.md →
docs/pro/major-performance-breakthroughs-upgrade-guide.md

## 🛠️ Advanced Topics (2 files)

docs/additional-details/manual-installation-overview.md             → docs/advanced-topics/manual-installation-overview.md
docs/rails/rails-engine-integration.md                              → docs/advanced-topics/rails-engine-integration.md

## 📝 Misc (7 files)

docs/javascript/credits.md                                          → docs/misc/credits.md
docs/javascript/asset-pipeline.md                                   → docs/misc/asset-pipeline.md
docs/additional-details/updating-dependencies.md + docs/javascript/node-dependencies-and-npm.md →
docs/misc/updating-dependencies.md (merged)
docs/misc/articles.md                                               → (no change)
docs/misc/code_of_conduct.md                                        → (no change)
docs/misc/doctrine.md                                               → (no change)
docs/misc/style.md                                                  → (no change)
docs/misc/tips.md                                                   → (no change)

## 🗄️ Outdated (4 files - hidden from website)

docs/additional-details/tips-for-usage-with-sp6.md                  → docs/outdated/tips-for-usage-with-sp6.md
docs/additional-details/upgrade-webpacker-v3-to-v4.md               → docs/outdated/upgrade-webpacker-v3-to-v4.md
docs/javascript/converting-from-custom-webpack-config-to-rails-webpacker-config.md →
docs/outdated/converting-from-custom-webpack-config-to-rails-webpacker-config.md
docs/javascript/webpack.md                                          → docs/outdated/webpack.md

## Summary

- **Total files moved:** 56
- **Files merged:** 2 (node-dependencies-and-npm.md merged into updating-dependencies.md)
- **Old folders now empty:** guides/, javascript/, additional-details/, rails/, api/, quick-start/, react-on-rails-pro/,
troubleshooting/, release-notes/
- **New folders created:** getting-started/, core-concepts/, building-features/, api-reference/, upgrading/, migrating/,
pro/, advanced-topics/
- **Git history preserved:** All moves done with `git mv`

Why

Current 11-category structure is confusing:

  • Catch-all categories ("Guides", "Additional details", "Misc", "Javascript")
  • No clear beginner→advanced progression
  • Hard to find information quickly

New structure follows user journey from getting started → building → deploying.

Status (vs Original Plan)

Original Plan: 7 categories in GITHUB_ISSUE_DRAFT.md

Actual Implementation: 10 categories

  • Added: Upgrading (split from Migration)
  • Added: Migrating (split from Migration)
  • Added: Advanced Topics (discovered during reorg)
  • Added: Misc (kept after finding legitimate misc files)

Phase 2 Complete (File Reorganization)

What's Next

These changes only affect file locations in the repo. To make them visible on the website:

  1. Update website config (sc-website repo, gatsby-node.js) - update category order and filters
  2. Update internal links - fix cross-references to moved files
  3. Create introduction.md - new unified homepage
  4. Delete empty folders - guides/, javascript/, additional-details/, etc.

Review Focus

  • Do the 10 categories make sense for user journey?
  • Are files in the right categories? (see docs/planning/docs-improvement/ia-redesign-live.md for full mapping)
  • Should we proceed with website config updates?

This change is Reviewable

Summary by CodeRabbit

  • Documentation
    • Consolidated Ruby and Node/Yarn dependency guidance into a single updated guide; removed older, duplicate dependency pages.
    • Extensive doc reorganization: updated many internal links to reflect a new getting-started / core-concepts / api-reference layout.
    • Added planning and roadmap materials: problem analysis, PR comparison, IA redesign plan, implementation tracker, and migration notes to guide the docs rework.

ihabadham and others added 19 commits October 2, 2025 20:04
This commit establishes the baseline for the documentation Information
Architecture redesign project. It includes:

- Problem analysis identifying 6 major documentation issues
- Detailed IA redesign plan with 6 implementation phases
- GitHub issue draft for team review
- Live implementation tracker for step-by-step progress

These planning docs will serve as reference as we reorganize ~80
documentation files into a clearer 7-category structure based on user
journey rather than implementation details.

Related to documentation improvement initiative.

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

Co-Authored-By: Claude <[email protected]>
After researching documentation patterns in popular frameworks, we've
decided to split the original "Migration & Upgrading" category into two
separate categories:

1. Upgrading (upgrading/) - Version upgrades, release notes
2. Migrating (migrating/) - From other tools (react-rails, angular, etc.)

This provides clearer user intent as these represent different use cases.
Final structure is 8 categories vs original 11.

Changes:
- Created upgrading/ folder
- Renamed migration/ to migrating/
- Updated ia-redesign-live.md with Decision Log entry
- Updated folder structure reference

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

Co-Authored-By: Claude <[email protected]>
Moved 4 files to getting-started/ folder:
- quick-start/README.md → getting-started/quick-start.md
- guides/installation-into-an-existing-rails-app.md → getting-started/installation-into-an-existing-rails-app.md
- guides/tutorial.md → getting-started/tutorial.md
- additional-details/recommended-project-structure.md → getting-started/project-structure.md

All files verified to match Getting Started category purpose.
Git history preserved with git mv.

Part of IA redesign Phase 2, Step 1.

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

Co-Authored-By: Claude <[email protected]>
Added Decision 2: Keep descriptive long filenames
- Decided to keep installation-into-an-existing-rails-app.md (not shorten)
- Rationale: meaningful distinction between new vs existing Rails apps
- Pattern: prefer descriptive over short when distinction matters

Added Issue 1: Content overlap in Getting Started
- Identified redundancy between quick-start, installation, and tutorial
- Flagged for Section 2 (Content Improvements) - not fixing during IA reorg
- This is a content problem, not structure problem

Updated folder structure reference with correct filenames.

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

Co-Authored-By: Claude <[email protected]>
Changes:
- Updated category count from 7 to 8 (split Upgrading/Migrating)
- Split category 6 "Migration & Upgrading" into:
  - Category 6: Upgrading (version upgrades, release notes)
  - Category 7: Migrating (from other tools)
  - Category 8: Pro (unchanged)
- Updated Getting Started file mappings with actual filenames
- Updated Upgrading/Migrating sections with correct file paths
- Updated Pro section file paths

Plan now reflects current implementation decisions.

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

Co-Authored-By: Claude <[email protected]>
Core Concepts (7 files):
- guides/how-react-on-rails-works.md → core-concepts/how-it-works.md
- guides/react-on-rails-overview.md → core-concepts/overview.md
- guides/client-vs-server-rendering.md → core-concepts/client-vs-server-rendering.md
- guides/react-server-rendering.md → core-concepts/server-rendering.md
- guides/render-functions-and-railscontext.md → core-concepts/render-functions-and-railscontext.md
- guides/auto-bundling-file-system-based-automated-bundle-generation.md → core-concepts/auto-bundling.md
- guides/webpack-configuration.md → core-concepts/webpack-configuration.md

API Reference (1 file):
- guides/configuration.md → api-reference/configuration.md

Decision: configuration.md is a reference list of all config options
(like view-helpers-api.md), not a conceptual guide. Moved to API Reference.

Part of IA redesign Phase 2, Step 2.

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

Co-Authored-By: Claude <[email protected]>
Added Decision 3 to live tracker:
- configuration.md is a 391-line reference list (not conceptual)
- Same format as view-helpers-api.md and javascript-api.md
- Users look it up for specific settings (reference pattern)
- Moved to API Reference instead of Core Concepts

Updated plan:
- Removed configuration.md from Core Concepts contents
- Updated Core Concepts file mappings (7 files)
- Updated API Reference to include configuration.md
- Clarified configuration.md is full config options reference

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

Co-Authored-By: Claude <[email protected]>
Reverted Step 2 filename changes:
- how-it-works.md → how-react-on-rails-works.md
- overview.md → react-on-rails-overview.md
- server-rendering.md → react-server-rendering.md
- auto-bundling.md → auto-bundling-file-system-based-automated-bundle-generation.md

Rationale:
- Filenames are content, not structure
- Current phase is reorganization (moving files), not content changes
- Renaming should be discussed separately as content improvement
- Consistent with Decision 2: keep descriptive names

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

Co-Authored-By: Claude <[email protected]>
Moved 14 files to building-features/:

Common Patterns (4):
- guides/hmr-and-hot-reloading-with-the-webpack-dev-server.md
- guides/i18n.md
- guides/rspec-configuration.md
- guides/minitest-configuration.md

Advanced Techniques (3):
- guides/streaming-server-rendering.md
- guides/how-to-conditionally-server-render-based-on-device-type.md
- guides/how-to-use-different-files-for-client-and-server-rendering.md

Integration Guides (4):
- javascript/react-router.md
- javascript/react-and-redux.md
- javascript/react-helmet.md
- guides/rails-webpacker-react-integration-options.md

Tools & Workflow (3):
- javascript/code-splitting.md
- javascript/images.md
- javascript/foreman-issues.md

All filenames kept as original (no renaming).

Part of IA redesign Phase 2, Step 3.

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

Co-Authored-By: Claude <[email protected]>
Moved 4 files to api-reference/:
- api/view-helpers-api.md → api-reference/view-helpers-api.md
- api/javascript-api.md → api-reference/javascript-api.md
- api/redux-store-api.md → api-reference/redux-store-api.md
- additional-details/generator-details.md → api-reference/generator-details.md

Note: configuration.md already moved to api-reference in Step 2.

Total in api-reference: 5 files (reference docs for view helpers, JS API,
Redux, configuration options, and generator flags).

Part of IA redesign Phase 2, Step 4.

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

Co-Authored-By: Claude <[email protected]>
Moved 9 files to deployment/:

Production Setup (2):
- guides/deployment.md
- javascript/capistrano-deployment.md

Troubleshooting (4):
- troubleshooting/README.md (already in deployment/)
- javascript/troubleshooting-build-errors.md
- javascript/troubleshooting-when-using-shakapacker.md
- javascript/troubleshooting-when-using-webpacker.md

Maintenance (1):
- additional-details/updating-dependencies.md

Rails-Specific (3):
- rails/turbolinks.md
- rails/rails-engine-integration.md
- rails/convert-rails-5-api-only-app.md

All deployment, troubleshooting, and production-related docs now in one place.

Part of IA redesign Phase 2, Step 5.

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

Co-Authored-By: Claude <[email protected]>
After reviewing Step 5, found 5 files that don't belong in deployment/:

Moved to better homes (keeping original filenames):
- turbolinks.md → building-features/
  (feature integration, not deployment)
- updating-dependencies.md → misc/
  (generic maintenance, temporary holding)
- rails-engine-integration.md → advanced-topics/
  (advanced setup, temporary holding)
- convert-rails-5-api-only-app.md → migrating/
  (prerequisite migration)
- rails_view_rendering_from_inline_javascript.md → api-reference/
  (API reference)

Created temporary folders for review later:
- misc/ (for orphaned generic files)
- advanced-topics/ (for advanced setup scenarios)

Deployment now focused on actual deployment (7 files):
- Production setup (4 files)
- Troubleshooting (3 files)

See Decision 4 & 5 in ia-redesign-live.md for rationale.
Decision 4: Rethink Deployment Category
- Analyzed files that ended up in deployment/
- Found 5 files that don't belong (not deployment-specific)
- Moved to better categories keeping original filenames
- Pattern: Categorize by WHEN and WHY users need info

Decision 5: No "Rails" Category Needed
- Considered creating Rails category for Rails-specific files
- Decided against it - would become dumping ground
- React on Rails IS Rails integration - everything is Rails-related
- Pattern: Intent-based beats technology-based categorization

All filenames kept original per Decision 2 (no renaming).
Updated folder structure reference to reflect actual filenames.
Moved 4 files to upgrading/:
- guides/upgrading-react-on-rails.md
- react-on-rails-pro/major-performance-breakthroughs-upgrade-guide.md
- release-notes/ folder (2 files: 15.0.0.md, 16.0.0.md)

All files kept original names per Decision 2.
Moved 2 files to migrating/:
- additional-details/migrating-from-react-rails.md
- javascript/angular-js-integration-migration.md

Combined with convert-rails-5-api-only-app.md from Step 5 corrections,
migrating/ now has 3 files total.

All files kept original names per Decision 2.
Moved 1 file to pro/:
- react-on-rails-pro/react-on-rails-pro.md

Note: major-performance-breakthroughs-upgrade-guide.md was already moved
to upgrading/ in Step 6 (it's an upgrade guide, not Pro features doc).

Kept old react-on-rails-pro/ folder for reference (will clean up later).
This file is a Pro features announcement (React Server Components, SSR
Streaming, Early Hydration), not upgrade instructions. Better suited
for pro/ folder as it showcases Pro v4 capabilities.

upgrading/ now has 3 files:
- upgrading-react-on-rails.md (upgrade HOW-TO)
- release-notes/ folder (2 files)

pro/ now has 2 files:
- react-on-rails-pro.md (Pro overview)
- major-performance-breakthroughs-upgrade-guide.md (Pro features)
Moved to existing categories (7 files):
- manual-installation-overview.md → advanced-topics/
- render-functions.md → core-concepts/
- server-rendering-tips.md → deployment/
- credits.md → misc/
- asset-pipeline.md → misc/ (warning guide)
- api/README.md → api-reference/README.md
- troubleshooting/README.md → deployment/troubleshooting.md

Moved to outdated/ (4 files):
- tips-for-usage-with-sp6.md (Shakapacker 6 legacy)
- upgrade-webpacker-v3-to-v4.md (explicitly outdated)
- converting-from-custom-webpack-config-to-rails-webpacker-config.md (webpacker legacy)
- webpack.md (outdated Webpack v2 content)

Merged and deleted (1 file):
- node-dependencies-and-npm.md merged into updating-dependencies.md
  (combined yarn upgrade, yarn add, and ncu workflows)

All orphaned files from Steps 1-8 now have homes!
Steps 1-8 complete + all orphaned files reorganized.

Updated:
- Completion summary showing all steps done
- Final folder structure with accurate file counts
- Marked misc/ and advanced-topics/ as permanent categories
- Documented all orphaned file decisions

Total: ~50+ files moved across 10 categories.
Copy link
Contributor

coderabbitai bot commented Oct 3, 2025

Warning

Rate limit exceeded

@justin808 has exceeded the limit for the number of commits or files that can be reviewed per hour. Please wait 18 minutes and 56 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

📥 Commits

Reviewing files that changed from the base of the PR and between b6868b8 and 08e2ef8.

📒 Files selected for processing (6)
  • docs/README.md (3 hunks)
  • docs/building-features/react-router.md (1 hunks)
  • docs/core-concepts/webpack-configuration.md (2 hunks)
  • docs/guides/advanced/README.md (1 hunks)
  • docs/planning/docs-improvement/ia-redesign-live.md (1 hunks)
  • docs/upgrading/release-notes/16.0.0.md (2 hunks)

Walkthrough

Removed two legacy dependency how-tos and consolidated dependency guidance into a single misc doc. Added multiple planning and tracking documents to support a documentation Information Architecture (IA) redesign and updated many internal doc links to reflect the new structure. No exported/public API or runtime code changes.

Changes

Cohort / File(s) Summary of Changes
Removed dependency docs
docs/additional-details/updating-dependencies.md, docs/javascript/node-dependencies-and-npm.md
Deleted previous step-by-step guides for updating Ruby and Node/NPM dependencies.
New consolidated dependency guide
docs/misc/updating-dependencies.md
Added a unified dependency update guide covering Ruby and Node/Yarn workflows (ncu, yarn upgrade, yarn add, verification notes).
Docs IA planning & process
docs/planning/docs-improvement/01-problem-analysis.md, docs/planning/docs-improvement/02-pr-1813-comparison.md, docs/planning/docs-improvement/04-ia-redesign-plan.md, docs/planning/docs-improvement/GITHUB_ISSUE_DRAFT.md, docs/planning/docs-improvement/ia-redesign-live.md
Added planning, analysis, comparison, roadmap, GitHub-issue draft, and a live implementation tracker for an IA redesign (phases, scripts, move plans, decision log, and tracking).
Top-level docs navigation updates
docs/README.md, docs/home.md, docs/getting-started.md, docs/getting-started/*, docs/getting-started/tutorial.md, docs/getting-started/quick-start.md
Rewrote many internal links to new getting-started/core-concepts/api-reference/deployment locations reflecting restructured doc layout.
API Reference additions & link fixes
docs/api-reference/README.md, docs/api-reference/generator-details.md, docs/api-reference/view-helpers-api.md, docs/core-concepts/*, docs/building-features/*, docs/deployment/*, docs/upgrading/*, docs/misc/*, docs/advanced-topics/*, docs/core-concepts/*
Added API Reference README and updated many cross-reference paths across core-concepts, building-features, deployment, upgrading, and misc docs to point to new api-reference and reorganized folders.
Misc small link updates
docs/migrating/convert-rails-5-api-only-app.md, docs/misc/articles.md, docs/misc/doctrine.md, docs/advanced-topics/manual-installation-overview.md, docs/deployment/troubleshooting-build-errors.md, docs/deployment/troubleshooting.md, docs/core-concepts/*, docs/building-features/*, docs/basics/*, docs/upgrading/*
Numerous relative-link and anchor corrections across various docs to match relocated files; mostly link-path changes and minor wording adjustments.

Sequence Diagram(s)

(omitted — changes are documentation content and link reorganizations; no control-flow or runtime feature introduced)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • alexeyr-ci
  • Judahmeek
  • alexeyr-ci2

Poem

A rabbit hops through docs at night,
Rearranging paths by soft moonlight.
Pages moved and links set straight,
Burrows tidy, maps up-to-date.
Hooray — the docs now feel just right! 🐇📚

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title Check ✅ Passed The title accurately and concisely reflects the main change of the pull request, which reorganizes the documentation into ten user-journey–based categories, matching the PR objectives without extraneous detail or ambiguity.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

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

🧹 Nitpick comments (7)
docs/misc/updating-dependencies.md (1)

28-39: Promote “Option” labels to proper headings.
Markdownlint (MD036) flags the bold “Option 1/2” lines because they read like section titles. Converting them to headings (e.g., #### Option 1: ...) keeps lint clean and improves accessibility/navigation.

Also applies to: 47-55

docs/planning/docs-improvement/GITHUB_ISSUE_DRAFT.md (2)

71-79: Add a language hint to fenced code blocks.

markdownlint is flagging these fences because they don’t declare a language. Append something like text (or markdown if you want syntax highlighting) to keep our lint checks green.

Apply this:

-```
+```text
 1. 🚀 Getting Started     → Onboarding, first component (6-8 docs)
 2. 📚 Core Concepts       → SSR, bundling, how it works (8-10 docs)
 3. 🔧 Building Features   → Common patterns, integrations (10-12 docs)
 4. 📖 API Reference       → View helpers, config, JS API (5-7 docs)
 5. 🚢 Deployment          → Production, troubleshooting (8-10 docs)
 6. 🔄 Migration           → Upgrading, migrating from others (5-7 docs)
 7. 💎 React on Rails Pro  → Pro features (2-3 docs)

126-139: Second code fence also needs a language.

Same lint warning applies to this file-tree block—add a language marker (e.g. text) so markdownlint passes.

-```
+```text
 docs/
 ├── introduction.md           # NEW HOMEPAGE
 ├── getting-started/
 │   ├── quick-start.md
 │   ├── installation.md
 │   └── tutorial.md
 ├── core-concepts/
 ├── building/
 ├── api-reference/
 ├── deployment/
 ├── migration/
 └── pro/
docs/planning/docs-improvement/04-ia-redesign-plan.md (1)

28-41: Specify code-fence languages to satisfy markdownlint.

Several fences in this doc (this one and others at lines ~98, 152, 184, etc.) are missing language hints, which our lint job will flag. Add text, bash, or whichever fits each block so we stay compliant.

Here’s the pattern to apply:

-```
+```text
 1. [Root]              ← Misc files at root
 2. Guides              ← 21 files, everything from installation to advanced SSR
 ...
docs/planning/docs-improvement/01-problem-analysis.md (1)

17-33: Add language tags to the fenced blocks.

markdownlint is unhappy with these unlabeled fences (and others later in the file). Tag them with the appropriate language (javascript, markdown, text, etc.) to keep linting clean.

Example:

-```
+```javascript
 const reactOnRailsDocsFoldersOrder = [
   firstCategory, // Root-level files
   'Guides', // 18+ diverse topics
   ...
docs/planning/docs-improvement/ia-redesign-live.md (1)

324-400: Add a language hint to the closing folder-structure fence.

Same markdownlint issue as the other docs—tag this fence (text works well) so linting passes.

-```
+```text
 docs/
 ├── introduction.md              # TODO: Create in next phase
 ├── getting-started/ (4 files)
 ...
docs/planning/docs-improvement/02-pr-1813-comparison.md (1)

197-211: Label the fenced blocks for markdownlint.

This code fence (and others later at ~242, 522, 548) need language annotations. Add javascript, text, etc., so automated linting doesn’t fail.

For instance:

-```
+```javascript
 const reactOnRailsDocsFoldersOrder = [
   firstCategory,
   'Guides',
   ...
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6c77213 and 6458bd2.

📒 Files selected for processing (8)
  • docs/additional-details/updating-dependencies.md (0 hunks)
  • docs/javascript/node-dependencies-and-npm.md (0 hunks)
  • docs/misc/updating-dependencies.md (1 hunks)
  • docs/planning/docs-improvement/01-problem-analysis.md (1 hunks)
  • docs/planning/docs-improvement/02-pr-1813-comparison.md (1 hunks)
  • docs/planning/docs-improvement/04-ia-redesign-plan.md (1 hunks)
  • docs/planning/docs-improvement/GITHUB_ISSUE_DRAFT.md (1 hunks)
  • docs/planning/docs-improvement/ia-redesign-live.md (1 hunks)
💤 Files with no reviewable changes (2)
  • docs/additional-details/updating-dependencies.md
  • docs/javascript/node-dependencies-and-npm.md
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{js,jsx,ts,tsx,css,scss,json,yml,yaml,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Prettier is the sole authority for formatting all non-Ruby files; never manually format them

Files:

  • docs/planning/docs-improvement/ia-redesign-live.md
  • docs/planning/docs-improvement/02-pr-1813-comparison.md
  • docs/planning/docs-improvement/01-problem-analysis.md
  • docs/misc/updating-dependencies.md
  • docs/planning/docs-improvement/GITHUB_ISSUE_DRAFT.md
  • docs/planning/docs-improvement/04-ia-redesign-plan.md
🪛 markdownlint-cli2 (0.18.1)
docs/planning/docs-improvement/ia-redesign-live.md

150-150: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


294-294: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


324-324: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs/planning/docs-improvement/02-pr-1813-comparison.md

231-231: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


242-242: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


277-277: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


388-388: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


404-404: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


418-418: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


434-434: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


522-522: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


548-548: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs/misc/updating-dependencies.md

28-28: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


47-47: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

docs/planning/docs-improvement/GITHUB_ISSUE_DRAFT.md

3-3: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


31-31: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


46-46: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


57-57: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


71-71: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


126-126: Fenced code blocks should have a language specified

(MD040, fenced-code-language)

docs/planning/docs-improvement/04-ia-redesign-plan.md

28-28: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


98-98: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


152-152: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


184-184: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


230-230: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


278-278: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


321-321: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


350-350: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


375-375: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


394-394: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


403-403: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


405-405: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


414-414: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


416-416: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


422-422: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


424-424: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


428-428: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


430-430: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


437-437: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


439-439: Fenced code blocks should have a language specified

(MD040, fenced-code-language)


677-677: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


702-702: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


919-919: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


926-926: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


936-936: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


1109-1109: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


1116-1116: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)


1123-1123: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
  • GitHub Check: dummy-app-integration-tests (3.4, 22)
  • GitHub Check: rspec-package-tests (3.4, minimum)
  • GitHub Check: rspec-package-tests (3.4, latest)
  • GitHub Check: rspec-package-tests (3.2, minimum)
  • GitHub Check: build
  • GitHub Check: rspec-package-tests (3.2, latest)
  • GitHub Check: markdown-link-check
  • GitHub Check: claude-review
  • GitHub Check: build-and-test

Copy link

claude bot commented Oct 3, 2025

Documentation IA Redesign Review ✅

Excellent work on this comprehensive documentation reorganization! This PR successfully transforms a confusing 11-category structure into a clear, user-journey-based 10-category system. Here's my detailed review:

🎯 Overall Assessment: APPROVED

This is a well-executed Phase 2 implementation that significantly improves documentation discoverability. The reorganization follows solid IA principles and industry best practices.


✅ Strengths

1. Clear User Journey Structure

The new 10-category organization is intuitive and follows natural user progression:

  • 🚀 Getting Started → 📚 Core Concepts → 🔧 Building Features → 📖 API Reference → 🚢 Deployment
  • 📈 Upgrading + 🔄 Migrating properly separated (excellent decision!)
  • 💎 Pro features clearly isolated

2. Excellent Decision-Making Process

The ia-redesign-live.md tracker documents thoughtful decisions:

  • Decision 1: Splitting Migration/Upgrading into separate categories - smart UX decision
  • Decision 3: Moving configuration.md to API Reference - correct categorization by usage pattern
  • Decision 4: Removing non-deployment files from Deployment - shows discipline in maintaining category integrity
  • Decision 5: Rejecting a "Rails" category - avoids technology-based dumping ground

3. Git History Preservation

All files moved using git mv - excellent practice for maintaining file history and blame tracking.

4. Content Consolidation

Merged node-dependencies-and-npm.md into updating-dependencies.md - good reduction of redundancy with improved content structure.

5. Planning Documentation

The planning docs in docs/planning/ provide excellent context and rationale - very helpful for future maintainers.


⚠️ Areas for Attention

1. Empty/Partially Empty Folders (Minor - Easy Fix)

Old folders still exist but are mostly empty:

  • docs/guides/ - contains only advanced/README.md
  • Other old folders may also remain

Recommendation: Clean up empty folders in Phase 3 as mentioned in the PR description, or add a follow-up commit to this PR.

2. Planning Docs in Main Docs Folder (Minor - Organizational)

Planning documents are in docs/planning/ which will appear in the documentation site:

docs/planning/docs-improvement/
├── 01-problem-analysis.md (1264 lines!)
├── 02-pr-1813-comparison.md
├── 04-ia-redesign-plan.md
├── GITHUB_ISSUE_DRAFT.md
└── ia-redesign-live.md

Recommendation: Consider if these should be:

  • Moved to root-level planning/ or .planning/ folder (outside docs/)
  • Or explicitly excluded from website navigation in gatsby-node.js

These are valuable for maintainers but likely not useful for end users reading docs.

3. Content Overlap Issue Flagged (Acknowledged - Not Blocking)

ia-redesign-live.md:256-282 correctly identifies content overlap between:

  • quick-start.md
  • installation-into-an-existing-rails-app.md
  • tutorial.md

Good that this is flagged for Phase 3 (Content Improvements). Not a blocker for this PR.

4. No Tests/Validation (Low Priority)

No automated tests to verify:

  • All internal links still work after file moves
  • No broken cross-references
  • Category completeness

Recommendation: Consider adding link validation in CI, or at minimum manually verify critical paths before merge.


📋 Specific File Review

Files Successfully Reorganized (65 total)

✅ Getting Started (4 files) - Good mix of onboarding content

  • quick-start.md, installation-into-an-existing-rails-app.md, tutorial.md, project-structure.md

✅ Core Concepts (8 files) - Solid fundamentals grouping

  • Includes overview, SSR, render functions, webpack config

✅ Building Features (15 files) - Well-scoped task-oriented guides

  • i18n, React Router, Redux, testing configs, HMR, etc.

✅ API Reference (7 files) - Clear reference material

  • View helpers, JS API, Redux API, configuration, generator details

✅ Deployment (10 files) - Production-focused (after corrections)

  • Deployment guides + troubleshooting (Capistrano, Heroku, AWS, build errors)

✅ Upgrading (3 files) - Version upgrade focus

  • Upgrading guide + release notes for 15.0.0, 16.0.0

✅ Migrating (3 files) - Migration from other tools

  • From react-rails, Angular, API-only Rails

✅ Pro (2 files) - Pro version content

  • Pro overview + performance upgrade guide

✅ Advanced Topics (2 files) - Complex setup scenarios

  • Manual installation, Rails engine integration

✅ Misc (7 files) - Legitimate miscellaneous content

  • Credits, updating deps, asset pipeline, articles, doctrine, style, tips

✅ Outdated (4 files) - Properly isolated deprecated docs

  • Webpacker v3→v4 upgrade, Shakapacker v6 tips, old webpack configs

Merged Files

✅ Good consolidation:

  • node-dependencies-and-npm.mdupdating-dependencies.md (with improved structure)

🔍 Security & Code Quality

✅ No Security Concerns - This is purely documentation reorganization using git mv

✅ No Code Changes - Only file moves and one content merge

✅ Performance - No impact (documentation changes only)

✅ Test Coverage - N/A for documentation restructuring


📝 Recommendations for Next Steps

Before Merge:

  1. Clean up empty folders (docs/guides/, docs/additional-details/, etc.)
  2. Decide on planning docs location - move or exclude from website nav

Phase 3 (Next PR):

  1. ✅ Update website config (gatsby-node.js) - category order and filters
  2. ✅ Update internal cross-references to moved files
  3. ✅ Create unified introduction.md homepage
  4. ✅ Add link validation CI check (consider using markdown-link-check)
  5. ✅ Address content overlap in Getting Started (3 files issue)

🎉 Conclusion

This PR successfully achieves its goal of reorganizing ~50 documentation files into a clearer, more user-friendly structure. The 10-category system is a significant improvement over the confusing 11-category structure, and the decision-making process was thorough and well-documented.

Verdict: Approved ✅

Minor cleanup suggestions above, but nothing blocking. Great work on preserving git history and maintaining clear documentation throughout the process!


Review Checklist:

  • ✅ Code quality and best practices
  • ✅ Potential bugs or issues (none - doc moves only)
  • ✅ Performance considerations (N/A)
  • ✅ Security concerns (none)
  • ✅ Test coverage (N/A for docs)
  • ✅ Follows CLAUDE.md conventions

@ihabadham ihabadham requested a review from Judahmeek October 3, 2025 19:43
Updated 133+ broken internal documentation links across 28 files to reflect the new directory structure:
- guides/ → getting-started/, core-concepts/, building-features/, deployment/, upgrading/
- api/ → api-reference/
- javascript/ → building-features/, deployment/, outdated/
- rails/ → building-features/, migrating/
- additional-details/ → getting-started/, advanced-topics/, misc/
- troubleshooting/ → deployment/
- quick-start/ → getting-started/
- release-notes/ → upgrading/release-notes/
- react-on-rails-pro/ → pro/

All links now point to correct locations in the reorganized structure.

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

Co-Authored-By: Claude <[email protected]>
Copy link

claude bot commented Oct 3, 2025

Pull Request Review: Documentation Reorganization (PR #1845)

Overall Assessment ✅

This is an excellent documentation reorganization that significantly improves the user experience. The migration from 11 confusing categories to 10 user-journey-based categories is well-thought-out and properly executed.

Recommendation: Approve with minor suggestions


Strengths 💪

1. Well-Executed File Migrations

  • ✅ All 50+ files moved using git mv preserving git history
  • ✅ Consistent path updates across all internal references
  • ✅ Clean categorization that follows user intent rather than technology stack
  • ✅ Smart decision to split "upgrading" vs "migrating" concepts

2. User-Centric Structure

The new 10-category structure follows a logical user journey:

  1. 🚀 Getting Started (onboarding)
  2. 📚 Core Concepts (fundamentals)
  3. 🔧 Building Features (task-oriented)
  4. 📖 API Reference (technical lookup)
  5. 🚢 Deployment (production)
  6. 📈 Upgrading (version updates)
  7. 🔄 Migrating (switching tools)
  8. 💎 Pro (premium features)
  9. 🔧 Advanced Topics (edge cases)
  10. 📝 Misc (everything else)

3. Thorough Documentation

  • Excellent PR description with clear "What Changed" and "Why"
  • Complete file movement mapping provided
  • Planning docs included for context (smart to keep in /docs/planning/)

4. Code Quality

  • ✅ All relative link paths correctly updated (65 occurrences across 31 files)
  • ✅ No broken internal references detected
  • ✅ Consistent use of relative paths (../category/file.md)

Issues & Recommendations 🔍

Critical Issues ⚠️

None found - this is a clean migration!

Minor Improvements 💡

1. Empty Old Directories

The PR description mentions deleting empty folders as "What's Next", but they could be removed now:

# Old folders that should be deleted:
# - guides/
# - javascript/
# - additional-details/
# - rails/
# - api/
# - quick-start/
# - react-on-rails-pro/
# - troubleshooting/
# - release-notes/

Recommendation: Delete these in this PR or create a follow-up issue.

2. Missing README.md Files

Some new directories lack README.md files for navigation:

  • docs/getting-started/ - needs README
  • docs/core-concepts/ - needs README
  • docs/building-features/ - needs README
  • docs/deployment/ - needs README
  • docs/upgrading/ - needs README
  • docs/migrating/ - needs README
  • docs/advanced-topics/ - needs README

Only docs/api-reference/README.md was added.

Recommendation: Add category README files as part of Phase 3 (mentioned in "What's Next").

3. Outdated References in docs/README.md

The main docs/README.md has a broken reference:

- **[Advanced Features](./advanced-topics/README.md)** - SSR, Redux, Router

This file doesn't exist yet. Either:

  • Remove this link temporarily
  • Create the README
  • Update to point to specific files

4. File Consolidation

The PR mentions merging 2 files:

node-dependencies-and-npm.mdupdating-dependencies.md

Great decision! Consider if other files could benefit from similar consolidation.


Testing Recommendations 🧪

1. Link Validation

Run a broken link checker after merge:

# Example using markdown-link-check
find docs -name "*.md" -exec markdown-link-check {} \;

2. Website Build Test

The PR notes that website config needs updating. Before that:

  • ✅ Verify all moved files render correctly
  • ✅ Test navigation in the docs site
  • ✅ Ensure old URLs redirect properly (if applicable)

Performance & Security ✅

  • No performance concerns - documentation only
  • No security issues - no code changes
  • No test coverage needed - documentation migration

Next Steps (from PR description) 📋

The PR correctly identifies Phase 3 tasks:

  1. ✅ Update website config (gatsby-node.js)
  2. ✅ Fix internal links (mostly done, verify completeness)
  3. ✅ Create introduction.md (new unified homepage)
  4. ✅ Delete empty folders (can be done now)

Suggestion: Create a checklist issue to track Phase 3 tasks.


Final Verdict ✨

This is high-quality work that dramatically improves documentation accessibility. The restructuring is logical, well-executed, and preserves git history properly.

Changes needed before merge:

  • Consider deleting empty old directories now (or document why keeping them)
  • Fix the broken advanced-topics README reference in docs/README.md
  • Verify all 71 files build correctly in the documentation site

Nice to have:

  • Add README.md files to new category directories
  • Run automated link checker
  • Create Phase 3 tracking issue

Great work! 🎉

Copy link
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: 2

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 6458bd2 and b6868b8.

📒 Files selected for processing (28)
  • docs/README.md (3 hunks)
  • docs/advanced-topics/manual-installation-overview.md (1 hunks)
  • docs/api-reference/README.md (1 hunks)
  • docs/api-reference/generator-details.md (1 hunks)
  • docs/api-reference/view-helpers-api.md (3 hunks)
  • docs/building-features/code-splitting.md (1 hunks)
  • docs/building-features/how-to-conditionally-server-render-based-on-device-type.md (1 hunks)
  • docs/building-features/rspec-configuration.md (2 hunks)
  • docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md (2 hunks)
  • docs/core-concepts/client-vs-server-rendering.md (1 hunks)
  • docs/core-concepts/how-react-on-rails-works.md (1 hunks)
  • docs/core-concepts/react-on-rails-overview.md (1 hunks)
  • docs/core-concepts/react-server-rendering.md (2 hunks)
  • docs/core-concepts/render-functions-and-railscontext.md (1 hunks)
  • docs/core-concepts/render-functions.md (1 hunks)
  • docs/core-concepts/webpack-configuration.md (1 hunks)
  • docs/deployment/troubleshooting-build-errors.md (1 hunks)
  • docs/deployment/troubleshooting.md (1 hunks)
  • docs/getting-started.md (6 hunks)
  • docs/getting-started/installation-into-an-existing-rails-app.md (2 hunks)
  • docs/getting-started/quick-start.md (1 hunks)
  • docs/getting-started/tutorial.md (1 hunks)
  • docs/home.md (1 hunks)
  • docs/migrating/convert-rails-5-api-only-app.md (1 hunks)
  • docs/misc/articles.md (1 hunks)
  • docs/misc/doctrine.md (1 hunks)
  • docs/upgrading/release-notes/16.0.0.md (1 hunks)
  • docs/upgrading/upgrading-react-on-rails.md (2 hunks)
✅ Files skipped from review due to trivial changes (13)
  • docs/migrating/convert-rails-5-api-only-app.md
  • docs/api-reference/README.md
  • docs/building-features/how-to-conditionally-server-render-based-on-device-type.md
  • docs/misc/doctrine.md
  • docs/core-concepts/react-on-rails-overview.md
  • docs/upgrading/upgrading-react-on-rails.md
  • docs/core-concepts/render-functions.md
  • docs/deployment/troubleshooting.md
  • docs/getting-started/tutorial.md
  • docs/core-concepts/auto-bundling-file-system-based-automated-bundle-generation.md
  • docs/misc/articles.md
  • docs/core-concepts/client-vs-server-rendering.md
  • docs/core-concepts/how-react-on-rails-works.md
🧰 Additional context used
📓 Path-based instructions (1)
**/*.{js,jsx,ts,tsx,css,scss,json,yml,yaml,md}

📄 CodeRabbit inference engine (CLAUDE.md)

Prettier is the sole authority for formatting all non-Ruby files; never manually format them

Files:

  • docs/api-reference/generator-details.md
  • docs/getting-started/installation-into-an-existing-rails-app.md
  • docs/deployment/troubleshooting-build-errors.md
  • docs/core-concepts/render-functions-and-railscontext.md
  • docs/core-concepts/react-server-rendering.md
  • docs/getting-started.md
  • docs/README.md
  • docs/getting-started/quick-start.md
  • docs/core-concepts/webpack-configuration.md
  • docs/home.md
  • docs/upgrading/release-notes/16.0.0.md
  • docs/api-reference/view-helpers-api.md
  • docs/building-features/code-splitting.md
  • docs/building-features/rspec-configuration.md
  • docs/advanced-topics/manual-installation-overview.md
🧠 Learnings (4)
📚 Learning: 2025-09-16T08:01:11.146Z
Learnt from: justin808
PR: shakacode/react_on_rails#1770
File: lib/generators/react_on_rails/templates/base/base/app/javascript/src/HelloWorld/ror_components/HelloWorld.client.jsx:2-2
Timestamp: 2025-09-16T08:01:11.146Z
Learning: React on Rails uses webpack CSS Modules configuration with namedExports: true, which requires the import syntax `import * as style from './file.module.css'` rather than the default export pattern. This configuration enables better tree shaking and bundle size optimization for CSS modules.

Applied to files:

  • docs/getting-started.md
  • docs/advanced-topics/manual-installation-overview.md
📚 Learning: 2025-02-12T16:38:06.537Z
Learnt from: Romex91
PR: shakacode/react_on_rails#1697
File: package-scripts.yml:28-28
Timestamp: 2025-02-12T16:38:06.537Z
Learning: The file `node_package/lib/ReactOnRails.full.js` is autogenerated during the build process and should not be present in the repository.

Applied to files:

  • docs/getting-started.md
📚 Learning: 2025-02-13T16:50:26.861Z
Learnt from: AbanoubGhadban
PR: shakacode/react_on_rails#1644
File: node_package/src/turbolinksUtils.ts:34-36
Timestamp: 2025-02-13T16:50:26.861Z
Learning: In React on Rails, when checking for Turbolinks version 5 using `turbolinksVersion5()`, always ensure `Turbolinks` exists first by checking `turbolinksInstalled()` to prevent TypeError when accessing properties.

Applied to files:

  • docs/upgrading/release-notes/16.0.0.md
📚 Learning: 2025-09-15T21:24:48.207Z
Learnt from: AbanoubGhadban
PR: shakacode/react_on_rails#1781
File: node_package/src/ClientSideRenderer.ts:82-95
Timestamp: 2025-09-15T21:24:48.207Z
Learning: In React on Rails, the force_load feature includes both explicit `data-force-load="true"` usage and the ability to hydrate components during the page loading state (`document.readyState === 'loading'`). Both capabilities require a Pro license, so the condition `!railsContext.rorPro && (isComponentForceLoaded || document.readyState === 'loading')` correctly gates both scenarios.

Applied to files:

  • docs/upgrading/release-notes/16.0.0.md
🪛 markdownlint-cli2 (0.18.1)
docs/getting-started.md

14-14: Link fragments should be valid

(MD051, link-fragments)

⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (10)
  • GitHub Check: dummy-app-integration-tests (3.2, 20)
  • GitHub Check: dummy-app-integration-tests (3.4, 22)
  • GitHub Check: markdown-link-check
  • GitHub Check: build
  • GitHub Check: rspec-package-tests (3.2, latest)
  • GitHub Check: rspec-package-tests (3.4, latest)
  • GitHub Check: rspec-package-tests (3.2, minimum)
  • GitHub Check: rspec-package-tests (3.4, minimum)
  • GitHub Check: claude-review
  • GitHub Check: build-and-test
🔇 Additional comments (1)
docs/core-concepts/react-server-rendering.md (1)

3-3: Links updated correctly
Both references resolve cleanly after the IA reorg. Nicely aligned with the new structure.

Also applies to: 17-17

Comment on lines +81 to 82
- Configure `config/initializers/react_on_rails.rb`. You can adjust some necessary settings and defaults. See file [docs/basics/configuration.md](./api-reference/configuration.md) for documentation of all configuration options.
- Configure `config/shakapacker.yml`. If you used the generator and the default Shakapacker setup, you don't need to touch this file. If you are customizing your setup, then consult the [spec/dummy/config/shakapacker.yml](https://github.com/shakacode/react_on_rails/tree/master/spec/dummy/config/shakapacker.yml) example or the official default [shakapacker.yml](https://github.com/shakacode/shakapacker/blob/master/lib/install/config/shakapacker.yml).
Copy link
Contributor

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Update the configuration link label

The visible link text still says docs/basics/configuration.md, but that file was removed in the reorg. Please update the label so it matches the new target under api-reference.

Apply this diff:

-- Configure `config/initializers/react_on_rails.rb`. You can adjust some necessary settings and defaults. See file [docs/basics/configuration.md](./api-reference/configuration.md) for documentation of all configuration options.
+- Configure `config/initializers/react_on_rails.rb`. You can adjust some necessary settings and defaults. See the [Configuration reference](./api-reference/configuration.md) for documentation of all configuration options.
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- Configure `config/initializers/react_on_rails.rb`. You can adjust some necessary settings and defaults. See file [docs/basics/configuration.md](./api-reference/configuration.md) for documentation of all configuration options.
- Configure `config/shakapacker.yml`. If you used the generator and the default Shakapacker setup, you don't need to touch this file. If you are customizing your setup, then consult the [spec/dummy/config/shakapacker.yml](https://github.com/shakacode/react_on_rails/tree/master/spec/dummy/config/shakapacker.yml) example or the official default [shakapacker.yml](https://github.com/shakacode/shakapacker/blob/master/lib/install/config/shakapacker.yml).
- Configure `config/initializers/react_on_rails.rb`. You can adjust some necessary settings and defaults. See the [Configuration reference](./api-reference/configuration.md) for documentation of all configuration options.
- Configure `config/shakapacker.yml`. If you used the generator and the default Shakapacker setup, you don't need to touch this file. If you are customizing your setup, then consult the [spec/dummy/config/shakapacker.yml](https://github.com/shakacode/react_on_rails/tree/master/spec/dummy/config/shakapacker.yml) example or the official default [shakapacker.yml](https://github.com/shakacode/shakapacker/blob/master/lib/install/config/shakapacker.yml).
🤖 Prompt for AI Agents
In docs/getting-started.md around lines 81 to 82, the link label still reads
"docs/basics/configuration.md" but the target file moved to api-reference;
update the visible link text to match the new location (e.g.,
"api-reference/configuration.md" or simply "Configuration") so the label
accurately reflects the target path and remove the outdated docs/basics
reference; keep the href as ./api-reference/configuration.md and ensure the
label text is updated accordingly.

justin808 and others added 2 commits October 3, 2025 11:39
- Fix links in docs/guides/advanced/README.md to point to core-concepts/
- Fix asset link in docs/upgrading/release-notes/16.0.0.md
- Fix turbolinks link in docs/upgrading/release-notes/16.0.0.md

All broken links reported by markdown-link-check CI have been fixed.
Applied Prettier autofix to resolve CI formatting check failure.

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

Co-Authored-By: Claude <[email protected]>
Copy link

claude bot commented Oct 3, 2025

PR Review: Documentation Reorganization

Thank you for this comprehensive documentation reorganization effort! This is a significant improvement that will make the docs much more navigable and user-friendly. Here's my detailed review:

✅ Strengths

Excellent Structure

  • User-journey based organization: The new 10-category structure is intuitive and follows natural user workflows (Getting Started → Core Concepts → Building Features → Deployment)
  • Clear intent-based categorization: Categories are organized by WHEN/WHY users need information, not just by technology
  • Separation of concerns: Smart split between "Upgrading" (RoR versions) and "Migrating" (from other tools)

Implementation Quality

  • Comprehensive link updates: All internal links in docs/README.md have been properly updated to new paths
  • Git history preserved: Using git mv ensures file history is maintained
  • File merge executed well: The merge of node-dependencies-and-npm.md into updating-dependencies.md is clean and complete
  • No broken references: No old directory references (guides/, javascript/, api/, etc.) remain in the updated files

Documentation Excellence

  • Planning artifacts included: The planning docs provide excellent context for reviewers
  • Clear PR description: Comprehensive file movement mapping and decision rationale

🔍 Issues & Recommendations

1. Empty/Incomplete Directory Cleanup

The PR description mentions "What's Next: Delete empty folders" but:

  • docs/guides/ still exists with only advanced/README.md inside
  • Old directory structure partially remains

Recommendation:

  • Either delete empty folders now or create a follow-up task
  • Consider moving docs/guides/advanced/README.md to docs/advanced-topics/README.md for consistency

2. File Endings (CRITICAL for CI)

Per CLAUDE.md:

ALWAYS ensure files end with a newline character

Action Required: Verify all moved/modified files end with newlines before merging. CI will fail otherwise.

3. Linting Requirements (CRITICAL for CI)

Per CLAUDE.md:

BEFORE EVERY COMMIT/PUSH:

  1. ALWAYS run bundle exec rubocop and fix ALL violations

Action Required: Run bundle exec rubocop on all changed files to ensure compliance.

4. Missing README Files

Some new directories lack README.md files for navigation:

  • docs/upgrading/ - no README (just files)
  • docs/migrating/ - no README
  • docs/deployment/ - no README
  • docs/building-features/ - no README

Recommendation: Add brief README.md files to major categories to provide context and file listings, similar to docs/api-reference/README.md.

5. Outdated Directory Handling

The docs/outdated/ directory is well-intentioned, but:

  • Should these files be hidden from the website navigation?
  • Consider adding a clear note at the top of each outdated file explaining its status

Recommendation: Add a standardized warning banner to all files in docs/outdated/.

6. Planning Files in Production Docs

The docs/planning/ directory is valuable but:

  • These are internal development artifacts
  • Should they be in the published docs?

Recommendation: Consider moving planning docs to a separate location (.github/docs-planning/ or similar) or adding them to .gitignore for the website build.

📋 Pre-Merge Checklist

Before merging, please verify:

  • Run bundle exec rubocop and fix all violations
  • Verify all files end with newline characters
  • Test website build with new structure (if applicable)
  • Decide on empty folder deletion strategy
  • Add README files to major new directories
  • Verify all cross-references work in the actual website
  • Consider adding deprecation notices to docs/outdated/ files

🎯 Overall Assessment

Score: 8.5/10

This is excellent work that significantly improves documentation usability. The reorganization is well-thought-out, execution is clean, and git history is preserved. The main items are:

  1. Compliance with project linting requirements (critical)
  2. Cleanup of empty directories
  3. Addition of category README files for better navigation

The structure itself is ready - just needs the final polish to meet CI requirements and complete the cleanup phase.

💡 Suggestions for Phase 3

Since you mentioned website config updates are next:

  • Consider adding breadcrumb navigation to docs pages
  • Add "related pages" sections to connect related topics
  • Create a visual sitemap showing the new structure
  • Add category icons/emojis to improve scanability (as shown in PR description)

Great work on this reorganization! 🎉


Generated with Claude Code 🤖

Fixed broken external GitHub links:
- Updated shakapacker environment config links from .js to .ts files
- Removed outdated react-webpack-rails-tutorial RouterApp file references
- Fixed README.md advanced-topics link to point to guides/advanced/

All external links now point to valid resources.

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

Co-Authored-By: Claude <[email protected]>
@justin808 justin808 merged commit 62d92e1 into master Oct 4, 2025
17 checks passed
@justin808 justin808 deleted the feature/docs-ia-redesign branch October 4, 2025 01:58
ihabadham added a commit that referenced this pull request Oct 9, 2025
This navigation index file was left behind after the reorganization in #1845.
The links it contained point to files now in core-concepts/, making this
index redundant.

Cleanup after PR #1845.
ihabadham added a commit that referenced this pull request Oct 12, 2025
This navigation index file was left behind after the reorganization in #1845.
The links it contained point to files now in core-concepts/, making this
index redundant.

Cleanup after PR #1845.
ihabadham added a commit that referenced this pull request Oct 15, 2025
This navigation index file was left behind after the reorganization in #1845.
The links it contained point to files now in core-concepts/, making this
index redundant.

Cleanup after PR #1845.
ihabadham added a commit that referenced this pull request Oct 19, 2025
Updated two broken links in react-router.md that were pointing to the old
location ../rails/turbolinks.md which no longer exists.

The turbolinks.md file was moved from docs/rails/ to docs/building-features/
during the PR #1845 documentation reorganization, but these links were not
updated at that time.

Changes:
- ../rails/turbolinks.md → ./turbolinks.md (same directory)

This fixes the markdown-link-check CI failure:
ERROR: 1 dead link found in docs/building-features/react-router.md !
[✖] ../rails/turbolinks.md → Status: 400

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

Co-Authored-By: Claude <[email protected]>
ihabadham added a commit that referenced this pull request Oct 19, 2025
This category index file was an orphaned remnant from PR #1813 that used
a different navigation approach with category landing pages.

During the IA redesign (PR #1845), similar category index files like
guides/advanced/README.md were deleted as "redundant" because docs/README.md
now serves as the single navigation hub.

The api-reference/README.md survived by accident and is now the only category
with such an index file, creating inconsistency.

Changes:
- Deleted docs/api-reference/README.md (7-line TOC)
- Updated docs/README.md reference to point directly to view-helpers-api.md
  (the main API reference file)
- Preserves existing folder-level link on line 50 that points to api-reference/

Rationale: Category folders don't need README indexes when the main docs hub
already provides navigation. This matches the pattern established when we
deleted guides/advanced/README.md.
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.

2 participants