Skip to content

Conversation

ihabadham
Copy link
Contributor

@ihabadham ihabadham commented Oct 9, 2025

What Changed

Phase 3 of the IA redesign: consolidated multiple conflicting entry points, improved the tutorial, and cleaned up outdated documentation.

1. Entry Point Consolidation

Created unified homepage:

  • docs/introduction.md - New comprehensive homepage with clear learning paths

Removed/simplified conflicting entry points:

  • ✅ Deleted docs/home.md - old website homepage (replaced by introduction.md)
  • ✅ Simplified docs/README.md (173→65 lines) - now serves GitHub users only
  • ✅ Deleted docs/core-concepts/react-on-rails-overview.md - content consolidated into introduction.md

Transformed getting-started guide:

  • docs/getting-started.mddocs/getting-started/using-react-on-rails.md
  • Changed from mixed installation/concepts to focused conceptual guide
  • Explains HOW React on Rails works (not step-by-step installation)

Cleanup:

  • ✅ Deleted orphaned docs/guides/advanced/README.md

2. Tutorial Improvements

Enhanced docs/getting-started/tutorial.md:

  • Extracted Heroku deployment (139 lines) to dedicated guide
  • Fixed outdated versions: Ruby 3.0+, Rails 7+, React on Rails v16 (was 2.7, Rails 7, v13)
  • Clarified Redux vs Hooks usage in installer
  • Merged duplicate HMR sections - combined "HMR vs React Hot Reloading" and "Using HMR with shakapacker"
  • Reorganized structure - renamed "Other features" → "Going Further" with clear subsections

Enhanced docs/deployment/heroku-deployment.md:

  • ✅ Merged tutorial's comprehensive Heroku instructions (was minimal guide)
  • ✅ Added note about version currency and link to Heroku's Rails 7 guide

3. Documentation Cleanup

Deleted outdated manual installation guide:

  • ✅ Removed docs/advanced-topics/manual-installation-overview.md
  • Had "TODO: Review this file" since 2018
  • Confused purpose: title said "Manual Installation" but subtitle said "summarizes what generator does"
  • Confirmed with team (Judah) that it was meant to document manual steps, but:
    • Generator IS the manual installation (not external CLI)
    • Referenced outdated patterns (/client, webpacker, missing auto-bundling)
    • No clear use case for truly manual installation without generator

4. Planning Documentation Updates

Updated tracker docs:

  • 04-ia-redesign-plan.md - marked Phase 3 complete, noted actual vs planned changes
  • ia-redesign-live.md - comprehensive Phase 3 completion documentation

Files Changed (10 commits)

Created:

  • docs/introduction.md (new unified homepage)
  • docs/getting-started/using-react-on-rails.md (transformed from getting-started.md)

Modified:

  • docs/README.md (simplified for GitHub users)
  • docs/getting-started/tutorial.md (extracted deployment, fixed versions, reorganized)
  • docs/deployment/heroku-deployment.md (merged tutorial content)
  • docs/planning/docs-improvement/04-ia-redesign-plan.md (updated status)
  • docs/planning/docs-improvement/ia-redesign-live.md (documented Phase 3)

Deleted:

  • docs/home.md
  • docs/core-concepts/react-on-rails-overview.md
  • docs/guides/advanced/README.md
  • docs/advanced-topics/manual-installation-overview.md

Why

Problem 1.2: Multiple Conflicting Entry Points

Users faced 4+ different starting points with conflicting information:

  • README.md (GitHub)
  • home.md (website homepage)
  • getting-started.md (mixed purposes)
  • react-on-rails-overview.md (outdated prereqs)

Each had different content, creating confusion about where to start.

Tutorial overwhelm:

  • Long Heroku deployment section disrupted learning flow
  • Outdated version references (Ruby 2.7, RoR v13)
  • Duplicate HMR explanations
  • Unclear Redux vs Hooks usage

Outdated documentation:

  • Manual installation guide referenced 2018 patterns
  • Confused generator documentation with manual installation alternative

What's Next

Website Configuration (sc-website repo)

  • Update gatsby-node.js to use introduction.md as homepage
  • Filter out /docs/planning/ from website build
  • Update category order to match new structure

Future phases:

  • Content structure improvements
  • File naming conventions
  • Outdated content removal

(Future phases are repo cleanup tasks - website filtering will hide them from users)

Review Focus

  • Does the new introduction.md provide a clear, unified starting point?
  • Is using-react-on-rails.md more focused as a conceptual guide?
  • Are the tutorial improvements helpful (deployment extraction, version fixes)?
  • Was deleting manual-installation-overview.md the right call?

Note: Planning docs in /docs/planning/docs-improvement/ are for development only and will be filtered from the website in Phase 1.


This change is Reviewable

Summary by CodeRabbit

  • Documentation
    • Added a consolidated Introduction and a comprehensive "Using React on Rails" guide; marked IA and migration progress.
    • Revamped README with streamlined learning paths, condensed documentation categories, and a prominent docs-site tip.
    • Reworked Getting Started and Tutorial for modern tooling (Ruby/Rails/React updates) and made Yarn the primary install example.
    • Expanded deployment guide (database, server, versioning) and removed/consolidated legacy docs.

Copy link
Contributor

coderabbitai bot commented Oct 9, 2025

Walkthrough

Consolidates and reorganizes documentation: adds docs/introduction.md, simplifies docs/README.md, removes legacy landing/overview pages, restructures Getting Started into a focused "Using React on Rails" guide and updated tutorial/quick-start/install pages, expands Heroku deployment guidance, updates cross-links, and records IA consolidation in planning docs.

Changes

Cohort / File(s) Summary of Changes
Entry Point & Landing
docs/README.md, docs/introduction.md, docs/home.md
Simplified README to point to the docs site; added introduction.md; deleted legacy home.md.
Removed Legacy Overviews
docs/advanced-topics/manual-installation-overview.md, docs/core-concepts/react-on-rails-overview.md
Deleted manual installation overview and React on Rails overview pages.
Getting Started Restructure
docs/getting-started.md, docs/getting-started/using-react-on-rails.md, docs/getting-started/quick-start.md, docs/getting-started/installation-into-an-existing-rails-app.md, docs/getting-started/tutorial.md
Replaced monolithic getting-started with a new "Using React on Rails" guide; updated Quick Start links and examples; switched install guidance to yarn add react-on-rails --exact; refreshed tutorial content and versions.
Deployment Updates
docs/deployment/heroku-deployment.md
Expanded Heroku deployment doc with Postgres migration, Puma Procfile/config, Node/Yarn engines pinning, explicit deploy steps, Shakapacker notes, and optional clean-task adjustment.
Advanced Guides Cleanup
docs/guides/advanced/README.md
Removed Advanced Features index content and related internal links.
Cross-link & Doctrine
docs/misc/doctrine.md
Updated reference target from the old overview to ../introduction.md.
Planning / IA Tracking
docs/planning/docs-improvement/04-ia-redesign-plan.md, docs/planning/docs-improvement/ia-redesign-live.md
Marked Phase 3 consolidation done; recorded completed actions, updated final folder structure, and noted next step to update site config homepage.

Sequence Diagram(s)

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related issues

Possibly related PRs

Suggested reviewers

  • Judahmeek
  • alexeyr-ci2
  • justin808

Poem

Thump-thump I hopped through docs tonight,
I trimmed old trails and set the sign right.
New paths, bright carrots, clear steps to start —
Hop in, explore, may the docs warm your heart. 🥕

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 succinctly highlights the two primary objectives of the PR: consolidating the documentation entry points into a unified introduction and applying improvements to the tutorial. It remains concise by omitting extraneous detail while still reflecting the core scope of the changes. This phrasing aligns with conventional commit semantics and gives readers an immediate understanding of the main documentation updates.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feature/docs-ia-redesign-1845-continue

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.

@ihabadham ihabadham changed the title docs: Phase 3 - Entry Point Consolidation and Tutorial Improvements docs: Entry Point Consolidation and Tutorial Improvements Oct 9, 2025
Copy link

claude bot commented Oct 9, 2025

PR Review: Phase 3 - Entry Point Consolidation and Tutorial Improvements

Overall Assessment

Strong approval - This is excellent documentation work that significantly improves the user experience. The consolidation of entry points and modernization of the tutorial are well-executed.


Strengths

1. Clear Entry Point Strategy

  • The new introduction.md provides a clean, unified homepage with clear learning paths
  • Removing conflicting entry points (home.md, react-on-rails-overview.md) eliminates confusion
  • The simplified README.md (173→65 lines) appropriately serves GitHub users only

2. Improved Tutorial Structure

  • Version updates are critical: Ruby 3.0+, Rails 7+, React on Rails v16 (was 2.7, Rails 7, v13)
  • Heroku extraction (139 lines) to dedicated guide improves flow and focus
  • Redux vs Hooks clarification helps users make informed choices
  • Merged duplicate HMR sections reduce confusion

3. Better Content Organization

  • using-react-on-rails.md is now focused on concepts (not mixed installation steps)
  • Clear separation between conceptual understanding and hands-on tutorial
  • Logical progression: Introduction → Quick Start → Tutorial

4. Documentation Quality

  • Writing is clear, concise, and well-structured
  • Good use of callouts, navigation aids, and visual hierarchy
  • Appropriate use of tables, bullet points, and code examples

Code Quality & Best Practices

Excellent ✅

  • Markdown formatting: Consistent and clean
  • Link structure: All internal links use relative paths correctly
  • Content accuracy: Technical details are accurate and up-to-date
  • No broken references: File moves handled correctly with updated links

Specific Review Points

1. Was deleting manual-installation-overview.md the right call? ✅ YES

  • File had "TODO: Review this file" since 2018
  • Referenced outdated patterns (webpacker, /client directory)
  • Confused purpose (title vs subtitle mismatch)
  • Generator IS the installation method - no separate manual process needed
  • Verdict: Correct decision to delete

2. New introduction.md as unified starting point? ✅ EXCELLENT

  • Clear value proposition (lines 19-27)
  • Helpful "When to Use" vs "Consider alternatives" sections
  • Multiple learning paths for different user types
  • Good balance of overview and next steps

3. using-react-on-rails.md as conceptual guide? ✅ MUCH IMPROVED

  • Now focused on understanding concepts vs step-by-step installation
  • Better explains auto-bundling vs manual registration
  • Clear explanation of render-functions and railsContext
  • Appropriate links to deeper resources

4. Tutorial improvements helpful? ✅ VERY HELPFUL

  • Version updates prevent confusion with deprecated/old versions
  • Redux vs Hooks clarity helps users choose appropriate path
  • Heroku deployment extraction improves tutorial flow
  • Note about version currency with link to Heroku Rails 7 guide is professional touch

Potential Issues

Minor Concerns

1. Heroku Deployment Guide - Outdated Version Note

The note at the top of heroku-deployment.md:

