Skip to content

Conversation

aaronjordan
Copy link
Contributor

@aaronjordan aaronjordan commented Oct 15, 2025

Currently, the link from getting-started to migrate-from-next-js is broken. This PR corrects the relative path to the migration guide.

Relevant page in prod deployment

image

Summary by CodeRabbit

  • Documentation
    • Updated link targets and explicit Markdown links in the React Getting Started guide for improved navigation.
    • Fixed Next.js migration link and formalized links to the TanStack Start CLI and "Build a project from scratch".
    • No other content changes; improves link accuracy and accessibility.

@github-actions github-actions bot added the documentation Everything documentation related label Oct 15, 2025
Copy link
Contributor

coderabbitai bot commented Oct 15, 2025

Walkthrough

Updated Markdown link targets in docs/start/framework/react/getting-started.md, converting plain-text references to proper Markdown links and updating three relative paths: migrate-from-next-js, quick-start (TanStack Start CLI), and build-from-scratch. No other content or logic changed.

Changes

Cohort / File(s) Summary
Docs: React getting-started link normalization
docs/start/framework/react/getting-started.md
Converted plain-text/mixed link references to proper Markdown links and updated relative targets: ../guide/migrate-from-next-js../migrate-from-next-js, added [TanStack Start CLI](../quick-start), and updated [Build a project from scratch](../build-from-scratch).

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Possibly related PRs

Suggested reviewers

  • LadyBluenotes
  • Insik-Han

Poem

Hop, hop—links now snug and neat,
I nudge the paths so docs can greet.
A tiny hop, a tidy fix,
No broken trails, no search for ticks.
Rabbit approves: the README’s sweet. 🐇✨

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 clearly summarizes that the PR corrects the URL for the Next.js link on the getting-started page, which is the main change in this patch. It is concise, specific, and avoids unnecessary detail.
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

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.

@aaronjordan aaronjordan marked this pull request as ready for review October 15, 2025 17:02
Copy link
Contributor

@LadyBluenotes LadyBluenotes left a comment

Choose a reason for hiding this comment

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

Great catch! I must've missed this one.

@schiller-manuel This is good to go whenever you can merge it :)

@aaronjordan
Copy link
Contributor Author

It seems like the label [TanStack Start CLI] should also go to quick-start. Should I append that here?

image

@LadyBluenotes
Copy link
Contributor

@aaronjordan you can, absolutely.

@aaronjordan
Copy link
Contributor Author

Got it. Thank you for the speedy feedback!

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 373cbee and da30416.

📒 Files selected for processing (1)
  • docs/start/framework/react/getting-started.md (1 hunks)
🧰 Additional context used
📓 Path-based instructions (2)
docs/**/*.{md,mdx}

📄 CodeRabbit inference engine (AGENTS.md)

Use internal docs links relative to the docs/ folder (e.g., ./guide/data-loading)

Files:

  • docs/start/framework/react/getting-started.md