> **Note:** This guide is based on the working tutorial app at [reactrails.com](https://reactrails.com). 
> While the instructions work, some versions referenced are older.

Suggestion: Consider a follow-up task to update the Heroku guide with current versions to maintain consistency with the tutorial's modern versions.

2. PostgreSQL Setup in Heroku Guide

The Heroku guide shows Rails 6+ command but the tutorial targets Rails 7+:

rails db:system:change --to=postgresql

This is fine but could clarify "Rails 6+" → "Rails 6-7" or just "Rails 6+" depending on support scope.

3. Link to Planning Docs

The PR body mentions:

Planning docs in /docs/planning/docs-improvement/ are for development only and will be filtered from the website in Phase 1.

These docs (04-ia-redesign-plan.md, ia-redesign-live.md) are included in this PR. Consider whether they should be in a separate tracking/planning repo to avoid cluttering the main docs directory.


Performance Considerations

N/A - Documentation changes only, no runtime performance impact.


Security Concerns

None identified - Documentation changes pose no security risks.


Test Coverage

Appropriate - Documentation changes don't require automated tests. Manual review and link checking are appropriate.

Recommendation: Consider adding link validation to CI to catch broken links in future PRs.


Style & Conventions

Follows CLAUDE.md guidelines:

  • Markdown formatting is clean
  • File organization follows repository conventions
  • No linting issues (docs don't require RuboCop/Prettier)
  • Appropriate trailing newlines

Suggestions for Follow-up

  1. Phase 1 Website Config (mentioned in PR):

    • Update gatsby-node.js to use introduction.md as homepage
    • Filter /docs/planning/ from website build
  2. Heroku Guide Modernization:

    • Update version references to match tutorial (Ruby 3.0+, Rails 7+)
    • Remove or update the "outdated versions" caveat
  3. Link Validation:

    • Add CI check for broken links in documentation
  4. Planning Docs Location:

    • Consider moving to separate tracking location or GitHub Issues/Projects

Final Verdict

✅ LGTM - Approve and Merge

This PR successfully:

  • ✅ Solves Problem 1.2 (Multiple Conflicting Entry Points)
  • ✅ Improves tutorial quality and accuracy
  • ✅ Removes outdated/confusing documentation
  • ✅ Maintains high documentation standards
  • ✅ Sets foundation for future IA improvements

The documentation is now clearer, more accurate, and provides a better user experience. The identified minor concerns are truly minor and don't block this excellent work.

Great job @ihabadham! 🎉


Review Checklist
  • ✅ Code quality and best practices
  • ✅ No bugs or issues identified
  • ✅ No performance concerns (docs only)
  • ✅ No security concerns
  • ✅ Appropriate test coverage approach
  • ✅ Follows repository conventions (CLAUDE.md)
  • ✅ Clear improvement to user experience
  • ✅ Well-documented changes in PR description

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

Caution

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

⚠️ Outside diff range comments (2)
docs/getting-started/tutorial.md (1)

125-128: Tag the environment variables code fence.

Markdownlint MD040 flags this block. Add a language (e.g., bash) to satisfy linting.

-```
+```bash
 EXECJS_RUNTIME=Node
docs/planning/docs-improvement/ia-redesign-live.md (1)

402-478: Add a language tag to the folder-structure fence.

Markdownlint complains about this fence lacking a language. Tag it as text (or similar) to keep lint happy.

-```
+```text
 docs/
 ├── introduction.md              # ✅ Created - new unified homepage
 ├── README.md                    # ✅ Simplified for GitHub users
@@
 └── advanced-topics/ (1 file - KEEPING as category)
     └── rails-engine-integration.md            # Step 5 correction: from deployment
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 80eb21e and b3493ca.

📒 Files selected for processing (15)
  • docs/README.md (3 hunks)
  • docs/advanced-topics/manual-installation-overview.md (0 hunks)
  • docs/core-concepts/react-on-rails-overview.md (0 hunks)
  • docs/deployment/heroku-deployment.md (2 hunks)
  • docs/getting-started.md (0 hunks)
  • docs/getting-started/installation-into-an-existing-rails-app.md (0 hunks)
  • docs/getting-started/quick-start.md (1 hunks)
  • docs/getting-started/tutorial.md (8 hunks)
  • docs/getting-started/using-react-on-rails.md (1 hunks)
  • docs/guides/advanced/README.md (0 hunks)
  • docs/home.md (0 hunks)
  • docs/introduction.md (1 hunks)
  • docs/misc/doctrine.md (1 hunks)
  • docs/planning/docs-improvement/04-ia-redesign-plan.md (1 hunks)
  • docs/planning/docs-improvement/ia-redesign-live.md (2 hunks)
💤 Files with no reviewable changes (6)
  • docs/guides/advanced/README.md
  • docs/advanced-topics/manual-installation-overview.md
  • docs/getting-started.md
  • docs/home.md
  • docs/core-concepts/react-on-rails-overview.md
  • docs/getting-started/installation-into-an-existing-rails-app.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/getting-started/quick-start.md
  • docs/misc/doctrine.md
  • docs/getting-started/using-react-on-rails.md
  • docs/introduction.md
  • docs/README.md
  • docs/deployment/heroku-deployment.md
  • docs/getting-started/tutorial.md
  • docs/planning/docs-improvement/04-ia-redesign-plan.md
  • docs/planning/docs-improvement/ia-redesign-live.md
🪛 markdownlint-cli2 (0.18.1)
docs/getting-started/using-react-on-rails.md

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

(MD040, fenced-code-language)

docs/deployment/heroku-deployment.md

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

(MD040, fenced-code-language)

docs/getting-started/tutorial.md

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

(MD040, fenced-code-language)

docs/planning/docs-improvement/ia-redesign-live.md

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

(MD040, fenced-code-language)

⏰ 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.4, 22)
  • GitHub Check: dummy-app-integration-tests (3.2, 20)
  • GitHub Check: rspec-package-tests (3.2, minimum)
  • GitHub Check: rspec-package-tests (3.4, minimum)
  • GitHub Check: rspec-package-tests (3.2, latest)
  • GitHub Check: rspec-package-tests (3.4, latest)
  • GitHub Check: claude-review
  • GitHub Check: markdown-link-check
  • GitHub Check: build
  • GitHub Check: build-and-test

Comment on lines +100 to +103
```
web: bundle exec puma -C config/puma.rb
```

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 | 🟡 Minor

Specify the Procfile language for markdownlint.

MD040 fires here; add a language hint (Procfile) so CI linting passes.

-```
+```Procfile
 web: bundle exec puma -C config/puma.rb
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

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

(MD040, fenced-code-language)

🤖 Prompt for AI Agents
In docs/deployment/heroku-deployment.md around lines 100 to 103, the fenced code
block for the Procfile lacks a language hint causing MD040; update the markdown
block to include the Procfile language identifier (i.e., replace the
triple-backtick fence with ```Procfile) so the code block is fenced as Procfile
and CI markdownlint passes.

Comment on lines +131 to +135
"engines": {
"node": "16.19.0",
"yarn": "1.22.4"
},
```
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 Heroku engines to match our supported runtime.

We now require Node 18+ (see Introduction/Quick Start), but this guide still pins Node 16.19.0, which is end-of-life. Following these steps will deploy on an unsupported runtime. Please bump the engines block to Node 18 (and adjust Yarn if needed) to stay consistent.

🤖 Prompt for AI Agents
In docs/deployment/heroku-deployment.md around lines 131 to 135, the engines
block pins Node to 16.19.0 which is EOL and mismatches our required Node 18+;
update the "engines" block to specify a supported Node 18+ version (e.g.,
">=18.0.0" or a specific 18.x release) and adjust the yarn entry if necessary
(either remove Yarn if irrelevant to current install flow or set a compatible
Yarn version), then run a quick lint/spell check to ensure the markdown still
renders correctly.

Comment on lines +118 to +131
```
app/javascript/
└── bundles/HelloWorld/ # or src/HelloWorld/ror_components/ with auto-bundling
└── HelloWorld.jsx
```

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 | 🟡 Minor

Add language hint to the directory tree code fence.

Markdown lint (MD040) flags this fence because no language is specified. Tag it (e.g., text) to keep the CI green.

-```
+```text
 app/javascript/
 └── bundles/HelloWorld/          # or src/HelloWorld/ror_components/ with auto-bundling
     └── HelloWorld.jsx
🤖 Prompt for AI Agents
In docs/getting-started/using-react-on-rails.md around lines 118 to 123 the
fenced code block showing the directory tree lacks a language hint which
triggers MD040; update the opening fence from ``` to a fenced block with a
language tag (for example ```text) so the code fence includes a language hint
and the CI linter passes.

Copy link

claude bot commented Oct 9, 2025

Pull Request Review: Entry Point Consolidation and Tutorial Improvements

Overall Assessment ✅

This is an excellent documentation improvement that successfully addresses the problem of multiple conflicting entry points. The changes are well-thought-out and significantly improve the user experience. I recommend approval with minor suggestions below.


Strengths 🎯

1. Clear Information Architecture

  • Excellent consolidation: The new introduction.md provides a clear, unified homepage with well-defined learning paths
  • Smart file organization: Moving getting-started.mdusing-react-on-rails.md better reflects its conceptual nature
  • Reduced confusion: Eliminating 4 conflicting entry points down to 1 primary entry makes onboarding much clearer

2. Content Quality

  • Well-structured introduction: The new introduction.md has:
    • Clear value proposition ("What is React on Rails?")
    • Practical use cases ("When to Use React on Rails")
    • Multiple learning paths for different user types
    • Appropriate system requirements placement
  • Conceptual clarity: using-react-on-rails.md successfully focuses on HOW things work rather than mixing installation steps
  • Improved tutorial: Extracting Heroku deployment (139 lines) to a dedicated guide improves tutorial flow

3. Documentation Hygiene

  • Proper cleanup: Removing outdated manual-installation-overview.md (TODO since 2018) is the right call
  • No broken links: All internal references updated correctly
  • Files end with newlines: ✅ Formatting requirements met

Suggestions for Improvement 💡

Minor Issues

1. Heroku Deployment Content (Low Priority)

The merged Heroku deployment guide contains some older patterns:

Lines 52-75 (docs/deployment/heroku-deployment.md):

default: &default
  adapter: postgresql
  username:
  password:
  host: localhost

Suggestion: Modern Rails 7+ uses DATABASE_URL environment variable pattern. Consider adding a note that this is legacy format or updating to current best practices.

Lines 86-98 (docs/deployment/heroku-deployment.md):
The Puma configuration references older patterns. The PR description acknowledges this with a disclaimer at the top, which is good, but consider:

  • Adding inline comments about what's changed in recent versions
  • Or simplifying to just reference Heroku's official Rails 7 guide

Severity: Low - The disclaimer at the top addresses this adequately.


2. Tutorial Version References

Line 113 (docs/getting-started/tutorial.md):

**Note on Redux:** The basic installer uses React Hooks for state management...

Observation: This is clear and helpful! The clarification about Redux vs Hooks is excellent. ✅

Lines 60-61 mention checking Rails 7.0+, which is good and matches the stated requirements.


3. Introduction.md Minor Polish

Line 199 (docs/getting-started/using-react-on-rails.md):

{
  renderedHtml: {
    componentHtml, redirectLocation, error;  // ← Semicolons should be commas
  }
}

Issue: JavaScript object syntax error - should use commas, not semicolons between properties.

Fix:

{
  renderedHtml: {
    componentHtml, 
    redirectLocation, 
    error
  }
}

Severity: Medium - This is example code that won't run as written.


4. README.md Simplification

The simplified docs/README.md is much better! Good job reducing from 173 → 65 lines.

Minor suggestion: Consider whether lines 44-50 (the "I want to..." table) duplicates content from introduction.md. It's fine to have this for GitHub users, but ensure consistency if use cases change.


Validation Checklist ✅

Based on CLAUDE.md requirements:

  • ✅ Files end with newline character
  • ✅ No RuboCop offenses (docs-only PR)
  • ✅ No broken internal links found
  • ✅ Planning docs appropriately documented
  • ✅ No security concerns
  • ✅ Proper markdown formatting
  • ⚠️ Minor JavaScript syntax error in example code (line 192 in using-react-on-rails.md)

Performance Considerations ⚡

Not applicable - documentation changes only. No runtime performance impact.


Security Concerns 🔒

None identified. Documentation changes pose no security risks.


Test Coverage 🧪

Not applicable for documentation. However, consider:

  • Manual verification that all internal links work (automated link checker would be valuable)
  • Smoke test the Heroku deployment instructions if possible

Recommended Next Steps 🚀

As noted in the PR description:

  1. Website Configuration (separate repo): Update Gatsby config to use introduction.md as homepage
  2. Filter planning docs: Ensure /docs/planning/ is filtered from website builds
  3. Consider: Adding automated link checking to CI for future documentation PRs

Final Recommendation

✅ APPROVE with one minor fix required:

Required: Fix JavaScript syntax error in docs/getting-started/using-react-on-rails.md:192

Optional: Consider updating Heroku database.yml example to modern pattern (or keep with disclaimer)

This PR significantly improves documentation usability and follows the Rails doctrine of "convention over configuration" by establishing clear, opinionated entry points. Excellent work! 🎉


Review Philosophy Note

Following the project's doctrine of professional objectivity: While this is overwhelmingly positive feedback, I've highlighted the genuine issues found (JavaScript syntax error) and areas where current best practices have evolved (Heroku config). The consolidation strategy is sound and well-executed.

Copy link

claude bot commented Oct 9, 2025

Code Review: Entry Point Consolidation and Tutorial Improvements

I've reviewed PR #1860, which addresses Phase 3 of the IA redesign by consolidating entry points and improving the tutorial. Overall, this is excellent work that significantly improves documentation clarity and user experience.


✅ Strengths

1. Entry Point Consolidation (Problem 1.2 - Solved!)

Excellent execution. The new structure creates a clear, single source of truth:

  • introduction.md - Well-written unified homepage with clear explanations
  • README.md - Properly simplified for GitHub users (173 → 65 lines)
  • Deletions are justified - All removed files were redundant or outdated

2. Tutorial Improvements

  • Version updates are correct: Ruby 3.0+, Rails 7, React on Rails v16
  • Redux vs Hooks clarification added
  • Structure reorganization improves flow

3. Heroku Deployment Guide

  • Content merger is valuable - Comprehensive instructions
  • Link to Heroku's Rails 7 guide - Good practice

⚠️ Minor Improvements

1. Heroku Deployment Guide - Version Currency Note

Consider being more specific about which versions are dated (Node 16.19.0, Yarn 1.22.4) or add a date stamp.

2. Tutorial.md - Heroku Section

The PR description says "Extracted Heroku deployment (139 lines)" but the section remains in tutorial.md (lines 150-289). This seems intentional for basic steps, but may confuse PR readers.

3. Puma Configuration Duplication

Both tutorial.md (lines 235-263) and heroku-deployment.md (lines 68-96) contain identical Puma configuration. Consider keeping detailed config only in deployment guide and referencing it from tutorial.

4. File Verification

Confirm docs/getting-started/using-react-on-rails.md is correctly added (245 additions shown in metadata).


🔒 Security & Best Practices

Security: No concerns - documentation-only changes
CLAUDE.md Compliance: Follows project conventions
Recommendation: Run rake autofix before committing for Prettier formatting


📋 Summary

Category Rating
Code Quality ⭐⭐⭐⭐⭐
Documentation ⭐⭐⭐⭐⭐
Best Practices ⭐⭐⭐⭐⭐
Security

🚀 Recommendation: APPROVE with minor suggestions

This PR successfully achieves its goals. The minor suggestions above are optional improvements.

Before merging:

  1. Verify all new files are committed (especially using-react-on-rails.md)
  2. Run rake autofix for Prettier formatting
  3. Consider addressing Puma duplication

Great work! 🎉

ihabadham and others added 12 commits October 12, 2025 22:25
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.
- Add docs/introduction.md as unified homepage
  - Explains what React on Rails is and why to use it
  - Clear when to use / when not to use decision guide
  - Three clear paths: Quick Start, Installation, Tutorial
  - Built from actual docs (overview, doctrine, system requirements)
  - Added community stat (thousands of production sites)

- Delete docs/core-concepts/react-on-rails-overview.md
  - Content consolidated into introduction.md
  - Outdated prerequisites (Rails >=5 vs current Rails 7+)
  - Creates confusion with two similar entry points

- Update links to overview.md:
  - docs/home.md: Overview → Introduction
  - docs/misc/doctrine.md: Overview → Introduction

Solves Problem 1.2 (Multiple Conflicting Entry Points) from docs improvement plan.
Next: Handle remaining entry point files (home.md, README.md, getting-started.md).
- Simplify docs/README.md for GitHub users:
  - Direct users to website first
  - Keep valuable learning paths from PR #1813
  - Keep popular use cases table
  - Add documentation categories overview
  - Remove duplicate content (now in introduction.md)
  - Reduced from 173 lines to 65 lines

- Enhance introduction.md:
  - Add missing react_on_rails_demo_ssr_hmr example repo
  - Now has all 3 example repos (spec/dummy, demo SSR/HMR, live reactrails.com)

Purpose: docs/README.md serves GitHub users browsing repo structure,
while introduction.md serves as website homepage. Different audiences,
minimal duplication.
Document completion of entry point consolidation work:
- Created introduction.md
- Deleted overview.md
- Simplified docs/README.md
- Updated folder structure to reflect changes

Next: Delete home.md, handle getting-started.md
- Was the current website homepage (29 lines of links)
- All valuable content already in introduction.md or README.md
- No unique content lost (example repos, use cases, help links all covered)
- Replaced by introduction.md as new website homepage

Updated ia-redesign-live.md to reflect completion.

Next: Extract content from getting-started.md then delete it.
Transform docs/getting-started.md (253 lines) into a focused conceptual
guide: docs/getting-started/understanding-react-on-rails.md (238 lines).

Changes:
- Removed redundant sections (Choose Starting Point, System Requirements, More Reading)
- Transformed installation section into brief conceptual overview with links
- Kept and refined: Basic Usage, Auto-Bundling, Render-Functions, Error Handling
- Added clear 'Next Steps' section with organized learning paths
- Updated link in quick-start.md to point to new file
- Deleted original docs/getting-started.md

Purpose: This is now a conceptual journey guide explaining how React on Rails
works, complementing the hands-on tutorial and quick-start guides. Addresses
user feedback that tutorial was too overwhelming and mixed audiences.

Next: Website config updates (keeping for last as requested)
Rationale:
- "understanding" is vague and confusing next to how-react-on-rails-works.md
- "using" clearly indicates practical usage guide
- Better distinction: how-react-on-rails-works.md (architecture) vs using-react-on-rails.md (practical usage)

Changes:
- Renamed docs/getting-started/understanding-react-on-rails.md → using-react-on-rails.md
- Updated link in quick-start.md
- Updated references in ia-redesign-live.md

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

Co-Authored-By: Claude <[email protected]>
… structure

Changes to tutorial.md:
1. Replaced Heroku deployment section (139 lines) with brief Deployment section linking to deployment guides
2. Updated versions: Ruby 2.7 → 3.0+, Rails 5.1.3 → 7.0+, RoR v13 → v16
3. Clarified Redux usage: tutorial demonstrates Redux, but basic installer uses Hooks (user choice)
4. Merged duplicate HMR sections into one cohesive section using ./bin/dev
5. Renamed "Other features" → "Going Further" with better organization:
   - Server Rendering (important)
   - Optional Configuration subsection (/client structure, Cloud9, RubyMine)

Changes to heroku-deployment.md:
1. Merged tutorial's detailed Heroku instructions with existing guide
2. Added note about older versions with link to current Heroku Rails 7 guide
3. Organized into clear sections: Create App, Buildpacks, Postgres, Puma, Node/Yarn, Assets, Deploy

Rationale:
- Tutorial was overwhelming with platform-specific deployment before core features
- Heroku content now in dedicated guide (reusable, maintainable)
- Clear separation: tutorial teaches React on Rails, deployment guides teach platforms
- Better progression: install → run → features → deploy → advanced

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

Co-Authored-By: Claude <[email protected]>
Rationale:
- File has been outdated since 2018 (had "TODO: Review this file" for 7 years)
- Confused purpose: title says "Manual Installation" but subtitle says "summarizes what generator does"
- Outdated content: references /client directory, webpacker, missing auto-bundling
- No clear use case: rails generate react_on_rails:install IS the manual installation (not external CLI like create-react-app)
- Content is better covered in:
  - how-react-on-rails-works.md (architecture)
  - using-react-on-rails.md (usage)
  - Generator source code (what files are created)

Changes:
- Deleted docs/advanced-topics/manual-installation-overview.md
- Removed link in installation-into-an-existing-rails-app.md
- Updated ia-redesign-live.md tracker

Decision discussed with team in Slack. Can be reverted if use case is identified.

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

Co-Authored-By: Claude <[email protected]>
Mark Phase 3 as completed with notes on what actually happened vs what was planned:
- ✅ Created introduction.md (as planned)
- ✅ Transformed getting-started.md → using-react-on-rails.md (adapted from original plan)
- ✅ Simplified README.md (kept, not deleted)
- ✅ Deleted home.md (as planned)
- ✅ Added tutorial improvements (discovered during work)
- ✅ Deleted manual-installation-overview.md (discovered during work)
- ✅ Updated cross-references manually (not scripted)

Updated testing checklist to show what's complete and what's deferred to Phase 1.
Escape <head> tag in prose to prevent MDX from expecting closing tag.
Changed "in the <head>:" to "in the `<head>` section:" to use inline code.

This fixes gatsby-plugin-mdx compilation error:
"Expected a closing tag for <head> before the end of paragraph"
@ihabadham ihabadham force-pushed the feature/docs-ia-redesign-1845-continue branch from 5388efb to 5e71aeb Compare October 12, 2025 19:26
Copy link

claude bot commented Oct 12, 2025

PR Review: Entry Point Consolidation and Tutorial Improvements

This is excellent work that significantly improves documentation structure! Here is my detailed review:

Strengths

1. Excellent Entry Point Consolidation

  • The new introduction.md is outstanding - clear, well-structured, and provides multiple learning paths
  • Successfully eliminates conflicting entry points
  • The Choose your path approach is user-friendly
  • Clear distinction between What, Why, and When to use sections

2. Strong Conceptual Guide

  • using-react-on-rails.md is much more focused
  • Excellent progression from installation to advanced concepts
  • Good use of code examples
  • Proper separation of concepts from step-by-step installation

3. Tutorial Improvements

  • Critical fix: Updated to Ruby 3.0+, Rails 7, React on Rails v16
  • Excellent decision to extract Heroku deployment to dedicated guide
  • Much cleaner flow without deployment interruption

4. README Simplification

  • Reduced from 173 to 65 lines - much more scannable
  • Clear focus on directing GitHub users to documentation website

Issues Found

1. Syntax Error in using-react-on-rails.md line 192
The object has semicolon instead of comma after error

2. Formatting Check Required
Per CLAUDE.md requirements:

  • Run bundle exec rubocop before merging
  • Run rake autofix to ensure Prettier formatting

3. Link Validation Needed
Consider validating internal references after file moves

Deleted Files Assessment

All deletions are appropriate:

  • docs/home.md - Replaced by introduction.md
  • docs/core-concepts/react-on-rails-overview.md - Content consolidated
  • docs/guides/advanced/README.md - Orphaned file
  • docs/advanced-topics/manual-installation-overview.md - Had TODO since 2018, outdated patterns

Recommendations Before Merge

  1. Fix syntax error in using-react-on-rails.md line 192
  2. Run rake autofix and bundle exec rubocop
  3. Validate internal links after file moves

Overall Assessment

Quality: 5/5
Impact: High - Directly addresses user confusion
Risk: Low - Documentation only
Readiness: Ready after minor fixes

Final Verdict: Approve with Minor Changes

Once the syntax error is fixed and formatting tools are run, this is ready to merge. Great job on the thoughtful consolidation and improved information architecture!

Reviewed by: Claude Code
Commit: 809a894

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

Caution

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

⚠️ Outside diff range comments (2)
docs/getting-started/tutorial.md (2)

125-127: Add a language to the fenced block (MD040).

Tag this as shell/env so markdownlint passes.

-```
+```bash
 EXECJS_RUNTIME=Node

185-186: Fix path typo: “initializers.”

Correct “config/intializers/react_on_rails.rb” to “config/initializers/react_on_rails.rb”.

-`config/intializers/react_on_rails.rb`
+`config/initializers/react_on_rails.rb`
♻️ Duplicate comments (3)
docs/deployment/heroku-deployment.md (2)

100-103: Tag the Procfile code fence with a language.

Add a language hint so markdownlint (MD040) passes.

-```
+```Procfile
 web: bundle exec puma -C config/puma.rb

131-135: Update Node/Yarn engines to supported versions (Node 18+).

This still pins Node 16.19.0, which is EOL and inconsistent with prerequisites. Bump to Node 18+ (and adjust Yarn) for alignment.

-  "engines": {
-    "node": "16.19.0",
-    "yarn": "1.22.4"
-  },
+  "engines": {
+    "node": ">=18 <21",
+    "yarn": ">=1.22"
+  },
docs/getting-started/using-react-on-rails.md (1)

126-130: Add a language to the directory tree fence (MD040).

Tag this block (e.g., text) so markdownlint passes.

-```
+```text
 app/javascript/
 └── bundles/HelloWorld/          # or src/HelloWorld/ror_components/ with auto-bundling
     └── HelloWorld.jsx
🧹 Nitpick comments (7)
docs/planning/docs-improvement/ia-redesign-live.md (2)

28-38: Clarify status consistency (Step 0 vs. Completion Summary).

Step 0 shows "In Progress" with unchecked items, while the Completion Summary says all steps are complete. Update Step 0 checkboxes/status to reflect completion or annotate as historical to avoid confusion.

Also applies to: 304-314


115-121: Align Step 8 task with actual changes (README.md not deleted).

Step 8 lists “Delete/archive README.md,” but this PR simplified docs/README.md. Revise the Step 8 bullet to “Simplify README.md for GitHub users” to match what shipped.

Also applies to: 359-368

docs/deployment/heroku-deployment.md (3)

168-170: Use correct language for Ruby config snippet.

This is Ruby code, not bash. Tag the fence as Ruby.

-```bash
+```ruby
 config.build_production_command = "RAILS_ENV=production NODE_ENV=production bin/shakapacker"

177-179: Use Ruby fence for Rake task clear example.

This is Ruby that's added to a Rakefile/initializer, not a shell command.

-```bash
+```ruby
 Rake::Task['shakapacker:clean'].clear

79-82: Prefer modern Rails tasks over rake aliases.

Use rails db:setup and rails db:migrate to match current Rails conventions.

- rake db:setup
- rake db:migrate
+ rails db:setup
+ rails db:migrate
docs/getting-started/tutorial.md (1)

145-153: Clarify HMR vs full page reload; update links.

The text implies HMR but describes full page refresh (live reload). Clarify that without React Refresh you get full reloads; for state‑preserving updates enable React Fast Refresh. Also replace the deprecated Webpacker link with current Webpack docs (and/or Shakapacker docs).

docs/getting-started/quick-start.md (1)

127-133: Verify helper names/necessity with auto-bundling (Shakapacker v7).

Confirm stylesheet_pack_tag/javascript_pack_tag are the intended helpers and still required when using auto_load_bundle: true. If not, update to current helpers or note when they’re needed.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5388efb and 5e71aeb.

📒 Files selected for processing (15)
  • docs/README.md (3 hunks)
  • docs/advanced-topics/manual-installation-overview.md (0 hunks)
  • docs/core-concepts/react-on-rails-overview.md (0 hunks)
  • docs/deployment/heroku-deployment.md (2 hunks)
  • docs/getting-started.md (0 hunks)
  • docs/getting-started/installation-into-an-existing-rails-app.md (0 hunks)
  • docs/getting-started/quick-start.md (2 hunks)
  • docs/getting-started/tutorial.md (8 hunks)
  • docs/getting-started/using-react-on-rails.md (1 hunks)
  • docs/guides/advanced/README.md (0 hunks)
  • docs/home.md (0 hunks)
  • docs/introduction.md (1 hunks)
  • docs/misc/doctrine.md (1 hunks)
  • docs/planning/docs-improvement/04-ia-redesign-plan.md (1 hunks)
  • docs/planning/docs-improvement/ia-redesign-live.md (2 hunks)
💤 Files with no reviewable changes (6)
  • docs/guides/advanced/README.md
  • docs/core-concepts/react-on-rails-overview.md
  • docs/getting-started.md
  • docs/advanced-topics/manual-installation-overview.md
  • docs/home.md
  • docs/getting-started/installation-into-an-existing-rails-app.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/introduction.md
  • docs/misc/doctrine.md
  • docs/planning/docs-improvement/04-ia-redesign-plan.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/getting-started/quick-start.md
  • docs/getting-started/using-react-on-rails.md
  • docs/planning/docs-improvement/ia-redesign-live.md
  • docs/README.md
  • docs/getting-started/tutorial.md
  • docs/deployment/heroku-deployment.md
🪛 markdownlint-cli2 (0.18.1)
docs/deployment/heroku-deployment.md

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

(MD040, fenced-code-language)

⏰ 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.4, 22)
  • GitHub Check: dummy-app-integration-tests (3.2, 20)
  • GitHub Check: claude-review
  • GitHub Check: build
  • GitHub Check: rspec-package-tests (3.4, latest)
  • GitHub Check: rspec-package-tests (3.2, minimum)
  • GitHub Check: markdown-link-check
  • GitHub Check: rspec-package-tests (3.4, minimum)
  • GitHub Check: rspec-package-tests (3.2, latest)
  • GitHub Check: build-and-test
🔇 Additional comments (2)
docs/getting-started/quick-start.md (1)

162-165: Good redirect to the new concepts guide.

Pointing to “Using React on Rails” aligns with the new IA.

docs/README.md (1)

3-6: Solid simplification and IA alignment.

Concise GitHub-oriented README with clear learning paths and category index. Links align with the new structure.

Also applies to: 15-26, 45-55, 60-64

Comment on lines +189 to +195
```js
{
renderedHtml: {
componentHtml, redirectLocation, error;
}
}
```
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 | 🟡 Minor

Fix JS example syntax (remove stray semicolon).

The object example includes a semicolon inside an object literal. Remove it.

-{
-  renderedHtml: {
-    componentHtml, redirectLocation, error;
-  }
-}
+{
+  renderedHtml: {
+    componentHtml,
+    redirectLocation,
+    error
+  }
+}
📝 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
```js
{
renderedHtml: {
componentHtml, redirectLocation, error;
}
}
```
{
renderedHtml: {
componentHtml,
redirectLocation,
error
}
}
🤖 Prompt for AI Agents
In docs/getting-started/using-react-on-rails.md around lines 189 to 195 the
JavaScript object example includes an invalid stray semicolon inside the object
literal; update the example to use valid object property syntax by removing the
semicolon so the properties are comma-separated or individually declared
correctly (e.g., use renderedHtml: { componentHtml, redirectLocation, error } or
explicit key: value pairs) to ensure the snippet is valid JS.

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

♻️ Duplicate comments (2)
docs/deployment/heroku-deployment.md (2)

100-102: Restore the Procfile fence language hint.

This fenced block still lacks the Procfile language tag that markdownlint flagged earlier, so CI will fail the same MD040 check unless we add it back.

-```
+```Procfile
 web: bundle exec puma -C config/puma.rb

131-134: Align Heroku engines with our supported runtime.

We still pin Heroku to Node 16.19.0, which is EOL and contradicts the Node 18+ requirement documented elsewhere in this PR. Please bump Node (and Yarn if you want to keep it) to a supported release before merging.

   "engines": {
-    "node": "16.19.0",
-    "yarn": "1.22.4"
+    "node": ">=18.18.0",
+    "yarn": "1.22.22"
   },
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 5388efb and 5e71aeb.

📒 Files selected for processing (15)
  • docs/README.md (3 hunks)
  • docs/advanced-topics/manual-installation-overview.md (0 hunks)
  • docs/core-concepts/react-on-rails-overview.md (0 hunks)
  • docs/deployment/heroku-deployment.md (2 hunks)
  • docs/getting-started.md (0 hunks)
  • docs/getting-started/installation-into-an-existing-rails-app.md (0 hunks)
  • docs/getting-started/quick-start.md (2 hunks)
  • docs/getting-started/tutorial.md (8 hunks)
  • docs/getting-started/using-react-on-rails.md (1 hunks)
  • docs/guides/advanced/README.md (0 hunks)
  • docs/home.md (0 hunks)
  • docs/introduction.md (1 hunks)
  • docs/misc/doctrine.md (1 hunks)
  • docs/planning/docs-improvement/04-ia-redesign-plan.md (1 hunks)
  • docs/planning/docs-improvement/ia-redesign-live.md (2 hunks)
💤 Files with no reviewable changes (6)
  • docs/home.md
  • docs/core-concepts/react-on-rails-overview.md
  • docs/getting-started/installation-into-an-existing-rails-app.md
  • docs/guides/advanced/README.md
  • docs/getting-started.md
  • docs/advanced-topics/manual-installation-overview.md
✅ Files skipped from review due to trivial changes (1)
  • docs/introduction.md
🚧 Files skipped from review as they are similar to previous changes (3)
  • docs/misc/doctrine.md
  • docs/getting-started/using-react-on-rails.md
  • docs/getting-started/quick-start.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/README.md
  • docs/planning/docs-improvement/ia-redesign-live.md
  • docs/deployment/heroku-deployment.md
  • docs/getting-started/tutorial.md
  • docs/planning/docs-improvement/04-ia-redesign-plan.md
🪛 markdownlint-cli2 (0.18.1)
docs/getting-started/tutorial.md

7-7: 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). (1)
  • GitHub Check: build-and-test

---

_Updated for Ruby 2.7, Rails 7, React on Rails v13, and Shakapacker v7_
_Updated for Ruby 3.0+, Rails 7, React on Rails v16, and Shakapacker v7_
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 | 🟡 Minor

Fix the markdownlint MD036 violation.

Using italics as a heading trips markdownlint (MD036). Switching this line to a callout keeps the note while satisfying lint.

-_Updated for Ruby 3.0+, Rails 7, React on Rails v16, and Shakapacker v7_
+> **Note:** Updated for Ruby 3.0+, Rails 7, React on Rails v16, and Shakapacker v7.
📝 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
_Updated for Ruby 3.0+, Rails 7, React on Rails v16, and Shakapacker v7_
> **Note:** Updated for Ruby 3.0+, Rails 7, React on Rails v16, and Shakapacker v7.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

7-7: Emphasis used instead of a heading

(MD036, no-emphasis-as-heading)

🤖 Prompt for AI Agents
In docs/getting-started/tutorial.md around line 7, the line currently uses
italics as a heading ("_Updated for Ruby 3.0+, Rails 7, React on Rails v16, and
Shakapacker v7_"), which triggers markdownlint MD036; replace the italicized
heading with a non-heading callout/note (for example start the line with "Note:"
or a blockquote ">" or a fenced admonition) so it remains a visible update
notice but is not parsed as a heading and thus satisfies MD036.

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