docs/{router,start}/**

📄 CodeRabbit inference engine (AGENTS.md)

Place router docs under docs/router/ and start framework docs under docs/start/

Files:

  • docs/start/framework/react/getting-started.md
🪛 LanguageTool
docs/start/framework/react/getting-started.md

[grammar] ~10-~10: There might be a mistake here.
Context: ...or your specific framework: - Next.js - Remix 2 / React Router 7 "Framework Mode...

(QB_NEW_EN)

- [Start a new project from scratch](#start-a-new-project-from-scratch) to quickly learn how Start works (see below)
- Refer to a migration guide for your specific framework:
- [Next.js](../guide/migrate-from-next-js)
- [Next.js](../migrate-from-next-js)
Copy link
Contributor

@coderabbitai coderabbitai bot Oct 15, 2025

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

Broken relative path to Next.js migration guide

Using ../migrate-from-next-js climbs out of the react/ directory, landing on a non-existent framework/migrate-from-next-js page. Switch to the local ./migrate-from-next-js path so the link resolves to framework/react/migrate-from-next-js.

-  - [Next.js](../migrate-from-next-js)
+  - [Next.js](./migrate-from-next-js)
📝 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
- [Next.js](../migrate-from-next-js)
- [Next.js](./migrate-from-next-js)
🧰 Tools
🪛 LanguageTool

[grammar] ~10-~10: There might be a mistake here.
Context: ...or your specific framework: - Next.js - Remix 2 / React Router 7 "Framework Mode...

(QB_NEW_EN)

🤖 Prompt for AI Agents
In docs/start/framework/react/getting-started.md around line 10, the link to the
Next.js migration guide uses a broken relative path "../migrate-from-next-js"
which climbs out of the react/ directory; change it to the local relative path
"./migrate-from-next-js" so the link resolves to
framework/react/migrate-from-next-js (update the Markdown link target
accordingly).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This and the other link change follow the precedent in the file of links that work properly. I'm not close enough to the project to know why they're all beginning with ../.

Would be interested to learn if there's an easy explanation 🙂

Copy link
Contributor

Choose a reason for hiding this comment

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

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Explore the directory structure around the getting-started.md file
echo "=== Directory structure of docs/start/framework ==="
fd . docs/start/framework --type d --max-depth 3 | sort

echo -e "\n=== Finding the migrate-from-next-js file ==="
fd migrate-from-next-js docs/start/framework

echo -e "\n=== List all markdown files in docs/start/framework/react ==="
fd . docs/start/framework/react --type f -e md | sort

echo -e "\n=== Check if there's a guide directory ==="
if [ -d "docs/start/framework/guide" ]; then
    echo "guide directory exists"
    fd . docs/start/framework/guide --type f -e md | sort
else
    echo "No guide directory found"
fi

echo -e "\n=== List all markdown files directly under docs/start/framework ==="
fd . docs/start/framework --type f -e md --max-depth 1 | sort

Length of output: 2032


🏁 Script executed:

#!/bin/bash
# Find documentation framework configuration files
echo "=== Looking for documentation framework config files ==="
fd -e json -e js -e ts config docs/ --max-depth 3 2>/dev/null || echo "No config in docs/"

echo -e "\n=== Checking root for common doc framework configs ==="
ls -la | grep -E "(docusaurus|vitepress|nextra|vocs|astro)" || echo "No obvious framework config in root"

echo -e "\n=== Looking for package.json to identify framework ==="
if [ -f "package.json" ]; then
    echo "Found package.json, checking for doc frameworks..."
    cat package.json | jq -r '.dependencies, .devDependencies | to_entries[] | select(.key | contains("docs") or contains("docusaurus") or contains("vitepress") or contains("nextra") or contains("vocs") or contains("astro")) | "\(.key): \(.value)"' 2>/dev/null || echo "Using jq failed, trying grep..."
    grep -E "\"(docusaurus|vitepress|nextra|vocs|astro|@tanstack)" package.json | head -20
fi

echo -e "\n=== Looking for vocs config specifically ==="
fd vocs.config -e ts -e js --max-depth 2

echo -e "\n=== Checking the docs directory structure ==="
ls -la docs/ 2>/dev/null | head -20

Length of output: 1634


🏁 Script executed:

#!/bin/bash
# Check the docs config files
echo "=== Content of docs/start/config.json ==="
cat docs/start/config.json

echo -e "\n=== Content of docs/router/config.json ==="
cat docs/router/config.json

echo -e "\n=== Checking for TanStack config ==="
fd tanstack.config -e ts -e js --max-depth 2

echo -e "\n=== Look at the URL structure in production ==="
echo "Production URL from PR: https://tanstack.com/start/latest/docs/framework/react/getting-started"
echo "File location: docs/start/framework/react/getting-started.md"
echo ""
echo "This suggests the URL pattern:"
echo "- /start/ -> maps to docs/start/"
echo "- /latest/docs/ -> seems to be injected by the framework"
echo "- /framework/react/getting-started -> matches the file path after docs/start/"

Length of output: 29100


@aaronjordan Great question! 🙂

The ../ pattern works here because TanStack uses a custom documentation framework that handles link resolution differently from standard filesystem relative paths. Looking at the docs/start/config.json file, I can see how the routing structure is defined.

Here's what's happening:

From the file system perspective:

  • Your file: docs/start/framework/react/getting-started.md
  • Links like ../quick-start would normally resolve to docs/start/framework/quick-start.md (which doesn't exist!)

But from the documentation framework's perspective:

  • The framework uses the routing configuration in config.json where routes are defined as:
    • "to": "framework/react/getting-started"
    • "to": "framework/react/quick-start"
    • "to": "framework/react/migrate-from-next-js"

How the framework resolves ../ links:

The documentation build system treats ../ as a special prefix that gets intelligently resolved against the routing structure. When you're on a page at framework/react/getting-started and use:

  • ../quick-start → resolves to framework/react/quick-start
  • ../guide/routing → resolves to framework/react/guide/routing
  • ../migrate-from-next-js → resolves to framework/react/migrate-from-next-js

This is why your change from ../guide/migrate-from-next-js to ../migrate-from-next-js is correct—it matches the actual route structure defined in the config, where the migration guide is at framework/react/migrate-from-next-js, not framework/react/guide/migrate-from-next-js.

The ../ prefix is essentially a convention used by the TanStack docs framework to indicate "resolve this relative to the current page's context" rather than performing literal directory traversal.

Comment on lines +17 to 20
- [TanStack Start CLI](../quick-start) - Just run `npm create @tanstack/start@latest`. Local, fast, and optionally customizable
- [TanStack Builder](#) (coming soon!) - A visual interface to configure new TanStack projects with a few clicks
- [Quick Start Examples](../quick-start) Download or clone one of our official examples
- [Build a project from scratch](../build-from-scratch) - A guide to building a TanStack Start project line-by-line, file-by-file.
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

Fix quick-start and build-from-scratch link paths

All three links point to ../..., which omits the react/ segment and breaks navigation. Keep them in the current directory with ./ so they resolve to the intended framework/react/* pages.

-- [TanStack Start CLI](../quick-start) - Just run `npm create @tanstack/start@latest`. Local, fast, and optionally customizable
+- [TanStack Start CLI](./quick-start) - Just run `npm create @tanstack/start@latest`. Local, fast, and optionally customizable
...
-- [Quick Start Examples](../quick-start) Download or clone one of our official examples
+- [Quick Start Examples](./quick-start) Download or clone one of our official examples
-- [Build a project from scratch](../build-from-scratch) - A guide to building a TanStack Start project line-by-line, file-by-file.
+- [Build a project from scratch](./build-from-scratch) - A guide to building a TanStack Start project line-by-line, file-by-file.
📝 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
- [TanStack Start CLI](../quick-start) - Just run `npm create @tanstack/start@latest`. Local, fast, and optionally customizable
- [TanStack Builder](#) (coming soon!) - A visual interface to configure new TanStack projects with a few clicks
- [Quick Start Examples](../quick-start) Download or clone one of our official examples
- [Build a project from scratch](../build-from-scratch) - A guide to building a TanStack Start project line-by-line, file-by-file.
- [TanStack Start CLI](./quick-start) - Just run `npm create @tanstack/start@latest`. Local, fast, and optionally customizable
- [TanStack Builder](#) (coming soon!) - A visual interface to configure new TanStack projects with a few clicks
- [Quick Start Examples](./quick-start) Download or clone one of our official examples
- [Build a project from scratch](./build-from-scratch) - A guide to building a TanStack Start project line-by-line, file-by-file.
🧰 Tools
🪛 markdownlint-cli2 (0.18.1)

18-18: No empty links

(MD042, no-empty-links)

🤖 Prompt for AI Agents
In docs/start/framework/react/getting-started.md around lines 17 to 20, the
three internal links use ../... which drops the react/ segment and breaks
navigation; update those links to use relative paths starting with ./ (e.g.,
./quick-start and ./build-from-scratch) so they resolve within the current
framework/react directory and point to the correct pages.

@schiller-manuel schiller-manuel merged commit 4303a8a into TanStack:main Oct 15, 2025
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Everything documentation related

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants